logic wrote:ลองดูครับ
B9 =IFERROR(INDEX(data!AX$5:AX$100,SMALL(IF(data!$B$5:$B$100=$R$2,ROW(data!$B$5:$B$100)-ROW(data!$B$5)+1),ROWS(B$9:B9))),"")
เป็นสูตรอาร์เรย์ต้องกดแป้น ctrl+shift+enter แทนการกด enter ถ้าไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นไม่ถูกต้อง สูตรจะใช้ไม่ได้ แล้วค่อยคัดลอกสูตรไปขวาและลงล่างครับ

ผมขอสอบถามหน่อยครับ
ทำไมถึงต้องคัดลอกสูตรไปทางขวาและลงล่างหรอครับ
ผมลองเอาสูตรของคุณ logic มาแก้ดู ในตารางถัดไปของผม
ปรากฏว่าไม่ขึ้นเลยครับ เลยสอบถามเกี่ยวกันไหมครับ

เพราะที่ผมจะทำต่อคือ ผมจะเลือก Type เป็น CrI หรือ CrII จะให้แสดงผลของแถวนั้น
ในหน้า Sheet ("data") ที่ cell (BK,BL)
นี่คือสูตรที่ผมลองแก้ดูครับ
แต่พอผมคัดลอกลงมา แล้วไม่มาเหมือนของคุณ logic
Code: Select all
O9 = =IFERROR(INDEX(data!BK$4:BK$1000,SMALL(IF(data!$B$5:$B$1000=$U$2,ROW(data!$B$5:$B$1000)-ROW(data!$B$5)+1),ROWS(O$9:O9))),"")
ซึ่งผมมองว่า วิธีการคล้ายกันมาก
แต่ถ้าผิดพลาดประการใด ผมขอโทษด้วยนะครับ
ยินดีรับฟังคำชี้แนะจากท่านอาจารย์ทุกท่านครับ
อยากชำนาน และ เก่ง VBA ครับ