เมื่อ VLookup เปลี่ยนจากพระเอกเป็นผู้ร้าย

🤩  😡

VLookupNotGood

จากภาพนี้สูตร =VLOOKUP(F3,B3:D7,2) ที่เห็นในเซลล์ G3 สามารถหาคำตอบออกมาได้ว่ารหัส a002 ที่กรอกไว้ในเซลล์ F3 นั้น เมื่อนำไปค้นหาจากตารางข้อมูลในพื้นที่ B3:B7 มีชื่อว่า b ถูกต้อง

ไม่ใช่แค่หารหัส a002 ได้ถูกต้องเท่านั้น สูตรนี้ยังหาคำตอบให้กับรหัส a001 - a005 ได้ถูกต้องด้วย ... แต่สร้างเสร็จอย่าเพิ่งดีใจ ต้องทดสอบต่อไปว่าเจ้าพระเอกนี้จะเป็นพระเอกตัวจริงหรือเปล่า

☝️ เมื่อใดที่สร้างสูตรเสร็จ ต้องทดลองให้หาค่าที่ไม่มีด้วย

สูตร =VLOOKUP(F3,B3:D7,2) นี้ พอเปลี่ยนรหัสในเซลล์ F3 ไปเป็น a002x หรือเปลี่ยน a002 ในตาราง B3:B7 ไปเป็น a002x จะพบว่ายังหาชื่อกลับมาได้ด้วย แสดงว่าสูตรนี้ยังใช้ไม่ได้ เป็นพระเอกที่สอบตก

ต้องแก้สูตรใหม่เป็น =VLOOKUP(F3,B3:D7,2,0)

เลข 0 ที่เติมต่อท้ายในวงเล็บนั้น เป็นการสั่งให้ VLookup ทำงานแบบ Exact Match เพื่อทำให้เมื่อหาค่าที่ต้องการไม่พบ ก็จะ error ว่า Not Available N/A ขึ้นมาให้ทันที จะไม่เพี้ยนไปหาค่าอื่นมาให้

✋ ยังไม่หมดครับ ต้องจับพระเอกมาตรวจสอบหน้ากล้องอีกแบบ

ลองสั่ง copy สูตร =VLOOKUP(F3,B3:D7,2,0) จากเซลล์ G3 ไปวางที่เซลล์ H3 จะพบว่าสูตรหาตัวเลข 20 ออกมาเป็นคำตอบให้อย่างถูกต้องได้ด้วยว่ารหัส a002 นั้นมียอดเท่ากับ 20

แต่ แต่ แต่ ๆๆๆๆๆๆๆ

พอคลิกเข้าไปดูสูตรในเซลล์ H3 จะพบว่าสูตรที่วางลงไปนั้นเปลี่ยนตำแหน่งอ้างอิง จาก

=VLOOKUP(F3,B3:D7,2,0)
กลายไปเป็น
=VLOOKUP(G3,C3:E7,2,0)

สูตรไม่ได้ใช้รหัสในการค้นหาไปแล้ว และก็ไม่ได้หาค่าจากพื้นที่ตารางเดิมอีกต่อไป แต่กลับยังคงหาคำตอบถูกต้องมาให้เสียอีกแฮะ

F3 กลายเป็น G3
B3:D7 กลายเป็น C3:E7

☝️เมื่อใดที่สร้างสูตร ต้องคิดเผื่อไว้ด้วยว่าจะ copy สูตรไปใช้ที่เซลล์อื่นอีกไหม ถ้าใช่หรือจะสร้างสูตรให้ดีไปเลยตั้งแต่แรก ต้องใส่เครื่องหมาย $ ไว้ด้วย

จากเดิม
=VLOOKUP(F3,B3:D7,2,0)
ใส่ $ กำกับเป็น
=VLOOKUP($F$3,$B$3:$D$7,2,0)

จากนี้ไปไม่ว่าจะ copy ไปวางที่ไหน สูตรก็ยังคงใช้ตำแหน่งอ้างอิงตามเดิมเสมอ

การล้อคค่าที่ใช้หา F3 นั้น แล้วแต่ว่าจะนำสูตร copy ไปใช้ที่ไหนต่อ ให้เลือกใส่ $ ให้เหมาะสมครับ ส่วนตารางพื้นที่เก็บข้อมูล $B$3:$D$7 ต้องใส่ $$ เสมอ

เมื่อต้องการเปลี่ยนไปหาจำนวน 20 ก็ให้เปลี่ยนเลข 2 เป็นเลข 3 ซึ่งหมายถึงให้หาคำตอบมาจาก column ที่ 3 จากตารางพื้นที่ B3:D7

=VLOOKUP($F$3,$B$3:$D$7,3,0)

... จะตรวจสอบพระเอกอีกชั้นดีไหมเนี่ย

☝️ สูตรที่สร้างไว้นี้น่าจะเป็นพระเอกได้แล้วล่ะครับ โดยต้องมีเงื่อนไขกำกับไว้ว่า โครงสร้างของตารางเก็บข้อมูล B3:D7 นั้นต้องยังคงเดิมไปตลอดด้วยนะ ห้ามไปสลับ column หรือห้ามไปสั่ง Insert แทรก เพราะจะทำให้เลข 2, 3 ที่ใช้กำกับไว้ในสูตร ใช้ไม่ได้

นอกจากนั้นยังต้องคำนึงไว้อีกว่า ถ้ามีรายการของรหัสเพิ่มอีก จะทำยังไงให้ตำแหน่งอ้างอิง B3:B7 ขยายตัวตามให้เอง โดยที่เราไม่ต้องไปตามพระเอกมาแก้สูตรให้อีกต่อไป

++++++++++++++++++

เรื่องนี้เป็นบทเรียนหนึ่งในหลักสูตรออนไลน์ "เรื่องรีบรู้เพื่อพร้อมใช้ Excel ทำงานแบบ Fast and Easy"

 

 

Related Articles

© Copyright 1999

สงวนลิขสิทธิ์ตามกฎหมาย

ห้ามนำข้อความหรือส่วนหนึ่งส่วนใดของบทความหรือวิดีโอหรือรูปภาพไปใช้เพื่อการค้าขาย หรือเพื่อประโยชน์ส่วนตัว

อนญาตให้นำไปใช้เพื่อสาธารณประโยชน์โดยขอให้ระบุที่มาและชื่อผู้เขียนกำกับไว้ด้วยเสมอ

ลิงก์เว็บ Excel Expert Training

เว็บสำหรับ เรียนออนไลน์

เว็บสำหรับ เรียนแบบกลุ่ม-ส่วนตัว

ติดตามข่าวสารได้จาก facebook

ถามปัญหาได้ที่ กลุ่มคนรัก Excel

และไลน์กลุ่ม Excel Expert Group

ที่อยู่และการติดต่อ

สมเกียรติ ฟุ้งเกียรติ 7/1 รามคำแหง ซอย 35 หัวหมาก บางกะปิ กทม 10240 โทร 097-140-5555, 02-718-9331

Excel@ExcelExpertTraining.com

sfk234x234