ผมไม่ได้คิดถึงเรื่องลำดับการย้ายเลยครับ ได้เรียนรู้เลยครับ ขอบคุณคุณ menem มากครับ
ผมลองเพิ่มเติมสูตรแบบปรับลำดับ โดยต้องแก้ไขดังนี้ครับ
1. เพิ่มคำว่า "ว่าง" ในช่องเดิมที่ว่าง
2. สูตรของบรรทัดแรก แก้เป็น
J5 {=INDEX(F5:F19,MATCH(VLOOKUP("ว่าง",B5:C19,2,FALSE),G5:G19,0))}
K5 {=INDEX($C:$C,SMALL(IF($B$5:$B$19=J5,ROW($B$5:$B$19),""),COUNTIF($J$5:$J5,J5)),0)}
L5 =VLOOKUP("ว่าง",B5:C19,2,FALSE)
3. สูตรในบรรทัดถัดมา แก้เป็น
J6 =INDEX($F$5:$F$19,MATCH(K5,$G$5:$G$19,0))
K6 {=INDEX($C:$C,SMALL(IF($B$5:$B$19=J6,ROW($B$5:$B$19),""),COUNTIF($J$5:$J6,J6)),0)}
L6 =K5
จากนั้น Copy ลงมาด้านล่าง
สำหรับเรื่องเครื่องหมาย { } ขอย้ำอีกรอบว่า คือ Arrray Formula ห้ามพิมพ์เอง
!
| วิธีพิมพ์สูตร Array Formula
1. พิมพ์สูตรลงใน Cell ตามปกติ เช่น พิมพ์ =INDEX(F5:F19,MATCH(VLOOKUP("ว่าง",B5:C19,2,FALSE),G5:G19,0))
2. กด Ctrl + Shift + Enter (สูตรจะถูกเปลี่ยนเป็น Array Formula และเพิ่มเครื่องหมาย { } โดยอัตโนมัติ)
3. ทุกครั้งที่แก้ไขสูตร หรือคลิกเข้าไปใน Cell จะต้องกด Ctrl + Shift + Enter ทุกครั้ง |
ตัวอย่างตามไฟล์แนบ (Sheet2 - ตารางปรับลำดับแล้ว)
**แก้ไข
1. แก้ไขไฟล์ - ตัดตารางที่ไม่ได้ปรับลำดับออกเพื่อกันความสับสน
2. แก้ไขสูตรที่อ้างอิง Range ผิดพลาด
You do not have the required permissions to view the files attached to this post.