ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้

เคล็ดลับ: ลองใช้ฟังก์ชัน XLOOKUP ใหม่ VLOOKUP เวอร์ชันที่ปรับปรุงแล้วซึ่งใช้งานได้ในทุกทิศทางและส่งกลับรายการที่ตรงกันทุกรายการตามค่าเริ่มต้น ซึ่งช่วยให้ใช้งานได้ง่ายกว่าเวอร์ชันก่อนหน้า

ใช้ VLOOKUP เมื่อคุณต้องการค้นหาสิ่งต่างๆ ในตารางหรือช่วงตามแถว ตัวอย่างเช่น ค้นหาราคาของชิ้นส่วนยานยนต์ด้วยหมายเลขชิ้นส่วน หรือค้นหาชื่อพนักงานตาม ID พนักงานของพวกเขา

ในรูปแบบที่ง่ายที่สุด ฟังก์ชัน VLOOKUP จะระบุว่า:

=VLOOKUP(คุณต้องการค้นหาอะไร, คุณต้องการค้นหาอะไร, หมายเลขคอลัมน์ในช่วงมีค่าที่จะส่งกลับ, ส่งกลับค่าที่ตรงกันโดยประมาณหรือค่าที่ตรงกันทุกค่า – ระบุเป็น 1/TRUE หรือ 0/FALSE)

เบราว์เซอร์ของคุณไม่สนับสนุนวิดีโอ

เคล็ดลับ: ความลับของ VLOOKUP คือการจัดระเบียบข้อมูลของคุณ เพื่อให้ค่าที่คุณค้นหา (ผลไม้) อยู่ทางด้านซ้ายของค่าที่ส่งกลับ (จำนวน) ที่คุณต้องการค้นหา

ใช้ฟังก์ชัน VLOOKUP เพื่อหาค่าในตาราง

ไวยากรณ์ 

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

ตัวอย่างเช่น

  • =VLOOKUP(A2,A10:C20,2,TRUE)

  • =VLOOKUP("กิจจาการ",B2:E7,2,FALSE)

  • =VLOOKUP(A2,'รายละเอียดลูกค้า'! A:F,3,FALSE)

ชื่ออาร์กิวเมนต์

คำอธิบาย

lookup_value    (จำเป็น)

ค่าที่คุณต้องการค้นหา ค่าที่คุณต้องการค้นหาต้องอยู่ในคอลัมน์แรกของช่วงของเซลล์ที่คุณระบุในอาร์กิวเมนต์ table_array

ตัวอย่างเช่น ถ้า table-array ครอบคลุมเซลล์ B2:D7 โปรแกรมlookup_valueของคุณต้องอยู่ในคอลัมน์ B

Lookup_value ค่าหรือการอ้างอิงไปยังเซลล์ได้

table_array    (จำเป็น)

ช่วงของเซลล์ที่ VLOOKUP จะค้นหา lookup_value และส่งกลับค่า คุณสามารถใช้ช่วงที่มีชื่อหรือตาราง และคุณสามารถใช้ชื่อในอาร์กิวเมนต์แทนการอ้างอิงเซลล์ได้ 

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

เรียนรู้วิธีเลือกช่วงในเวิร์กชีต

col_index_num    (จำเป็น)

หมายเลขคอลัมน์ (เริ่มต้นด้วย 1 ของคอลัมน์ซ้ายtable_array )ที่ประกอบด้วยค่าที่ส่งกลับ

range_lookup    (มีหรือไม่มีก็ได้)

ค่าตรรกะที่ระบุว่าคุณต้องการให้ VLOOKUP ค้นหาค่าที่ตรงกันโดยประมาณหรือค่าที่ตรงกันพอดี:

  • ค่าที่ตรงกันโดยประมาณ - 1/TRUE จะถือว่าคอลัมน์แรกในตารางถูกเรียงลากตามตัวเลขหรือตามตัวอักษร แล้วจะค้นหาค่าที่ใกล้เคียงที่สุด นี่คือวิธีเริ่มต้นถ้าคุณไม่ได้ระบุ ตัวอย่างเช่น =VLOOKUP(90,A1:B100,2,TRUE)

  • ค่าที่ตรงกันทุกประการ - 0/FALSE จะค้นหาค่าที่ตรงกันในคอลัมน์แรก ตัวอย่างเช่น =VLOOKUP("Smith",A1:B100,2,FALSE)

เริ่มต้นอย่างไร

มีข้อมูลสี่อย่างที่คุณจำเป็นต้องมีเพื่อที่จะสร้างไวยากรณ์ VLOOKUP:

  1. ค่าที่คุณต้องการค้นหา หรือที่เรียกว่าค่าการค้นหา

  2. ช่วงที่ค่าการค้นหาอยู่ โปรดทราบว่าค่าการค้นหาควรอยู่ในคอลัมน์แรกในช่วงเพื่อให้ VLOOKUP สามารถพิมพ์ได้อย่างถูกต้องเสมอ ตัวอย่างเช่น ถ้าค่าการค้นหาอยู่ในเซลล์ C2 ช่วงของคุณควรเริ่มต้นด้วย C

  3. หมายเลขคอลัมน์ในช่วงที่ประกอบด้วยค่าที่ส่งกลับ ตัวอย่างเช่น ถ้าคุณระบุ B2:D11 เป็นช่วง คุณควรนับ B เป็นคอลัมน์แรก C เป็นคอลัมน์ที่สอง และอื่นๆ

  4. อีกทางหนึ่งคือ คุณสามารถระบุเป็น TRUE ถ้าคุณต้องการค่าที่ตรงกันโดยประมาณหรือ FALSE ถ้าคุณต้องการค่าส่งกลับเป็นค่าที่ตรงกันทุกค่า ถ้าคุณไม่ได้ระบุอะไร ค่าเริ่มต้นจะเป็น TRUE หรือค่าที่ตรงกันโดยประมาณเสมอ

ในตอนนี้ ให้นำค่าทั้งหมดทางด้านบนมารวมกันตามตัวอย่างทางด้านล่าง:

=VLOOKUP(ค่าการค้นหา, ช่วงที่ประกอบด้วยค่าการค้นหา, หมายเลขคอลัมน์ในช่วงที่ประกอบด้วยค่าที่ส่งกลับ, ค่าที่ตรงกันโดยประมาณ (TRUE) หรือ ค่าที่ตรงกันทั้งหมด (FALSE))

ตัวอย่าง

ต่อไปนี้เป็นตัวอย่างเล็กน้อยของฟังก์ชัน VLOOKUP:

ตัวอย่าง 1

=VLOOKUP (B3,B2:E7,2,FALSE)

VLOOKUP จะค้นหา การคาทานา ในคอลัมน์แรก (คอลัมน์ B) table_array B2:E7 แล้วส่งกลับ Polivier จากคอลัมน์ที่สอง (คอลัมน์ C) ของtable_array  False ส่งกลับค่าที่ตรงกันทุกค่า

ตัวอย่าง 2

=VLOOKUP (102,A2:C7,2,FALSE)

VLOOKUP จะค้นหาค่าที่ตรงกัน (FALSE) ของนามสกุล 102 (lookup_value) ในคอลัมน์ที่สอง (คอลัมน์ B) ในช่วง A2:C7 และส่งกลับค่า Fontana

ตัวอย่าง 3

=IF(VLOOKUP(103,A1:E7,2,FALSE)="Souse","Located","Not found")

IF checks to see if VLOOKUP returns Sousa as the last name of employee correspoinding to 103 (lookup_value) in A1:E7 (table_array). เนื่องจากนามสกุลที่สอดคล้องกับ 103 เป็น Leal เงื่อนไข IF เป็นเท็จ และ ไม่พบ จะแสดงขึ้น

ตัวอย่าง 4

=INT(YEARFRAC(DATE(2014,6,30),VLOOKUP(105,A2:E7,5,FLASE),1))

VLOOKUP จะค้นหาวันเกิดของพนักงานที่สอดคล้องกับ 109 (lookup_value) ในช่วง A2:E7 (table_array) แล้วส่งกลับ 04/03/1955 จากนั้น YEARFRAC จะลบวันเกิดนี้ออกจาก 2014/6/30 และส่งกลับค่า ซึ่งจะถูกแปลงด้วย INY เป็นจํานวนเต็ม 59

ตัวอย่าง 5

IF(ISNA(VLOOKUP(105,A2:E7,2,FLASE))=TRUE,"ไม่พบพนักงาน",VLOOKUP(105,A2:E7,2,FALSE))

IF ตรวจสอบว่า VLOOKUP ส่งกลับค่านามสกุลจากคอลัมน์ B เป็น 105 (lookup_value) หรือไม่ ถ้า VLOOKUP พบนามสกุล แล้ว IF จะแสดงนามสกุล มิฉะนั้น IF จะส่งกลับ ไม่พบพนักงาน ISNA จะตรวจสอบให้แน่ใจว่า ถ้าฟังก์ชัน VLOOKUP #N/A แล้ว ข้อผิดพลาดจะถูกแทนที่ด้วย Employee ไม่พบ แทนที่#N/A



ในตัวอย่างนี้ ค่าที่ส่งกลับคือ Burke ซึ่งเป็นนามสกุลที่สอดคล้องกับ 105

คุณสามารถใช้ VLOOKUP เพื่อรวมหลายตารางให้เป็นตารางเดียวได้ ตราบใดที่ตารางใดตารางหนึ่งมีเขตข้อมูลที่เหมือนกันในตารางอื่นๆ ทั้งหมด ซึ่งจะเป็นประโยชน์โดยเฉพาะอย่างยิ่งถ้าคุณต้องการแชร์เวิร์กบุ๊กกับบุคคลที่มี Excel เวอร์ชันที่เก่ากว่าที่ไม่สนับสนุนฟีเจอร์ข้อมูลที่มีหลายตารางเป็นแหล่งข้อมูล โดยการรวมแหล่งข้อมูลลงในตารางเดียวและเปลี่ยนแหล่งข้อมูลของฟีเจอร์ข้อมูลเป็นตารางใหม่ ฟีเจอร์ข้อมูลสามารถใช้ในเวอร์ชัน Excel เก่า (ถ้าฟีเจอร์ข้อมูลเองได้รับการสนับสนุนในเวอร์ชันที่เก่ากว่า)

เวิร์กชีตที่มีคอลัมน์ที่ใช้ VLOOKUP เพื่อรับข้อมูลจากตารางอื่น

ที่นี่ คอลัมน์ A-F และ H มีค่าหรือสูตรที่ใช้เฉพาะค่าบนเวิร์กชีต และส่วนที่เหลือของคอลัมน์จะใช้ VLOOKUP และค่าในคอลัมน์ A (รหัสไคลเอ็นต์) และคอลัมน์ B (ทนายความ) เพื่อรับข้อมูลจากตารางอื่น

  1. คัดลอกตารางที่มีเขตข้อมูลร่วมลงในเวิร์กชีตใหม่ และตั้งชื่อ

  2. คลิก >เครื่องมือ>ข้อมูลใน ความสัมพันธ์ เพื่อเปิดกล่องโต้ตอบ จัดการความสัมพันธ์

    กล่องโต้ตอบ จัดการความสัมพันธ์
  3. ในแต่ละความสัมพันธ์ที่แสดงรายการให้สังเกตต่อไปนี้:

    • เขตข้อมูลที่ลิงก์ตาราง (แสดงอยู่ในวงเล็บในกล่องโต้ตอบ) นี่คือรายการ lookup_value สูตร VLOOKUP ของคุณ

    • ชื่อตารางการค้นหาที่เกี่ยวข้อง นี่คือสูตร table_array ในสูตร VLOOKUP ของคุณ

    • เขตข้อมูล (คอลัมน์) ในตาราง การค้นหาที่เกี่ยวข้อง ที่มีข้อมูลที่คุณต้องการในคอลัมน์ใหม่ของคุณ ข้อมูลนี้จะไม่แสดงในกล่องโต้ตอบ จัดการความสัมพันธ์ - คุณจะต้องดูที่ตารางการค้นหาที่เกี่ยวข้องเพื่อดูเขตข้อมูลที่คุณต้องการเรียกใช้ คุณต้องการจดหมายเลขคอลัมน์ (A=1) ซึ่งเป็นค่า col_index_numในสูตร ของคุณ

  4. เมื่อต้องการเพิ่มเขตข้อมูลลงในตารางใหม่ ให้ใส่สูตร VLOOKUP ของคุณในคอลัมน์ว่างคอลัมน์แรกโดยใช้ข้อมูลที่คุณรวบรวมไว้ในขั้นตอนที่ 3

    ในตัวอย่างของเรา คอลัมน์ G ใช้ Attorney (the lookup_value) เพื่อรับข้อมูลอัตราการเรียกเก็บเงินจากคอลัมน์ที่สี่ (col_index_num = 4) จากตารางเวิร์กชีตทนายความ, tblAttorneys (the table_array) ด้วยสูตร=VLOOKUP([@Attorney],tbl_Attorneys,4,FALSE)

    สูตรอาจใช้การอ้างอิงเซลล์และการอ้างอิงช่วง ในตัวอย่างของเรา จะเป็น =VLOOKUP(A2,'Attorneys'! A:D,4,FALSE)

  5. เพิ่มเขตข้อมูลต่อไปจนกว่าคุณจะมีเขตข้อมูลทั้งหมดที่คุณต้องการ ถ้าคุณพยายามเตรียมเวิร์กบุ๊กที่มีฟีเจอร์ข้อมูลที่ใช้หลายตาราง ให้เปลี่ยนแหล่งข้อมูลของฟีเจอร์ข้อมูลเป็นตารางใหม่

ปัญหา

สิ่งที่ผิดพลาด

ค่าที่ส่งกลับไม่ถูกต้อง

If range_lookup is TRUE or left out, the first column needs to be sorted alphabetically or numerically. ถ้าคอลัมน์แรกไม่เรียงล.ก. ค่าที่ส่งกลับอาจเป็นสิ่งที่คุณคาดไว้ จัดเรียงคอลัมน์แรก หรือใช้ FALSE เพื่อหาค่าที่ตรงกันทุกประการ

#N/A ในเซลล์

  • ถ้า range_lookup เป็น TRUE และถ้าค่าใน lookup_value น้อยกว่าค่าที่น้อยที่สุดในคอลัมน์แรกของ table_array คุณจะได้รับค่าความผิดพลาด #N/

  • ถ้า range_lookup เป็น FALSE ค่าความผิดพลาด #N/A จะหมายความว่า ไม่พบตัวเลขที่ตรงกันทุกประการ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการแก้ไขข้อผิดพลาด #N/A ใน VLOOKUP ให้ดู วิธีแก้ไขข้อผิดพลาด #N/A ในฟังก์ชัน VLOOKUP

#REF! ในเซลล์

ถ้าคุณ col_index_num มากกว่าจํานวนคอลัมน์ใน table-arrayคุณจะได้รับค่า#REF! ค่าผิดพลาด

For more information on resolving #REF! ใน VLOOKUP ให้ดู วิธีการแก้ไขข้อผิดพลาด#REF!.

#VALUE! ในเซลล์

ถ้า table_array น้อยกว่า 1 คุณจะได้รับรหัส#VALUE! ค่าผิดพลาด

For more information on resolving #VALUE! ใน VLOOKUP ให้ดู วิธีการแก้ไขข้อผิดพลาด #VALUE! ในฟังก์ชัน VLOOKUP.

#NAME? ในเซลล์

ข้อผิดพลาด #NAME? โดยปกติแล้ว จะหมายความว่าสูตรไม่มีเครื่องหมายอัญประกาศ เมื่อต้องการค้นหาชื่อของบุคคล ให้ตรวจสอบให้แน่ใจว่าคุณใช้เครื่องหมายอัญประกาศรอบชื่อในสูตร ตัวอย่างเช่น ใส่ชื่อเป็น "มโน" ใน =VLOOKUP("การบ้าน",B2:E7,2,FALSE)

ดู วิธีแก้ไขข้อผิดพลาด #NAME!.

ข้อผิดพลาด #SPILL! ในเซลล์

ข้อผิดพลาดเฉพาะ #SPILL! โดยปกติแล้วจะหมายความว่าสูตรของคุณใช้จุดตัดโดยนัยกับค่าการค้นหา และใช้ทั้งคอลัมน์เป็นการอ้างอิง ตัวอย่างเช่น =VLOOKUP(A:A,A:C,2,FALSE) คุณสามารถแก้ไขปัญหาได้โดยการยึดการอ้างอิงการค้นหากับตัวใช้ @ ดังนี้: =VLOOKUP( @A:A,A:C,2,FALSE) อีกวิธีหนึ่งคือ คุณสามารถใช้วิธีการ VLOOKUP แบบดั้งเดิมและอ้างอิงเซลล์เดียวแทนทั้งคอลัมน์: =VLOOKUP(A2,A:C,2,FALSE)

ให้ทำสิ่งนี้

สาเหตุ

ใช้การอ้างอิงแบบสัมบูรณ์สำหรับ range_lookup

การใช้การอ้างอิงแบบสัมบูรณ์นั้นจะช่วยคุณกรอกสูตร ดังนั้นสูตรจะค้นหาช่วงการค้นหาเดียวกันเสมอ

เรียนรู้วิธีใช้การอ้างอิงเซลล์แบบสัมบูรณ์

ไม่ได้จัดเก็บตัวเลขหรือค่าวันที่เป็นข้อความ

เมื่อค้นหาตัวเลขหรือค่าวันที่ ตรวจสอบให้แน่ใจว่าข้อมูลในคอลัมน์แรกของ table_array นั้นไม่ได้จัดเก็บเป็นค่าข้อความ มิฉะนั้น VLOOKUP อาจส่งกลับค่าที่ไม่ถูกต้องหรือที่ไม่คาดคิด

เรียงลำดับคอลัมน์แรก

เรียงลำดับคอลัมน์แรกของ table_array ก่อนจะใช้ VLOOKUP เมื่อ range_lookup เป็น TRUE

ใช้อักขระตัวแทน

ถ้า range_lookup เป็น FALSE และ lookup_value เป็นข้อความ คุณสามารถใช้อักขระตัวแทน ซึ่งก็คือเครื่องหมายคําถาม (?) และเครื่องหมายดอกจัน (*) lookup_valueได้ เครื่องหมายคําถามตรงกับอักขระตัวเดียวใดๆ เครื่องหมายดอกจันใช้เทียบได้กับอักขระหลายตัว ถ้าคุณต้องการค้นหาเครื่องหมายคําถามหรือเครื่องหมายดอกจันจริงๆ ให้พิมพ์เครื่องหมายตัวบอกตัว (~) ไว้หน้าอักขระ

ตัวอย่างเช่น =VLOOKUP("Fontan?",B2:E7,2,FALSE) จะค้นหาอินสแตนซ์ทั้งหมดของ Fontana โดยอักษรตัวสุดท้ายสามารถแตกต่างกันได้

ตรวจสอบให้แน่ใจว่าข้อมูลของคุณไม่มีอักขระที่ผิด

เมื่อค้นหาค่าข้อความในคอลัมน์แรก ตรวจสอบให้แน่ใจว่าข้อมูลในคอลัมน์แรกไม่มีช่องว่างอยู่หน้า ไม่มีช่องว่างอยู่ท้าย ไม่มีการใช้เครื่องหมายอัญประกาศแบบตรง ( ' หรือ " ) และแบบโค้ง ( ' หรือ ") หรือไม่ใช้อักขระที่ไม่สามารถพิมพ์ได้ ในกรณีเหล่านี้ VLOOKUP อาจส่งกลับค่าที่ไม่คาดคิด

เมื่อต้องการรับผลลัพธ์ที่ถูกต้องแม่นยำมากขึ้น ให้ลองใช้ ฟังก์ชัน CLEAN หรือ ฟังก์ชัน TRIM เพื่อเอาช่องว่างที่อยู่ข้างหลังค่าตารางในเซลล์ออก

ต้องการความช่วยเหลือเพิ่มเติมไหม

คุณสามารถสอบถามผู้เชี่ยวชาญใน ชุมชนด้านเทคนิคของ Excel หรือ ขอความช่วยเหลือใน Answers Community

ดูเพิ่มเติม

บัตรอ้างอิงโดยด่วน: ทบทวน VLOOKUP
บัตรอ้างอิงโดยง่าย: เคล็ดลับการแก้ไขปัญหา VLOOKUP
วิธีการแก้ไขข้อผิดพลาด #VALUE! ในฟังก์ชัน VLOOKUP
วิธีแก้ไขข้อผิดพลาด #N/A ในฟังก์ชัน VLOOKUP
ภาพรวมของสูตรใน Excel
วิธีหลีกเลี่ยงสูตรที่ใช้ไม่ได้
ตรวจหาข้อผิดพลาดในสูตร
ฟังก์ชัน Excel (ตามลำดับตัวอักษร)
ฟังก์ชัน Excel (ตามประเภท)
VLOOKUP (การแสดงตัวอย่างฟรี)

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Microsoft Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

คุณพึงพอใจกับคุณภาพการแปลแค่ไหน

สิ่งที่ส่งผลกระทบต่อประสบการณ์ใช้งานของคุณ

มีคําติชมเพิ่มเติมใดๆ หรือไม่ (ไม่บังคับ)

ขอบคุณสำหรับคำติชมของคุณ

×