ต้องรู้
- เพิ่ม lookup_value > table_array > col_index_num > range_lookupแล้วกด Enter.
- อาร์กิวเมนต์ range_lookup เป็นทางเลือก ใช้ TRUE สำหรับการจับคู่ที่ใกล้เคียงและ FALSE สำหรับการจับคู่ที่ตรงกันทั้งหมด
- ข้อผิดพลาด N/A และ REF มาจากอาร์กิวเมนต์ที่ขาดหายไปหรือไม่ถูกต้องสำหรับ lookup_value, table_array หรือ range_lookup
ฟังก์ชัน VLOOKUP ของ Excel ซึ่งย่อมาจาก "vertical lookup " จะค้นหาค่าในคอลัมน์แรกของช่วง และส่งคืนค่าในคอลัมน์อื่นในแถวเดียวกันหากคุณไม่สามารถระบุได้ว่าเซลล์ใดมีข้อมูลเฉพาะ VLOOKUP เป็นวิธีที่มีประสิทธิภาพในการค้นหาข้อมูลนั้น มีประโยชน์อย่างยิ่งในสเปรดชีตขนาดใหญ่ที่หาข้อมูลได้ยาก คำแนะนำเหล่านี้ใช้ได้กับ Excel for Microsoft 365, Excel 2019, 2016, 2013, 2010, Excel for Mac และ Excel Online
ฟังก์ชัน VLOOKUP ทำงานอย่างไร
VLOOKUP มักจะส่งคืนข้อมูลเพียงฟิลด์เดียวเป็นเอาต์พุต
มันทำงานอย่างไร:
- คุณระบุชื่อหรือ lookup_value ที่บอก VLOOKUP ว่าแถวใดของตารางข้อมูลที่จะค้นหาข้อมูลที่ต้องการ
- คุณใส่หมายเลขคอลัมน์เป็นอาร์กิวเมนต์ col_index_num ซึ่งจะบอก VLOOKUP ว่าคอลัมน์ใดมีข้อมูลที่คุณต้องการ
- ฟังก์ชันจะค้นหา lookup_value ในคอลัมน์แรกของตารางข้อมูล
- VLOOKUP จะค้นหาและส่งคืนข้อมูลจากหมายเลขคอลัมน์ที่คุณกำหนดใน col_index_num จากแถวเดียวกันกับค่าการค้นหา
VLOOKUP อาร์กิวเมนต์ของฟังก์ชันและไวยากรณ์
ไวยากรณ์สำหรับฟังก์ชัน VLOOKUP คือ:
=VLOOKUP(lookup_value, table_array, col_index_num, range_lookup)
ฟังก์ชัน VLOOKUP อาจดูสับสนเพราะมีอาร์กิวเมนต์สี่ตัว แต่ใช้งานได้ง่าย
อาร์กิวเมนต์สี่ตัวสำหรับฟังก์ชัน VLOOKUP มีดังนี้:
lookup_value (จำเป็น): ค่าที่จะค้นหาในคอลัมน์แรกของอาร์เรย์ตาราง
table_array (required) - นี่คือตารางข้อมูล (ช่วงของเซลล์) ที่ VLOOKUP ค้นหาเพื่อค้นหาข้อมูลที่คุณต้องการ
- table_array ต้องมีข้อมูลอย่างน้อยสองคอลัมน์
- คอลัมน์แรกต้องมี lookup_value
col_index_num (required) - นี่คือหมายเลขคอลัมน์ของค่าที่คุณต้องการค้นหา
- หมายเลขขึ้นต้นด้วยคอลัมน์ 1
- หากคุณอ้างอิงตัวเลขที่มากกว่าจำนวนคอลัมน์ในอาร์เรย์ของตาราง ฟังก์ชันจะส่งคืน REF! ผิดพลาด
range_lookup (ตัวเลือก) - ระบุว่าค่าการค้นหาอยู่ภายในช่วงที่มีอยู่ในอาร์เรย์ของตารางหรือไม่ อาร์กิวเมนต์ range_lookup อาจเป็น "TRUE" หรือ "FALSE" ใช้ TRUE สำหรับการจับคู่โดยประมาณและ FALSE สำหรับการจับคู่แบบตรงทั้งหมด หากไม่ระบุ ค่าจะเป็น TRUE ตามค่าเริ่มต้น
หากอาร์กิวเมนต์ range_lookup เป็น TRUE ดังนั้น:
- lookup_value คือค่าที่คุณต้องการตรวจสอบว่าอยู่ในช่วงที่กำหนดโดย table_array หรือไม่
- table_array มีช่วงทั้งหมดและคอลัมน์ที่มีค่าช่วง (เช่น สูง กลาง หรือต่ำ)
- อาร์กิวเมนต์ col_index_num คือค่าช่วงผลลัพธ์
อาร์กิวเมนต์ Range_Lookup ทำงานอย่างไร
การใช้ตัวเลือก range_lookup อาร์กิวเมนต์นั้นซับซ้อนสำหรับคนจำนวนมากที่จะเข้าใจ ดังนั้นจึงควรค่าแก่การดูตัวอย่างสั้นๆ
ตัวอย่างในภาพด้านบนใช้ฟังก์ชัน VLOOKUP เพื่อค้นหาส่วนลดตามจำนวนสินค้าที่ซื้อ
ตัวอย่างแสดงให้เห็นว่าส่วนลดสำหรับการซื้อ 19 รายการคือ 2% เนื่องจาก 19 รายการอยู่ระหว่าง 11 ถึง 21 ในคอลัมน์ Quantity ของตารางค้นหา
ด้วยเหตุนี้ VLOOKUP จะส่งกลับค่าจากคอลัมน์ที่สองของตารางค้นหาเนื่องจากแถวนั้นมีค่าต่ำสุดของช่วงนั้น อีกวิธีในการตั้งค่าตารางค้นหาช่วงคือการสร้างคอลัมน์ที่สองสำหรับค่าสูงสุด และช่วงนี้จะมีค่าต่ำสุดที่ 11 และสูงสุด 20 แต่ผลลัพธ์ก็เหมือนกัน
ตัวอย่างใช้สูตรต่อไปนี้ที่มีฟังก์ชัน VLOOKUP เพื่อค้นหาส่วนลดสำหรับปริมาณสินค้าที่ซื้อ
=VLOOKUP(C2, $C$5:$D$8, 2, TRUE)
- C2: นี่คือค่าการค้นหา ซึ่งสามารถอยู่ในเซลล์ใดก็ได้ในสเปรดชีต
- $C$5:$D$8: นี่คือตารางคงที่ที่มีช่วงทั้งหมดที่คุณต้องการใช้
- 2: นี่คือคอลัมน์ในตารางการค้นหาช่วงที่คุณต้องการให้ฟังก์ชัน LOOKUP ส่งคืน
- TRUE: เปิดใช้งานคุณลักษณะ range_lookup ของฟังก์ชันนี้
เมื่อคุณกด Enter แล้วผลลัพธ์จะกลับมาในเซลล์แรก คุณสามารถป้อนคอลัมน์ทั้งหมดโดยอัตโนมัติเพื่อค้นหาผลลัพธ์ของช่วงสำหรับเซลล์ที่เหลือในเซลล์ คอลัมน์การค้นหา
อาร์กิวเมนต์ range_lookup เป็นวิธีที่น่าสนใจในการจัดเรียงคอลัมน์ของตัวเลขคละเป็นหมวดหมู่ต่างๆ
VLOOKUP ข้อผิดพลาด: N/A และ REF
ฟังก์ชัน VLOOKUP อาจส่งคืนข้อผิดพลาดต่อไปนี้
N/A คือข้อผิดพลาด "value not available" และเกิดขึ้นภายใต้เงื่อนไขต่อไปนี้:
- ไม่พบ lookup _value ในคอลัมน์แรกของอาร์กิวเมนต์ table_array
- อาร์กิวเมนต์ Table_array ไม่ถูกต้อง ตัวอย่างเช่น อาร์กิวเมนต์อาจมีคอลัมน์ว่างทางด้านซ้ายของช่วง
- อาร์กิวเมนต์ Range_lookup ถูกตั้งค่าเป็น FALSE และไม่พบการจับคู่ที่ตรงกันทั้งหมดสำหรับอาร์กิวเมนต์ lookup_value ในคอลัมน์แรกของ table_array
- อาร์กิวเมนต์ range_lookup ถูกตั้งค่าเป็น TRUE และค่าทั้งหมดในคอลัมน์แรกของ table_array จะใหญ่กว่า lookup_value
ข้อผิดพลาด
REF! ("การอ้างอิงอยู่นอกช่วง") เกิดขึ้นหาก col_index_num มากกว่าจำนวนคอลัมน์ใน table_array