เคล็ดลับ
ลองใช้ฟังก์ชัน XLOOKUP ใหม่ ซึ่งเป็นเวอร์ชันที่ได้รับการปรับปรุงของ VLOOKUP ที่ทำงานในทุกทิศทางและส่งกลับรายการที่ตรงกันตามค่าเริ่มต้น ทำให้ใช้งานง่ายและสะดวกมากกว่ารุ่นก่อน
ใช้ VLOOKUP เมื่อคุณต้องการค้นหาบางอย่างในตารางหรือช่วงตามแถว ตัวอย่างเช่น หาราคาของชิ้นส่วนอะไหล่รถยนต์ตามหมายเลขชิ้นส่วน หรือค้นหาชื่อพนักงานตาม ID พนักงานของพวกเขา
ในรูปแบบที่ง่ายที่สุด ฟังก์ชัน VLOOKUP จะระบุว่า:
=VLOOKUP(สิ่งที่คุณต้องการค้นหา ตําแหน่งที่คุณต้องการค้นหา หมายเลขคอลัมน์ในช่วงที่มีค่าที่จะส่งกลับ ส่งกลับค่าที่ตรงกันโดยประมาณหรือค่าที่ตรงกันพอดี – ระบุว่าเป็น 1/TRUE หรือ 0/FALSE)
เคล็ดลับ
- ความลับของ VLOOKUP คือการจัดระเบียบข้อมูลของคุณ เพื่อให้ค่าที่คุณค้นหา (ผลไม้) อยู่ทางด้านซ้ายของค่าที่ส่งกลับ (จำนวน) ที่คุณต้องการค้นหา
- ถ้าคุณเป็นสมาชิก Microsoft Copilot Copilot สามารถทําให้การแทรกและใช้ฟังก์ชัน VLookup หรือ XLookup ง่ายยิ่งขึ้น ดู รับข้อมูลเชิงลึกด้วย Copilot ใน Excel
รายละเอียดด้านเทคนิค
ใช้ฟังก์ชัน 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 ค้นหาค่าที่ตรงกันโดยประมาณหรือค่าที่ตรงกันพอดี:
|
เริ่มต้นอย่างไร
มีข้อมูลสี่อย่างที่คุณจำเป็นต้องมีเพื่อที่จะสร้างไวยากรณ์ VLOOKUP:
- ค่าที่คุณต้องการค้นหา หรือที่เรียกว่าค่าการค้นหา
- ช่วงที่มีค่าการค้นหาอยู่ โปรดทราบว่าค่าการค้นหาควรอยู่ในคอลัมน์แรกในช่วง เพื่อให้ VLOOKUP สามารถทํางานได้อย่างถูกต้อง ตัวอย่างเช่น ถ้าค่าการค้นหาของคุณอยู่ในเซลล์ C2 ช่วงของคุณควรเริ่มด้วย C
- หมายเลขคอลัมน์ในช่วงที่มีค่าส่งกลับ ตัวอย่างเช่น ถ้าคุณระบุ B2:D11 เป็นช่วง คุณควรนับ B เป็นคอลัมน์แรก C เป็นคอลัมน์ที่สอง และต่อๆ ไป
- นอกจากนี้ คุณยังสามารถระบุ TRUE ถ้าคุณต้องการค่าที่ตรงกันโดยประมาณ หรือระบุ FALSE ถ้าคุณต้องการค่าที่ตรงกันพอดีของค่าที่ส่งกลับ ถ้าคุณไม่ได้ระบุอะไร ค่าเริ่มต้นจะเป็น TRUE หรือ Approximate Match เสมอ
ในตอนนี้ ให้นำค่าทั้งหมดทางด้านบนมารวมกันตามตัวอย่างทางด้านล่าง:
=VLOOKUP(ค่าการค้นหา, ช่วงที่มีค่าการค้นหา, หมายเลขคอลัมน์ในช่วงที่มีค่าส่งกลับ, ค่าที่ตรงกันโดยประมาณ (TRUE) หรือค่าที่ตรงกันพอดี (FALSE))
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างเล็กน้อยของฟังก์ชัน VLOOKUP:
ตัวอย่าง 1
ตัวอย่าง 2
ตัวอย่าง 3
ตัวอย่าง 4
ตัวอย่าง 5
ปัญหาทั่วไป
| ปัญหา | สิ่งที่ผิดพลาด |
|---|---|
| ค่าที่ส่งกลับไม่ถูกต้อง | ถ้า range_lookup เป็น TRUE หรือไม่ได้เรียงลําดับคอลัมน์แรกตามตัวอักษรหรือตัวเลข ถ้าคอลัมน์แรกยังไม่ได้เรียงลําดับ ค่าที่ส่งกลับอาจเป็นค่าที่คุณไม่คาดคิด เรียงลําดับคอลัมน์แรก หรือใช้ FALSE สําหรับค่าที่ตรงกัน |
| #N/A ในเซลล์ |
|
| #REF! ในเซลล์ | ถ้า col_index_num มากกว่าจํานวนคอลัมน์ใน table-array คุณจะได้รับ #REF! เป็นค่าความผิดพลาด สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการแก้ไข #REF! ใน VLOOKUP ให้ดูวิธีแก้ไขข้อผิดพลาด #REF! |
| #VALUE! ในเซลล์ | ถ้า table_array น้อยกว่า 1 คุณจะได้รับ #VALUE! เป็นค่าความผิดพลาด สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการแก้ไข #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) จะค้นหาอินสแตนซ์ทั้งหมดของ กิจจาการ โดยอักษรตัวสุดท้ายสามารถแตกต่างกันได้ |
| ตรวจสอบให้แน่ใจว่าข้อมูลของคุณไม่มีอักขระที่ผิด | เมื่อค้นหาค่าข้อความในคอลัมน์แรก ตรวจสอบให้แน่ใจว่าข้อมูลในคอลัมน์แรกไม่มีช่องว่างอยู่ข้างหน้า ไม่มีช่องว่างอยู่ข้างหลัง ไม่มีการใช้เครื่องหมายอัญประกาศตรง (' หรือ ") และแบบปีกกา (' หรือ ") หรืออักขระที่ไม่สามารถพิมพ์ออกมาได้ ในกรณีเหล่านี้ VLOOKUP อาจส่งกลับค่าที่ไม่คาดคิด เมื่อต้องการรับผลลัพธ์ที่ถูกต้องแม่นยำมากขึ้น ให้ลองใช้ ฟังก์ชัน CLEAN หรือ ฟังก์ชัน TRIM เพื่อเอาช่องว่างที่อยู่ข้างหลังค่าตารางในเซลล์ออก |
ต้องการความช่วยเหลือเพิ่มเติมไหม
คุณสามารถสอบถามผู้เชี่ยวชาญใน ชุมชนด้านเทคนิคของ Excel หรือรับการสนับสนุนใน ชุมชนได้เสมอ