คลังสูตรExcel 80 · DAX 95 · M 15
ในหน้านี้

VLOOKUP

ค้นหาและอ้างอิงระดับกลางทุกเวอร์ชัน

อัปเดต 22 ก.ย. 2569 · ตรวจ syntax และเวอร์ชันกับเอกสารของ Microsoft · ผลในตัวอย่างตรวจด้วยเครื่องมือคำนวณ 2 ชุด บางช่องใช้ผลจาก LibreOffice และตรงกับตัวคำนวณของหน้าเว็บ

VLOOKUP คืออะไร

ค้นหาค่าในคอลัมน์ซ้ายสุดของตาราง แล้วดึงค่าจากคอลัมน์ที่ระบุในแถวเดียวกัน

ใช้เมื่อไหร่

  • ดึงราคาจากรหัสสินค้า
  • ดึงชื่อ แผนก หรือตำแหน่งจากรหัสพนักงาน
  • เทียบตารางขั้นบันได เช่น ส่วนลดตามยอดซื้อ

รูปแบบสูตร

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

Argument แต่ละตัว

ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น

Argumentจำเป็นไหมความหมาย
lookup_valueจำเป็นค่าที่ต้องการค้นหา
table_arrayจำเป็นตารางข้อมูล คอลัมน์แรกต้องเป็นคอลัมน์ที่ใช้ค้นหา
col_index_numจำเป็นลำดับคอลัมน์ในตารางที่ต้องการดึง นับคอลัมน์แรกเป็น 1
[range_lookup]ไม่บังคับFALSE = ตรงทุกตัว · TRUE หรือไม่ใส่ = ค่าใกล้เคียง

ลองเลย: ตัวอย่างที่เปลี่ยนค่าได้

ข้อมูลชุดเดียวกับไฟล์ฝึก เปลี่ยนค่าในช่องกรอก หรือคลิกตัวเลขในตารางเพื่อแก้ แล้วดูผลลัพธ์เปลี่ยนทันที กดถัดไปเพื่อดูว่า Excel คิดทีละขั้นอย่างไร สีของช่วงในตารางตรงกับสีในสูตร

ค้นรหัสใน I4 ที่คอลัมน์แรกของตาราง แล้วดึงคอลัมน์ที่ 4 (ราคาขาย)

I5
=VLOOKUP(I4,A5:E14,4,FALSE)
ค่าที่ต้องการค้นหา (lookup_value) I4 = "P024"
แถวABCDEFG
4รหัสสินค้าชื่อสินค้าหมวดสินค้าราคาขาย (บาท)ผู้ผลิต
5P001น้ำส้มคั้น 100% 350 มล. (แพ็ค 12)เครื่องดื่ม420โรงงานสยามเฟรช นครปฐม
6P003น้ำดื่มสยามเฟรช 600 มล. (แพ็ค 12)เครื่องดื่ม60โรงงานสยามเฟรช นครปฐม
7P006กาแฟพร้อมดื่ม เอสเปรสโซ 240 มล. (แพ็ค 24)เครื่องดื่ม560โรงงานสยามเฟรช นครปฐม
8P009มันฝรั่งทอดกรอบ รสดั้งเดิม 75 ก. (กล่อง 24)ขนมขบเคี้ยว720หจก. เกษตรไทยพรีเมียม
9P011ข้าวเกรียบกุ้ง 60 ก. (กล่อง 36)ขนมขบเคี้ยว650บจก. ซีฟู้ด โปรเซสซิ่ง
10P017บะหมี่กึ่งสำเร็จรูป รสต้มยำกุ้ง (ลัง 30)อาหารสำเร็จรูป250โรงงานสยามเฟรช นครปฐม
11P024นม UHT รสจืด 180 มล. (ลัง 48)ผลิตภัณฑ์นม520บจก. แดรี่พลัส อุตสาหกรรม
12P030น้ำปลาแท้ 700 มล. (ลัง 12)เครื่องปรุงรส420โรงงานสยามเฟรช นครปฐม
13P036น้ำยาล้างจาน กลิ่นมะนาว 500 มล. (ลัง 24)ของใช้ในครัวเรือน540บจก. คลีนโฮม ซัพพลาย
14P039กระดาษทิชชูม้วนใหญ่ (แพ็ค 24)ของใช้ในครัวเรือน420บจก. คลีนโฮม ซัพพลาย
15
16
17
18
19
A5:E14
ช่องกรอกและผลลัพธ์
ราคาขาย (บาท) I5
ขั้นตอนการคำนวณ (4)
ลองปรับ argument

ลองพิมพ์ P025 ใน I4 แล้วเปลี่ยน range_lookup เป็นไม่ใส่ จะเห็นค่าผิดที่ไม่มีคำเตือน

คลิกตัวเลขหรือข้อความในตารางเพื่อแก้ค่า แล้วดูผลเปลี่ยนทันที · แก้สูตรได้ที่แถบสูตร หรือพิมพ์ = ในช่องว่าง
100%
ข้อมูลสมมติของสยามเฟรช ชุดเดียวกับชีต “1 ดึงราคา” ในไฟล์ฝึก (ปี ค.ศ.)
ใช้ปุ่มลูกศรเลือกช่อง กด Enter หรือ F2 เพื่อแก้ พิมพ์ = เพื่อเขียนสูตร
  • อ่านสูตร: หา I4 ในคอลัมน์แรกของ A5:E14 แล้วดึงค่าคอลัมน์ที่ 4 ในแถวเดียวกัน
  • FALSE = ต้องตรงทุกตัว ใส่ทุกครั้งที่ค้นรหัสหรือชื่อ
  • col_index_num นับจากคอลัมน์แรกของ table_array ไม่ใช่คอลัมน์ A ของชีต

ตัวอย่างทั้งหมด 4 แบบ

  1. 1ดึงราคาจากรหัสสินค้า · ค้นรหัสใน I4 ที่คอลัมน์แรกของตาราง แล้วดึงคอลัมน์ที่ 4 (ราคาขาย)
  2. 2ดึงหลายข้อมูลจากรหัสเดียว · สูตรเหมือนกัน เปลี่ยนแค่ col_index_num เป็น 2, 3, 4, 5
  3. 3ลืมใส่ FALSE ได้ค่าผิดแบบไม่มีคำเตือน · รหัส P025 ไม่มีในตาราง แต่สูตรที่ไม่ใส่ FALSE ยังคืนราคามาให้
  4. 4ใช้ TRUE อย่างถูกวิธีกับตารางขั้นบันได · ตารางเกณฑ์เรียงจากน้อยไปมาก หายอดที่ไม่มีในตาราง แล้วได้ขั้นที่ต่ำกว่าที่ใกล้ที่สุด

ข้อผิดพลาดที่พบบ่อย

#N/Aสาเหตุ: ไม่พบค่า: ช่องว่างเกิน ตัวเลขปนข้อความ หรือค่าไม่อยู่ในคอลัมน์แรกแก้: TRIM, แปลงชนิดข้อมูล, ครอบด้วย IFNA
ได้ค่าผิดโดยไม่มี Errorสาเหตุ: ลืมใส่ FALSEแก้: ใส่ FALSE ทุกครั้งที่ต้องการตรงทุกตัว
#REF!สาเหตุ: col_index_num มากกว่าจำนวนคอลัมน์ของตารางแก้: ตรวจเลขคอลัมน์
สูตรพังหลังแทรกคอลัมน์สาเหตุ: col_index_num เป็นตัวเลขตายตัวแก้: ใช้ XLOOKUP หรือใช้ MATCH หาเลขคอลัมน์

เคล็ดลับจากห้องเรียน

ล็อกช่วงตารางด้วย $ (กด F4) ก่อนลากสูตร เช่น $A$5:$E$14
หาเลขคอลัมน์จากหัวตาราง: =VLOOKUP(I4,A5:E14,MATCH("ราคาขาย (บาท)",A4:E4,0),FALSE)
ต้องการค้นไปทางซ้าย ใช้ XLOOKUP หรือ INDEX/MATCH

ใช้กับ Excel ของคุณได้ไหม

เวอร์ชันExcel 2016Excel 2019Excel 2021Excel 2024Microsoft 365
VLOOKUP

VLOOKUP ใช้ได้ทุกเวอร์ชันที่ยังใช้กันอยู่ จึงไม่ต้องมีสูตรทางเลือก

XLOOKUP, VLOOKUP และ INDEX + MATCH

ประเด็นXLOOKUPVLOOKUPINDEX + MATCH
ค้นไปทางซ้ายได้ไม่ได้ได้
ค่าเริ่มต้นตรงทุกตัวใกล้เคียง (ต้องใส่ FALSE)ต้องใส่ 0 ใน MATCH
แทรกคอลัมน์สูตรยังถูกต้องแก้เลขคอลัมน์สูตรยังถูก
เมื่อหาไม่พบมี if_not_foundครอบด้วย IFNAครอบด้วย IFNA
ค้นจากล่างขึ้นบนsearch_mode -1ไม่ได้ต้องใช้สูตรพิเศษ
เวอร์ชัน2021 ขึ้นไปทุกเวอร์ชันทุกเวอร์ชัน

ใน Power BI ใช้อะไร

แบบ 3 · แนวคิดเดียวกัน คนละฟังก์ชันความสัมพันธ์ + RELATED หรือ LOOKUPVALUE

สร้างความสัมพันธ์แล้วดึงค่าด้วย RELATED ถ้าตารางไม่ได้เชื่อมกัน เช่น ตารางเป้า ใช้ LOOKUPVALUE

ไฟล์ฝึก VLOOKUP

9Expert-VLOOKUP-Practice-v1.2.xlsx

รุ่น 1.2 · 24/9/2026 · 27 KB · ไม่มี Macro · ข้อมูลชุดเดียวกับตัวอย่างบนเว็บ · มีเฉลยและตรวจคำตอบอัตโนมัติ
เริ่มต้นที่นี่1 ดึงราคา2 ดึงหลายคอลัมน์3 ลืมใส่ FALSE4 ขั้นบันไดแบบฝึกหัดเฉลยสรุปย่อ

โจทย์ในชีตแบบฝึกหัด

  1. ข้อ 1ราคาขายของสินค้าในช่อง C7
  2. ข้อ 2ชื่อสินค้าของรหัสในช่อง C8
  3. ข้อ 3ผู้ผลิตของรหัสในช่อง C9
  4. ข้อ 4หมวดสินค้าของรหัสในช่อง C10
  5. ข้อ 5ราคาของรหัสในช่อง C11 ถ้าไม่พบให้แสดง ไม่มีสินค้า

วิดีโอประกอบ

คลิปเรื่อง VLOOKUP จากช่อง YouTube @9expert

ในเว็บจริงจะฝังคลิปพร้อมตั้งเวลาเริ่มตรงหัวข้อนี้ ในต้นแบบเปิดผลค้นหาในช่องแทน

เปิดใน YouTube

แบบทดสอบ 3 ข้อ

1. col_index_num = 3 หมายถึงอะไร

2. ถ้าไม่ใส่ range_lookup VLOOKUP จะค้นแบบใด

3. VLOOKUP ดึงค่าจากคอลัมน์ที่อยู่ซ้ายของคอลัมน์ค้นหาได้ไหม

ไปต่อ

อยากใช้สูตรเหล่านี้กับงานจริงทั้งระบบ

ต่อยอดใน Microsoft Excel Intermediate: สูตรคำนวณพื้นฐาน IF, VLOOKUP และการทำงานกับวันที่ (2 วัน)

ดูหลักสูตร
หน้านี้ช่วยได้ไหม