EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)งดการใช้ภาษาแชทตามกฎข้อ 1 ด้านบนครับitsadaw. wrote:ประมาณนี้อ่ะครับ
สูตรตามด้านบน กรณีไม่มีค่าตามเงื่อนไขจะแสดงค่าผิดพลาดเป็น #Num! ครับitsadaw. wrote:ถ้าสูตรในช่องR สูตรแสดงผลเป็น #Num นั้นถูกต้องแล้วนะครับ ?
snasui wrote: ไฟล์ที่แนบมานั้นสามารถเปิดดูได้ ผมจึงลบโพสต์ล่าสุดทิ้งไปครับ
เราสามารถปรับสูตรที่ R6 เป็น
=INDEX(Sheet1!$D$5:$D$477,SMALL(IF($A6=Sheet1!$B$5:$B$477,IF(1-ISNUMBER(MATCH(Sheet1!$D$5:$D$477,$F6:$Q6,0)),ROW(Sheet1!$B$5:$B$477)-ROW(Sheet1!$B$5)+1)),COLUMNS($R6:R6)))
Ctrl+Shift+Enter > Copy ไปด้านขวาและลงด้านล่าง
สูตรตามด้านบน กรณีไม่มีค่าตามเงื่อนไขจะแสดงค่าผิดพลาดเป็น #Num! ครับitsadaw. wrote:ถ้าสูตรในช่องR สูตรแสดงผลเป็น #Num นั้นถูกต้องแล้วนะครับ ?
กรณีไม่ต้องการแสดงค่าผิดพลาด #Num! สามารถปรับสูตรที่ R6 เป็น
=IF(SUM(IF($A6=Sheet1!$B$5:$B$477,IF(1-ISNUMBER(MATCH(Sheet1!$D$5:$D$477,$F6:$Q6,0)),1)))<COLUMNS($R6:R6),"",INDEX(Sheet1!$D$5:$D$477,SMALL(IF($A6=Sheet1!$B$5:$B$477,IF(1-ISNUMBER(MATCH(Sheet1!$D$5:$D$477,$F6:$Q6,0)),ROW(Sheet1!$B$5:$B$477)-ROW(Sheet1!$B$5)+1)),COLUMNS($R6:R6))))
Ctrl+Shift+Enter > Copy ไปทางขวาและลงด้านล่าง
และหากต้องการให้ค่าที่ต้องการอยู่ในเซลล์เดียวกันค่อยนำมาเชื่อมกันทีหลังได้ครับ
ทำไม่ครบครับitsadaw. wrote: ลองทำแล้วครับ ตามไฟล์แนบครับ
snasui wrote:สามารถปรับสูตรที่ R6 เป็น
=IF(SUM(IF($A6=Sheet1!$B$5:$B$477,IF(1-ISNUMBER(MATCH(Sheet1!$D$5:$D$477,$F6:$Q6,0)),1)))<COLUMNS($R6:R6),"",INDEX(Sheet1!$D$5:$D$477,SMALL(IF($A6=Sheet1!$B$5:$B$477,IF(1-ISNUMBER(MATCH(Sheet1!$D$5:$D$477,$F6:$Q6,0)),ROW(Sheet1!$B$5:$B$477)-ROW(Sheet1!$B$5)+1)),COLUMNS($R6:R6))))
Ctrl+Shift+Enter > Copy ไปทางขวาและลงด้านล่าง