ตัวอย่างที่ 1: ดึงราคาจากรหัสสินค้า (แบบตรงตัว)
=VLOOKUP("A-001", ProductTable, 3, FALSE)
1,250
ค้นหาค่าตามคอลัมน์ซ้ายสุดและดึงผลลัพธ์จากคอลัมน์ที่กำหนด
VLOOKUP ค้นหาค่าที่ต้องการในคอลัมน์ซ้ายสุดของตาราง จากนั้นดึงค่าจากคอลัมน์ที่ระบุในแถวเดียวกันได้อย่างรวดเร็ว เหมาะสำหรับการอ้างอิงข้อมูลมาตรฐาน เช่น ราคา ชื่อสินค้า รหัสพนักงาน แต่มีข้อจำกัดคือค้นหาจากคอลัมน์ซ้ายสุดเท่านั้น
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| lookup_value | any | Yes | ค่าที่ต้องการค้นหาในคอลัมน์ซ้ายสุด | |
| table_array | range | Yes | ช่วงตารางที่ใช้ค้นหา ต้องให้คอลัมน์แรกเป็นคอลัมน์ค้นหา | |
| col_index_num | number | Yes | หมายเลขคอลัมน์ใน table_array ที่ต้องการคืนค่า (เริ่มนับที่ 1) | |
| range_lookup | logical | Optional | TRUE | เลือกการจับคู่ค่า TRUE=ประมาณค่า (ต้องเรียงข้อมูล) / FALSE=ตรงทั้งหมด |
ใช้รหัสสินค้าในคอลัมน์ซ้ายสุดแล้วดึงชื่อหรือราคาจากคอลัมน์ถัดไป
ตั้ง range_lookup=TRUE เพื่อดึงราคาตามช่วงเกรดหรือส่วนลดที่จัดเรียงไว้
ดึงชื่อหรือแผนกจากรหัสพนักงานที่ป้อนในแบบฟอร์ม
=VLOOKUP("A-001", ProductTable, 3, FALSE)
1,250
=VLOOKUP(7500, DiscountTable, 2, TRUE)
7%
=VLOOKUP("Samsung*", Inventory, 2, FALSE)
Galaxy S24
สาเหตุหลัก: 1) ใช้ range_lookup=TRUE แต่ข้อมูลไม่เรียง 2) col_index_num นับผิด 3) ตารางมีคอลัมน์ค้นหาไม่ใช่คอลัมน์ซ้ายสุด 4) มีช่องว่างหรือรูปแบบข้อมูลไม่ตรง (ตัวเลขเป็นข้อความ)
VLOOKUP ต้องให้คอลัมน์ค้นหาอยู่ซ้ายสุดและนับคอลัมน์เป็นตัวเลข ขณะที่ XLOOKUP เลือกช่วงค้นหาและช่วงผลลัพธ์ได้อิสระ ค้นหาย้อนกลับได้ และไม่ต้องนับคอลัมน์
ใช้ FALSE เมื่อต้องการผลลัพธ์ตรงทั้งหมด และข้อมูลไม่เรียงลำดับ ใช้ TRUE เมื่อข้อมูลเรียงจากน้อยไปมากและต้องการหาค่าที่ใกล้ที่สุดตามช่วง
VLOOKUP ใช้ค้นหาค่าจากคอลัมน์ซ้ายสุดของตารางแล้วดึงค่าจากคอลัมน์ที่กำหนดในแถวเดียวกัน เหมาะกับการค้นหาข้อมูลแบบแนวตั้ง