🤓 ในการสร้างสูตร VLookup แทนที่จะต้องมานับเลขที่ column เอง ให้ใช้สูตรช่วยนับดีกว่าครับ ถ้ามีการ Insert หรือสลับ column จะได้ไม่ต้องตามไปแก้สูตร VLookup ด้วยครับ
=VLOOKUP($K$12, $B$12:$I$36, MATCH(I11,$B$11:$I$11,0), 0)
=VLOOKUP($K$12, $B$12:$I$36, COLUMN(I11)-COLUMN($B$11)+1, 0)
=VLOOKUP($K$12, $B$12:$I$36, COLUMNS(B11:I11), 0)
++++++++++++++++++++++
MATCH(I11,$B$11:$I$11,0)
ช่วยเทียบหัวตารางว่าอยู่ตรงไหน
COLUMN(I11)-COLUMN($B$11)+1
หาเลขประจำตัวของ column นั้นนับจาก column ซ้ายสุด
COLUMNS(B11:I11)
นับจำนวน column ทั้งหมดจนถึงหัวตารางที่ต้องการ
Download ตัวอย่างได้จาก
https://drive.google.com/file/d/1KviA1RexXh5UMpC2ndUypFaqH4rV_5r_/view?usp=sharing
ผมเองชอบใช้ Match เพื่อหาเลขที่ column มานานและมักสอนให้ใช้ Match กันครับ เพื่อใช้สอนในการใช้กับ Index ในเรื่องต่อไป แต่ต้องระวังการนำชื่อหัวตารางไปเทียบว่าต้องสะกดตรงกันด้วย ทางที่ดีควรใช้หัวตารางเดิม I11 ไปเทียบกับพื้นที่หัวตารางจาก B11:I11 ทั้งหมดเสมอ อย่าไปเอาหัวตารางตรง L11 ไปใช้เทียบแทน I11
วิธีแรกที่ใช้ Match กับวิธีที่ 3 ที่ใช้ Columns อาจไม่สะดวกตอนต้องลากพื้นที่หัวตารางทั้งหมดมาใช้คำนวณ
ส่วนวิธีที่ 2 ซึ่งใช้สูตร Column(นั้น)-Column(แรก)+1 น่าจะสะดวกในการสร้างมากกว่าเพราะใช้อ้างอิงจากเซลล์ไม่ต้องใช้พื้นที่
จากภาพนี้ COLUMN(I11)-COLUMN($B$11)+1 หาเลขที่ column โดยทำงานแบบนี้
COLUMN(I11) จะหาเลขที่ของ column I ของคำตอบที่ต้องการได้เลขที่ 9
COLUMN($B$11) จะได้เลข 2 ของ column B ซึ่งเป็น column ซ้ายสุดของตารางฐานข้อมูล
ดังนั้น 9-2+1 จึงได้ 8 เป็นเลขที่ของ column I ในตารางพื้นที่ของฐานข้อมูล