สูตรพื้นฐาน

VLOOKUP Google Sheet สอน - วิธีใช้สูตร VLOOKUP สำหรับมือใหม่

สอนใช้สูตร VLOOKUP ใน Google Sheet แบบเข้าใจง่าย พร้อมตัวอย่างจริง ตั้งแต่ค้นหาราคาสินค้า ดึงข้อมูลพนักงาน ไปจนถึงเคล็ดลับใช้งานแบบ Pro

ทีมงาน Google Sheet Style
22 กันยายน 2025
12 นาที

VLOOKUP คืออะไร? ทำไมต้องรู้?

ถ้าเคยเจอปัญหาแบบนี้ — มีรายการสินค้าอยู่ชีตหนึ่ง แล้วต้องการดึงราคาจากอีกชีตหนึ่งมาใส่ หรือมีรหัสพนักงานแล้วต้องการหาชื่อและแผนกของคนนั้น — VLOOKUP คือสูตรที่จะช่วยเราได้

VLOOKUP ย่อมาจาก Vertical Lookup หรือ "การค้นหาแนวตั้ง" เป็นสูตรที่ใช้ค้นหาข้อมูลในตารางโดยดูจากคอลัมน์แรก แล้วดึงค่าจากคอลัมน์อื่นในแถวเดียวกันมาแสดง เปรียบเทียบง่ายๆ เหมือนเราเปิดสมุดโทรศัพท์ หาชื่อคนจากคอลัมน์ซ้าย แล้วดูเบอร์โทรจากคอลัมน์ขวา

ทำไม VLOOKUP ถึงสำคัญ?

  • เป็นสูตรที่ใช้บ่อยที่สุดในการทำงานกับ Google Sheet
  • ช่วยลดการพิมพ์ข้อมูลซ้ำ ลดความผิดพลาด
  • เชื่อมข้อมูลจากหลายตารางเข้าด้วยกันได้อัตโนมัติ
  • เป็นพื้นฐานสำคัญก่อนเรียนสูตรขั้นสูงอย่าง INDEX MATCH

ในบทความนี้เราจะสอนตั้งแต่โครงสร้างสูตร ตัวอย่างการใช้งานจริง ไปจนถึงข้อผิดพลาดที่พบบ่อยและวิธีแก้ไข เหมาะสำหรับคนที่เพิ่งเริ่มต้นใช้ Google Sheet หรือเคยใช้แต่ยังไม่เข้าใจ VLOOKUP ดีพอ

โครงสร้างสูตร VLOOKUP

สูตร VLOOKUP ใน Google Sheet มี 4 ส่วนหลัก ลองทำความเข้าใจทีละส่วน:

=VLOOKUP(search_key, range, index, is_sorted)
1

search_key — ค่าที่ต้องการค้นหา

คือค่าที่ต้องการหาในตาราง เช่น รหัสสินค้า "P001" หรืออ้างอิงจากเซลล์ เช่น A2

ตัวอย่าง: "P001" หรือ A2
2

range — ช่วงข้อมูลที่จะค้นหา

คือตารางข้อมูลทั้งหมดที่ VLOOKUP จะค้นหา คอลัมน์แรกของช่วงนี้ต้องเป็นคอลัมน์ที่มีค่าที่ต้องการค้นหา

ตัวอย่าง: A2:C10 หรือ Sheet2!A:C
3

index — เลขคอลัมน์ที่ต้องการดึงค่า

นับจากคอลัมน์แรกของ range เป็น 1 คอลัมน์ถัดไปเป็น 2, 3, ... ไปเรื่อยๆ

ตัวอย่าง: 2 (ดึงค่าจากคอลัมน์ที่ 2 ของ range)
4

is_sorted — ค้นหาแบบตรงหรือประมาณ

FALSE = ค้นหาแบบตรงทุกตัวอักษร (แนะนำสำหรับมือใหม่) / TRUE = ค้นหาแบบประมาณ (ข้อมูลต้องเรียงจากน้อยไปมาก)

แนะนำ: ใช้ FALSE เสมอ ยกเว้นกรณีพิเศษ

จำง่ายๆ แบบนี้:

VLOOKUP = "หาอะไร จากตารางไหน เอาคอลัมน์ที่เท่าไหร่ หาแบบตรงหรือประมาณ"

ตัวอย่าง 1: ค้นหาราคาสินค้า

สมมติเรามีร้านขายของออนไลน์ มีตารางรายการสินค้าพร้อมราคาอยู่แล้ว ต้องการพิมพ์รหัสสินค้าแล้วให้ราคาแสดงขึ้นมาอัตโนมัติ

ตารางสินค้า (A1:C6)

รหัสสินค้าชื่อสินค้าราคา (บาท)
P001เสื้อยืดสีขาว250
P002กางเกงยีนส์890
P003หมวกแก๊ป199
P004รองเท้าผ้าใบ1,290
P005กระเป๋าสะพาย590

ดึงราคาสินค้า P003

=VLOOKUP("P003", A2:C6, 3, FALSE)

ผลลัพธ์: 199

อธิบายทีละส่วน:

ส่วนค่าความหมาย
search_key"P003"ค้นหารหัสสินค้า P003
rangeA2:C6ค้นหาในตารางตั้งแต่ A2 ถึง C6
index3ดึงค่าจากคอลัมน์ที่ 3 (ราคา)
is_sortedFALSEค้นหาแบบตรงทุกตัวอักษร

ดึงชื่อสินค้าแทนราคา

ถ้าต้องการดึงชื่อสินค้าแทนราคา แค่เปลี่ยน index จาก 3 เป็น 2:

=VLOOKUP("P003", A2:C6, 2, FALSE)

ผลลัพธ์: หมวกแก๊ป

เคล็ดลับ

ในการใช้งานจริง แทนที่จะพิมพ์ "P003" ลงในสูตรตรงๆ ให้อ้างอิงจากเซลล์แทน เช่น=VLOOKUP(E2, A2:C6, 3, FALSE)แล้วพิมพ์รหัสสินค้าในเซลล์ E2 จะได้เปลี่ยนค่าค้นหาได้ง่ายโดยไม่ต้องแก้สูตร

ตัวอย่าง 2: ดึงข้อมูลพนักงาน

สมมติเราทำงาน HR มีตารางข้อมูลพนักงานทั้งหมด ต้องการค้นหาข้อมูลจากรหัสพนักงาน

ตารางพนักงาน (A1:D6)

รหัสพนักงานชื่อ-นามสกุลแผนกเงินเดือน
EMP001สมชาย ใจดีการตลาด35,000
EMP002สมหญิง รักเรียนบัญชี32,000
EMP003วิชัย เก่งมากIT45,000
EMP004มานี มีสุขการตลาด38,000
EMP005ปิยะ สุขสันต์บัญชี30,000

ค้นหาชื่อพนักงาน EMP003:

=VLOOKUP("EMP003", A2:D6, 2, FALSE)

ผลลัพธ์: วิชัย เก่งมาก

ค้นหาแผนกของพนักงาน EMP003:

=VLOOKUP("EMP003", A2:D6, 3, FALSE)

ผลลัพธ์: IT

ค้นหาเงินเดือนของพนักงาน EMP003:

=VLOOKUP("EMP003", A2:D6, 4, FALSE)

ผลลัพธ์: 45,000

สังเกตเห็นไหม?

สูตรทั้ง 3 ตัวใช้ search_key และ range เหมือนกัน แค่เปลี่ยนตัวเลข index เพื่อดึงข้อมูลจากคอลัมน์ที่ต่างกัน นี่คือความสะดวกของ VLOOKUP — เขียนสูตรครั้งเดียว ดึงได้หลายคอลัมน์

TRUE vs FALSE — ความแตกต่างของ is_sorted

พารามิเตอร์ตัวสุดท้ายของ VLOOKUP คือ is_sorted ซึ่งกำหนดวิธีการค้นหา มือใหม่หลายคนสับสนตรงนี้ มาดูความแตกต่างกัน:

FALSE (Exact Match)

  • ค้นหาค่าที่ตรงกันทุกตัวอักษร
  • ข้อมูลไม่ต้องเรียงลำดับ
  • เหมาะกับ: รหัสสินค้า, ชื่อคน, ID
  • แนะนำสำหรับมือใหม่

TRUE (Approximate Match)

  • ค้นหาค่าที่ใกล้เคียงที่สุด
  • ข้อมูลต้องเรียงจากน้อยไปมาก
  • เหมาะกับ: ช่วงคะแนน, ช่วงราคา
  • ใช้ผิดจะได้ผลลัพธ์ผิดโดยไม่แจ้งเตือน

ตัวอย่าง TRUE — คำนวณเกรดจากคะแนน

สมมติมีตารางช่วงคะแนน (ต้องเรียงจากน้อยไปมาก):

คะแนนต่ำสุดเกรด
0F
50D
60C
70B
80A
=VLOOKUP(75, A2:B6, 2, TRUE)

ผลลัพธ์: B (75 อยู่ในช่วง 70-79 จึงได้เกรด B)

คำเตือนสำหรับมือใหม่

ถ้าไม่แน่ใจว่าจะใช้ TRUE หรือ FALSE ให้ใช้ FALSE เสมอ เพราะ TRUE จะให้ผลลัพธ์ผิดโดยไม่แจ้ง error ถ้าข้อมูลไม่ได้เรียงลำดับ ทำให้ debug ยากมาก

VLOOKUP กับ Data Validation (Dropdown + Auto-fill)

การใช้ VLOOKUP คู่กับ Data Validation (Dropdown) เป็นเทคนิคที่นิยมมากใน Google Sheet เพราะช่วยให้ผู้ใช้เลือกค่าจาก Dropdown แล้วข้อมูลที่เกี่ยวข้องจะแสดงขึ้นมาอัตโนมัติ

1

สร้าง Dropdown ด้วย Data Validation

เลือกเซลล์ที่ต้องการ (เช่น E2) แล้วไปที่ Data > Data validation > List from a range

Criteria: List from a range → A2:A6
2

ใส่สูตร VLOOKUP อ้างอิงจาก Dropdown

ในเซลล์ F2 (ช่องแสดงชื่อสินค้า) ใส่สูตร:

=VLOOKUP(E2, A2:C6, 2, FALSE)

ในเซลล์ G2 (ช่องแสดงราคา) ใส่สูตร:

=VLOOKUP(E2, A2:C6, 3, FALSE)
3

ทดสอบ — เลือกสินค้าจาก Dropdown

เมื่อเลือก "P003" จาก Dropdown ในเซลล์ E2 ชื่อสินค้า "หมวกแก๊ป" จะแสดงใน F2 และราคา "199" จะแสดงใน G2 อัตโนมัติ

ประยุกต์ใช้จริง

เทคนิคนี้ใช้ได้กับหลายงาน เช่น:

  • ระบบออกใบเสนอราคา — เลือกสินค้าจาก Dropdown แล้วราคาแสดงอัตโนมัติ
  • ระบบเช็คชื่อพนักงาน — เลือกรหัสพนักงานแล้วชื่อ-แผนกแสดงอัตโนมัติ
  • ระบบสต็อกสินค้า — เลือกสินค้าแล้วจำนวนคงเหลือแสดงอัตโนมัติ

ข้อจำกัดของ VLOOKUP

แม้ VLOOKUP จะเป็นสูตรที่ใช้งานง่ายและได้ผลดี แต่ก็มีข้อจำกัดที่ควรรู้ไว้:

1. ค้นหาได้เฉพาะจากซ้ายไปขวาเท่านั้น

VLOOKUP ค้นหาค่าจากคอลัมน์แรกของ range เสมอ ไม่สามารถค้นหาจากคอลัมน์ขวาแล้วดึงค่าจากคอลัมน์ซ้ายได้

ตัวอย่าง: ถ้าตารางเรียงเป็น ชื่อสินค้า | รหัสสินค้า | ราคา เราไม่สามารถค้นหาจากรหัสสินค้า (คอลัมน์ที่ 2) ได้

2. ดึงได้แค่ค่าแรกที่เจอ

ถ้ามีข้อมูลซ้ำหลายแถว VLOOKUP จะดึงค่าจากแถวแรกที่เจอเท่านั้น ไม่สามารถดึงค่าจากแถวที่ 2, 3 ที่ตรงเงื่อนไขได้

3. ต้องนับเลขคอลัมน์เอง

ถ้าตารางมีหลายคอลัมน์ การนับเลข index อาจผิดพลาดได้ง่าย และถ้ามีการเพิ่ม/ลบคอลัมน์ในภายหลัง เลข index จะเลื่อนทำให้สูตรพัง

ทางออก

เมื่อเจอข้อจำกัดเหล่านี้ ให้ใช้ INDEX + MATCH แทน ซึ่งจะอธิบายในหัวข้อถัดไป

VLOOKUP vs INDEX MATCH — เมื่อไหร่ควรใช้อะไร

INDEX MATCH เป็นสูตรทดแทน VLOOKUP ที่ยืดหยุ่นกว่า มาดูความแตกต่าง:

คุณสมบัติVLOOKUPINDEX MATCH
ความง่ายง่ายกว่าซับซ้อนกว่านิดหน่อย
ทิศทางค้นหาซ้ายไปขวาเท่านั้นทุกทิศทาง
เพิ่ม/ลบคอลัมน์สูตรอาจพังไม่กระทบ
ความเร็ว (ข้อมูลเยอะ)ช้ากว่านิดหน่อยเร็วกว่า
เหมาะกับมือใหม่ งานง่ายๆงานซับซ้อน ข้อมูลเยอะ

เปรียบเทียบสูตร — ค้นหาราคาจากรหัสสินค้า

VLOOKUP:

=VLOOKUP("P003", A2:C6, 3, FALSE)

INDEX MATCH:

=INDEX(C2:C6, MATCH("P003", A2:A6, 0))

คำแนะนำ

สำหรับมือใหม่ แนะนำให้เริ่มจาก VLOOKUP ก่อนเพราะเข้าใจง่ายกว่า เมื่อใช้จนคล่องแล้วและเจอข้อจำกัด ค่อยเรียนรู้ INDEX MATCH เพิ่มเติม ทั้งสองสูตรให้ผลลัพธ์เหมือนกัน แค่วิธีเขียนต่างกัน

ข้อผิดพลาดที่พบบ่อยและวิธีแก้ไข

เมื่อใช้ VLOOKUP ใน Google Sheet เราอาจเจอ error เหล่านี้ มาดูสาเหตุและวิธีแก้ไข:

#N/A — ไม่พบข้อมูลที่ค้นหา

สาเหตุ:

  • ค่าที่ค้นหาไม่มีในตาราง (สะกดผิด หรือมีช่องว่างเกิน)
  • ช่วง range ไม่ครอบคลุมข้อมูลทั้งหมด
  • ชนิดข้อมูลไม่ตรง (ตัวเลข vs ข้อความ)

วิธีแก้:

=IFERROR(VLOOKUP(E2, A2:C6, 3, FALSE), "ไม่พบข้อมูล")

ใช้ IFERROR ครอบเพื่อแสดงข้อความที่เข้าใจง่ายแทน error

#REF! — อ้างอิงคอลัมน์เกินช่วง

สาเหตุ:

  • ตัวเลข index มากกว่าจำนวนคอลัมน์ใน range
  • เช่น range มี 3 คอลัมน์ แต่ใส่ index เป็น 4

วิธีแก้:

ตรวจสอบว่า index ไม่เกินจำนวนคอลัมน์ใน range เช่น range เป็น A:C (3 คอลัมน์) index ต้องไม่เกิน 3

ผลลัพธ์ผิด — ได้ค่าไม่ตรงกับที่ต้องการ

สาเหตุ:

  • ใช้ TRUE แทน FALSE (หรือไม่ใส่ is_sorted เลย — Google Sheet จะ default เป็น TRUE)
  • นับเลข index ผิด

วิธีแก้:

ใส่ FALSE เสมอ (ยกเว้นกรณีช่วงคะแนน) และนับเลข index ให้ถูกต้อง โดยนับจากคอลัมน์แรกของ range เป็น 1

ค้นหาไม่เจอทั้งที่ข้อมูลมีอยู่

สาเหตุ:

  • มีช่องว่าง (space) ซ่อนอยู่หน้าหรือหลังข้อความ
  • ข้อมูลดูเหมือนกันแต่จริงๆ ไม่ตรงกัน

วิธีแก้:

=VLOOKUP(TRIM(E2), A2:C6, 3, FALSE)

ใช้ TRIM() ครอบ search_key เพื่อลบช่องว่างส่วนเกินออก

เคล็ดลับใช้ VLOOKUP แบบ Pro

เมื่อเข้าใจพื้นฐานแล้ว ลองใช้เทคนิคเหล่านี้เพื่อทำงานได้เร็วขึ้นและแม่นยำขึ้น:

1. ใช้ $ ล็อคช่วง range

เมื่อต้อง copy สูตร VLOOKUP ไปหลายแถว ให้ใช้ $ ล็อค range เพื่อป้องกันไม่ให้ช่วงข้อมูลเลื่อนตาม:

=VLOOKUP(E2, $A$2:$C$6, 3, FALSE)

$A$2:$C$6 จะไม่เปลี่ยนเมื่อ copy สูตรลงแถวอื่น

2. ค้นหาข้ามชีต

VLOOKUP สามารถค้นหาข้อมูลจากชีตอื่นได้ โดยใส่ชื่อชีตนำหน้า:

=VLOOKUP(E2, รายการสินค้า!A:C, 3, FALSE)

ค้นหาจากชีตชื่อ "รายการสินค้า" คอลัมน์ A ถึง C

3. ใช้ IFERROR ครอบเสมอ

ในงานจริง ควรครอบ VLOOKUP ด้วย IFERROR เพื่อให้หน้าตาเรียบร้อย:

=IFERROR(VLOOKUP(E2, $A$2:$C$6, 3, FALSE), "-")

ถ้าค้นหาไม่เจอจะแสดง "-" แทน #N/A

4. ใช้ Wildcard ค้นหาแบบ "ประมาณ"

ใช้ * (ดอกจัน) เพื่อค้นหาคำที่ขึ้นต้นหรือลงท้ายด้วยคำที่ระบุ:

=VLOOKUP("P00*", A2:C6, 2, FALSE)

จะค้นหาค่าที่ขึ้นต้นด้วย "P00" (ได้ผลลัพธ์แรกที่เจอ)

5. ใช้ VLOOKUP กับ ARRAYFORMULA

ถ้าต้องการใส่ VLOOKUP ทั้งคอลัมน์ด้วยสูตรเดียว ใช้ ARRAYFORMULA:

=ARRAYFORMULA(IFERROR(VLOOKUP(E2:E, $A$2:$C$6, 3, FALSE), ""))

ใส่สูตรครั้งเดียวแล้วจะทำงานทุกแถวอัตโนมัติ

6. ตั้งชื่อ range ด้วย Named Range

แทนที่จะจำ A2:C6 ให้ตั้งชื่อช่วงข้อมูล เช่น "ตารางสินค้า" แล้วใช้ในสูตร:

=VLOOKUP(E2, ตารางสินค้า, 3, FALSE)

ไปที่ Data > Named ranges เพื่อตั้งชื่อช่วงข้อมูล อ่านง่ายกว่าใช้ตัวอักษรคอลัมน์

อยากฝึกใช้ VLOOKUP กับข้อมูลจริง?

ลองใช้เทมเพลต Google Sheet สำเร็จรูปของเรา มีสูตร VLOOKUP พร้อมใช้งาน

คำถามที่พบบ่อย

VLOOKUP ใน Google Sheet คืออะไร?

VLOOKUP (Vertical Lookup) คือสูตรใน Google Sheet ที่ใช้ค้นหาข้อมูลในตารางแนวตั้ง โดยค้นหาค่าจากคอลัมน์แรกของช่วงข้อมูล แล้วดึงค่าจากคอลัมน์ที่ต้องการในแถวเดียวกัน เช่น ค้นหารหัสสินค้าแล้วดึงราคามาแสดง

VLOOKUP ใช้ TRUE กับ FALSE ต่างกันยังไง?

FALSE (Exact Match) จะค้นหาค่าที่ตรงกันทุกประการ เหมาะกับข้อมูลเช่น รหัสสินค้า ชื่อพนักงาน ส่วน TRUE (Approximate Match) จะค้นหาค่าที่ใกล้เคียงที่สุด เหมาะกับข้อมูลที่เรียงลำดับแล้ว เช่น ช่วงคะแนนเกรด แนะนำให้มือใหม่ใช้ FALSE เสมอ

VLOOKUP ขึ้น #N/A แก้ยังไง?

Error #N/A เกิดจากค้นหาค่าไม่เจอในตาราง วิธีแก้คือ ตรวจสอบว่าค่าที่ค้นหาสะกดถูกต้อง ตรวจสอบว่าไม่มีช่องว่างเกิน และใช้ IFERROR ครอบเพื่อแสดงข้อความแทน เช่น=IFERROR(VLOOKUP(...), "ไม่พบข้อมูล")

VLOOKUP กับ INDEX MATCH ต่างกันยังไง ควรใช้อะไร?

VLOOKUP ใช้ง่ายกว่าแต่ค้นหาได้เฉพาะจากซ้ายไปขวาเท่านั้น ส่วน INDEX+MATCH ค้นหาได้ทุกทิศทาง ยืดหยุ่นกว่า ไม่ต้องนับเลขคอลัมน์ สำหรับมือใหม่แนะนำเริ่มจาก VLOOKUP ก่อน เมื่อเจอข้อจำกัดค่อยเปลี่ยนไปใช้ INDEX MATCH

VLOOKUP ใช้กับ Data Validation (Dropdown) ได้ไหม?

ได้ เป็นการใช้งานที่นิยมมาก วิธีทำคือสร้าง Dropdown ด้วย Data Validation ในเซลล์หนึ่ง แล้วใช้ VLOOKUP อ้างอิงค่าจาก Dropdown นั้นเพื่อดึงข้อมูลจากตารางมาแสดงอัตโนมัติ เช่น เลือกชื่อสินค้าจาก Dropdown แล้วราคาจะแสดงอัตโนมัติ

บทความที่เกี่ยวข้อง

VLOOKUP คู่มือฉบับสมบูรณ์

เรียนรู้ VLOOKUP แบบเชิงลึก เทคนิคขั้นสูง VLOOKUP หลายเงื่อนไข

12 นาที

วิธีใช้ Google Sheets เบื้องต้น

คู่มือสำหรับผู้เริ่มต้น ตั้งแต่สร้างไฟล์ใหม่จนใช้งานได้คล่อง

8 นาที

สูตร IF ใน Google Sheet

เรียนรู้สูตร IF ตั้งแต่พื้นฐานจนถึง IF ซ้อน IF

10 นาที

เชี่ยวชาญ Pivot Table

สร้าง Pivot Table สรุปข้อมูลอย่างมืออาชีพใน Google Sheets

10 นาที

ถ้าบทความนี้มีประโยชน์ ช่วยแชร์ให้เพื่อนๆ ด้วย