- ฟังก์ชัน VLOOKUP ใน Excel ใช้สำหรับค้นหาค่าในสเปรดชีต
- ไวยากรณ์และอาร์กิวเมนต์คือ =VLOOKUP(search_value, lookup_table, column_number, [approximate_match] )
บทความนี้อธิบายวิธีใช้ฟังก์ชัน VLOOKUP ในทุกเวอร์ชันของ Excel รวมถึง Excel 2019 และ Microsoft 365
ฟังก์ชัน VLOOKUP คืออะไร?
ฟังก์ชัน VLOOKUP ใน Excel ใช้สำหรับค้นหาสิ่งต่างๆ ในตาราง หากคุณมีแถวข้อมูลที่จัดระเบียบโดยหัวคอลัมน์ VLOOKUP สามารถใช้ค้นหาค่าโดยใช้คอลัมน์ได้
เมื่อคุณทำ VLOOKUP คุณบอก Excel ให้หาแถวที่มีข้อมูลที่คุณต้องการดึงก่อน แล้วคืนค่าที่อยู่ในคอลัมน์เฉพาะภายในแถวนั้น
ไวยากรณ์และอาร์กิวเมนต์ของฟังก์ชัน VLOOKUP
มี 4 ส่วนที่เป็นไปได้ของฟังก์ชันนี้:
=VLOOKUP(search_value, lookup_table, column_number, [approximate_match] )
- search_value คือค่าที่คุณค้นหา ต้องอยู่ในคอลัมน์แรกของ lookup_table
- lookup_table คือช่วงที่คุณค้นหาภายใน รวมถึง search_value
- column_number คือตัวเลขที่แทนว่าคอลัมน์ไหนใน lookup_table นับจากซ้าย ที่ VLOOKUP จะคืนค่าจากคอลัมน์นั้น
- approximate_match เป็นอาร์กิวเมนต์ที่ไม่จำเป็น สามารถเป็น TRUE หรือ FALSE กำหนดว่าจะค้นหาแบบแม่นยำหรือประมาณการ หากละเว้น ค่าเริ่มต้นคือ TRUE หมายถึงจะค้นหาแบบประมาณการ
ตัวอย่างฟังก์ชัน VLOOKUP
นี่คือตัวอย่างบางส่วนที่แสดงฟังก์ชัน VLOOKUP ในการทำงาน:
หาค่าข้างๆ คำจากตาราง
=VLOOKUP("Lemons",A2:B5,2)
นี่คือตัวอย่างง่ายของฟังก์ชัน VLOOKUP ที่เราต้องการหาจำนวนมะนาวในสต็อกจากรายการหลายรายการ ช่วงที่เราค้นหาคือ A2:B5 และตัวเลขที่ต้องการดึงอยู่ในคอลัมน์ 2 เนื่องจาก "In Stock" เป็นคอลัมน์ที่สองจากช่วงของเรา ผลลัพธ์คือ 22
หาหมายเลขพนักงานโดยใช้ชื่อ
=VLOOKUP(A8,B2:D7,3) =VLOOKUP(A9,A2:D7,2)
นี่คือสองตัวอย่างที่เราเขียนฟังก์ชัน VLOOKUP แตกต่างกันเล็กน้อย ทั้งคู่ใช้ชุดข้อมูลคล้ายกัน แต่เนื่องจากเราดึงข้อมูลจากคอลัมน์ที่แยกกัน คือ 3 และ 2 เราจึงระบุความแตกต่างนั้นท้ายสูตร สูตรแรกดึงตำแหน่งของคนใน A8 (Finley) ส่วนสูตรที่สองคืนชื่อที่ตรงกับหมายเลขพนักงานใน A9 (819868) เนื่องจากสูตรอ้างอิงเซลล์ ไม่ใช่สตริงข้อความเฉพาะ เราจึงสามารถละเครื่องหมายคำพูดได้
ใช้คำสั่ง IF ร่วมกับ VLOOKUP
=IF(VLOOKUP(A2,Sheet4!A2:B5,2)>10,"No","Yes")
VLOOKUP ยังสามารถรวมกับฟังก์ชัน Excel อื่นๆ และใช้ข้อมูลจากชีตอื่นได้ เราทำทั้งสองอย่างในตัวอย่างนี้ เพื่อตัดสินใจว่าต้องสั่งสินค้าในคอลัมน์ A เพิ่มหรือไม่ เราใช้ฟังก์ชัน IF เพื่อที่ถ้าค่าในตำแหน่ง 2 ใน Sheet4!A2:B5 มากกว่า 10 เราจะเขียน No เพื่อบอกว่าไม่ต้องสั่งเพิ่ม
หาตัวเลขที่ใกล้ที่สุดในตาราง
=VLOOKUP(D2,$A$2:$B$6,2)
ในตัวอย่างสุดท้ายนี้ เราใช้ VLOOKUP ค้นหาเปอร์เซ็นต์ส่วนลดที่ควรใช้สำหรับคำสั่งซื้อรองเท้าจำนวนมาก ส่วนลดที่เราค้นหาอยู่ในคอลัมน์ D ช่วงที่มีข้อมูลส่วนลดคือ A2:B6 และภายในช่วงนั้นคอลัมน์ 2 มีส่วนลด เนื่องจาก VLOOKUP ไม่ต้องหาแบบแม่นยำ approximate_match จึงเว้นว่างไว้เพื่อระบุ TRUE หากไม่พบการจับคู่ที่แม่นยำ ฟังก์ชันจะใช้จำนวนน้อยกว่าถัดไป
คุณเห็นได้ว่าในตัวอย่างแรก 60 ชิ้น ส่วนลดไม่ได้อยู่ในตารางทางซ้าย จึงใช้จำนวนน้อยกว่าถัดไปคือ 50 ซึ่งเป็นส่วนลด 75% คอลัมน์ F คือราคาสุดท้ายเมื่อคำนวณส่วนลดแล้ว
ข้อผิดพลาดและกฎของ VLOOKUP
นี่คือบางอย่างที่ต้องจำเมื่อใช้ฟังก์ชัน VLOOKUP ใน Excel:
- หาก search_value เป็นสตริงข้อความ ต้องล้อมรอบด้วยเครื่องหมายคำพูด
- Excel จะคืน #NO MATCH หาก VLOOKUP หาผลลัพธ์ไม่ได้
- Excel จะคืน #NO MATCH หากไม่มีตัวเลขใน lookup_table ที่มากกว่าหรือเท่ากับ search_value
- Excel จะคืน #REF! หาก column_number มากกว่าจำนวนคอลัมน์ใน lookup_table
- search_value อยู่ทางซ้ายสุดของ lookup_table เสมอ และเป็นตำแหน่ง 1 เมื่อกำหนด column_number
- หากระบุ FALSE สำหรับ approximate_match และไม่พบการจับคู่ที่แม่นยำ VLOOKUP จะคืน #N/A
- หากระบุ TRUE สำหรับ approximate_match และไม่พบการจับคู่ที่แม่นยำ ค่าที่น้อยกว่าถัดไปจะถูกคืน
- ตารางที่ไม่ได้เรียงลำดับควรใช้ FALSE สำหรับ approximate_match เพื่อให้คืนการจับคู่ที่แม่นยำแรก
- หาก approximate_match เป็น TRUE หรือละเว้น คอลัมน์แรกต้องเรียงตามตัวอักษรหรือตัวเลข หากไม่ได้เรียง Excel อาจคืนค่าที่ไม่คาดคิด
- การใช้อ้างอิงเซลล์แบบสัมบูรณ์ (Absolute) ให้คุณ AutoFill สูตรได้โดยไม่เปลี่ยน lookup_table
ฟังก์ชันอื่นๆ ที่คล้าย VLOOKUP
VLOOKUP ทำ Vertical Lookup (ค้นหาแนวตั้ง) หมายถึงดึงข้อมูลโดยนับคอลัมน์ หากข้อมูลจัดระเบียบแนวนอน และคุณต้องการนับลงแถวเพื่อดึงค่า คุณสามารถใช้ฟังก์ชัน HLOOKUP ได้
ฟังก์ชัน XLOOKUP คล้ายกันแต่นำทางได้ในทุกทิศทาง