ไปยังเนื้อหาหลัก

ฟังก์ชัน Excel VLOOKUP

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


วิดีโอที่เกี่ยวข้อง


คำอธิบายทีละขั้นตอนของข้อโต้แย้ง

ดังที่แสดงในภาพด้านบน ฟังก์ชัน VLOOKUP จะใช้เพื่อค้นหาอีเมลตามหมายเลข ID ที่กำหนด ตอนนี้ฉันจะให้คำอธิบายโดยละเอียดเกี่ยวกับวิธีใช้ VLOOKUP ในตัวอย่างนี้ โดยแบ่งอาร์กิวเมนต์แต่ละรายการทีละขั้นตอน

ขั้นตอนที่ 1: เริ่มฟังก์ชัน VLOOKUP

เลือกเซลล์ (ในกรณีนี้คือ H6) เพื่อแสดงผลลัพธ์ จากนั้นเริ่มฟังก์ชัน VLOOKUP โดยพิมพ์เนื้อหาต่อไปนี้ในช่อง สูตรบาร์.

=VLOOKUP(
ขั้นตอนที่ 2: ระบุค่าการค้นหา

ขั้นแรก ระบุค่าการค้นหา (ซึ่งเป็นสิ่งที่คุณกำลังมองหา) ในฟังก์ชัน VLOOKUP ในที่นี้ ฉันอ้างอิงเซลล์ G6 ซึ่งมีหมายเลขประจำตัว 1005

=VLOOKUP(G6

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

จากนั้น ระบุช่วงของเซลล์ที่มีทั้งค่าที่คุณต้องการและค่าที่คุณต้องการส่งคืน ในกรณีนี้ ฉันเลือกช่วง B6:E12 ตอนนี้สูตรปรากฏดังนี้:

=VLOOKUP(G6,B6:E12

หมายเหตุ: หากคุณต้องการคัดลอกฟังก์ชัน VLOOKUP เพื่อค้นหาค่าหลายค่าในคอลัมน์เดียวกันและได้ผลลัพธ์ที่แตกต่างกัน คุณต้องใช้การอ้างอิงแบบสัมบูรณ์โดยการเพิ่มเครื่องหมายดอลลาร์ เช่นนี้
=VLOOKUP(G6,$B$6:$E$12
ขั้นตอนที่ 4: ระบุคอลัมน์ที่คุณต้องการส่งคืนค่า

จากนั้นระบุคอลัมน์ที่คุณต้องการส่งคืนค่า

ในตัวอย่างนี้ เนื่องจากฉันต้องการส่งคืนอีเมลตามหมายเลข ID ฉันจึงป้อนหมายเลข 4 เพื่อบอกให้ VLOOKUP ส่งกลับค่าจากคอลัมน์ที่สี่ของช่วงข้อมูล

=VLOOKUP(G6,B6:E12,4

ขั้นตอนที่ 5: ค้นหาค่าประมาณหรือค่าที่ตรงกันทั้งหมด

สุดท้าย ให้พิจารณาว่าคุณกำลังมองหาการจับคู่แบบประมาณหรือแบบตรงทั้งหมด

  • เพื่อค้นหา an คู่ที่เหมาะสมต้องใช้ FALSE เป็นอาร์กิวเมนต์สุดท้าย
  • เพื่อค้นหา an การแข่งขันโดยประมาณ, ใช้ TRUE เป็นอาร์กิวเมนต์สุดท้าย หรือเว้นว่างไว้

ในตัวอย่างนี้ ฉันใช้ FALSE สำหรับการจับคู่แบบตรงทั้งหมด ตอนนี้สูตรมีลักษณะดังนี้:

=VLOOKUP(G6,B6:E12,4,FALSE

กดปุ่ม Enter เพื่อรับผลลัพธ์

ด้วยการอธิบายแต่ละอาร์กิวเมนต์ทีละรายการในตัวอย่างข้างต้น ไวยากรณ์และอาร์กิวเมนต์ของฟังก์ชัน VLOOKUP จะเข้าใจได้ง่ายขึ้นมาก


ไวยากรณ์และอาร์กิวเมนต์

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

  • lookup_value (จำเป็น): ค่า (ค่าจริงหรือการอ้างอิงเซลล์) ที่คุณต้องการ จำไว้ว่าค่านี้ต้องอยู่ในคอลัมน์แรกของ table_array
  • Table_array (จำเป็น): ช่วงของเซลล์มีทั้งคอลัมน์ของค่าที่ค้นหาและคอลัมน์ของค่าที่ส่งกลับ
  • Col_index (จำเป็น): จำนวนเต็มแสดงถึงหมายเลขคอลัมน์ที่มีค่าส่งคืน เริ่มต้นด้วยหมายเลข 1 สำหรับคอลัมน์ซ้ายสุดของ table_array
  • ช่วง_lookup (ไม่บังคับ): ค่าตรรกะที่กำหนดว่าคุณต้องการให้ VLOOKUP ค้นหาค่าที่ตรงกันโดยประมาณหรือค่าที่ตรงกันทุกประการ
    • การจับคู่โดยประมาณ - ตั้งค่าอาร์กิวเมนต์นี้เป็น TRUE, 1 หรือทิ้งไว้ ว่างเปล่า.
      สำคัญ: หากต้องการค้นหาค่าที่ตรงกัน ค่าในคอลัมน์แรกของ table_array จะต้องเรียงลำดับจากน้อยไปหามาก ในกรณีที่ VLOOKUP ส่งกลับผลลัพธ์ที่ไม่ถูกต้อง
    • คู่ที่เหมาะสม - ตั้งค่าอาร์กิวเมนต์นี้เป็น FALSE or 0.

ตัวอย่าง

ส่วนนี้จะแสดงตัวอย่างบางส่วนเพื่อช่วยให้คุณมีความเข้าใจที่ครอบคลุมมากขึ้นเกี่ยวกับฟังก์ชัน VLOOKUP

ตัวอย่างที่ 1: การจับคู่แบบตรงทั้งหมดกับการจับคู่โดยประมาณใน VLOOKUP

หากคุณสับสนเกี่ยวกับการจับคู่แบบตรงทั้งหมดและการจับคู่โดยประมาณเมื่อใช้ VLOOKUP ส่วนนี้สามารถช่วยให้คุณคลายความสับสนได้

ตรงกันทุกประการใน VLOOKUP

ในตัวอย่างนี้ ฉันจะค้นหาชื่อที่เกี่ยวข้องตามคะแนนที่แสดงในช่วง E6:E8 ดังนั้นฉันจึงป้อนสูตรต่อไปนี้ในเซลล์ F6 และลากตัวจัดการป้อนอัตโนมัติลงไปที่ F8 ในสูตรนี้ อาร์กิวเมนต์สุดท้ายถูกระบุเป็น FALSE เพื่อทำการค้นหาการจับคู่แบบตรงทั้งหมด

=VLOOKUP(E6,$B$6:$C$12,2,FALSE)

อย่างไรก็ตาม เนื่องจากไม่มีคะแนน 98 ในคอลัมน์แรกของช่วงข้อมูล VLOOKUP จะส่งกลับผลลัพธ์ข้อผิดพลาด #N/A

หมายเหตุ: ที่นี่ฉันล็อกอาร์เรย์ตาราง ($B$6:$C$12) ในฟังก์ชัน VLOOKUP เพื่ออ้างอิงอย่างรวดเร็ว คงเส้นคงวา ชุดข้อมูลเทียบกับค่าการค้นหาหลายค่า
การจับคู่โดยประมาณใน VLOOKUP

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

=VLOOKUP(E6,$B$6:$C$12,2,TRUE)

เนื่องจากไม่มีคะแนน 98 VLOOKUP จึงค้นหาค่าที่มากที่สุดถัดไปที่น้อยกว่า 98 ซึ่งก็คือ 95 และส่งกลับชื่อคะแนน 95 เป็นผลลัพธ์ที่ใกล้เคียงที่สุด

หมายเหตุ / รายละเอียดเพิ่มเติม:
  • ในกรณีการจับคู่โดยประมาณนี้ ค่าในคอลัมน์แรกของ table_array จะต้องเรียงลำดับจากน้อยไปหามาก มิฉะนั้น VLOOKUP อาจไม่ส่งคืนค่าที่ถูกต้อง
  • ที่นี่ฉันล็อกอาร์เรย์ของตาราง ($B$6:$C$12) ในฟังก์ชัน VLOOKUP เพื่ออ้างอิงชุดข้อมูลที่สอดคล้องกันอย่างรวดเร็วเทียบกับค่าการค้นหาหลายค่า

ตัวอย่างที่ 2: ใช้ VLOOKUP ที่มีหลายเกณฑ์

ส่วนนี้สาธิตวิธีใช้ VLOOKUP กับหลายเงื่อนไขใน Excel ดังที่แสดงในภาพหน้าจอด้านล่าง หากคุณกำลังพยายามหาเงินเดือนตามชื่อที่ระบุ (ในเซลล์ H5) และแผนก (ในเซลล์ H6) ให้ทำตามขั้นตอนด้านล่างเพื่อดำเนินการให้เสร็จสิ้น

ขั้นตอนที่ 1: เพิ่มคอลัมน์ตัวช่วยเพื่อเชื่อมค่าจากคอลัมน์การค้นหาเข้าด้วยกัน

ในกรณีนี้ เราจำเป็นต้องสร้างคอลัมน์ตัวช่วยเพื่อเชื่อมค่าจาก ชื่อนามสกุล คอลัมน์และ แผนก คอลัมน์.

  1. เพิ่มคอลัมน์ตัวช่วยทางด้านซ้ายของช่วงข้อมูลและระบุส่วนหัวของคอลัมน์นี้ ดูภาพหน้าจอ:
  2. ในคอลัมน์ตัวช่วยนี้ เลือกเซลล์แรกใต้ส่วนหัว ป้อนสูตรต่อไปนี้ใน แถบสูตรและกด เข้าสู่.
    =C6&" "&D6
    หมายเหตุ / รายละเอียดเพิ่มเติม: ในสูตรนี้ เราใช้เครื่องหมายและ (&) เพื่อรวมข้อความในสองคอลัมน์เพื่อสร้างข้อความชิ้นเดียว
    • C6 เป็นชื่อแรกของ ชื่อนามสกุล คอลัมน์ที่จะเข้าร่วม D6 เป็นแผนกแรกของ แผนก คอลัมน์ที่จะเข้าร่วม
    • ค่าของเซลล์ทั้งสองนี้เชื่อมกันด้วยช่องว่างระหว่าง
  3. เลือกเซลล์ผลลัพธ์นี้ จากนั้นลาก ที่จับการป้อนอัตโนมัติ ลงเพื่อใช้สูตรนี้กับเซลล์อื่นในคอลัมน์เดียวกัน
ขั้นตอนที่ 2: ใช้ฟังก์ชัน VLOOKUP กับเกณฑ์ที่กำหนด

เลือกเซลล์ที่คุณต้องการแสดงผลลัพธ์ (ในที่นี้ฉันเลือก I7) ป้อนสูตรต่อไปนี้ใน แถบสูตรจากนั้นกด เข้าสู่.

=VLOOKUP(I5& " "&I6,B6:F12,5,FALSE)
ผล

หมายเหตุ / รายละเอียดเพิ่มเติม:
  • ต้องใช้คอลัมน์ตัวช่วยเป็นคอลัมน์แรกของช่วงข้อมูล
  • ตอนนี้คอลัมน์เงินเดือนเป็นคอลัมน์ที่ห้าของช่วงข้อมูล เราจึงใช้ตัวเลขนี้ 5 เป็นดัชนีคอลัมน์ในสูตร
  • เราต้องเข้าร่วมเกณฑ์ใน I5 และ I6 (I5& " "&I6) แบบเดียวกับคอลัมน์ตัวช่วยและใช้ค่าที่ต่อกันเป็น lookup_value อาร์กิวเมนต์ในสูตร
  • คุณยังสามารถใส่เงื่อนไขทั้งสองโดยตรงในอาร์กิวเมนต์ lookup_value และคั่นด้วยช่องว่าง (หากเงื่อนไขเป็นข้อความ อย่าลืมใส่เครื่องหมายคำพูดคู่)
    =VLOOKUP("Albee IT",B6:F12,5,FALSE)
  • ทางเลือกที่ดีกว่า - ค้นหาด้วยหลายเกณฑ์ในไม่กี่วินาที
    พื้นที่ การค้นหาแบบหลายเงื่อนไข คุณลักษณะของ Kutools for Excel สามารถช่วยให้คุณค้นหาด้วยหลายเกณฑ์ได้อย่างง่ายดายในไม่กี่วินาที ทดลองใช้ฟีเจอร์เต็มรูปแบบฟรี 30 วันทันที!

ข้อผิดพลาดทั่วไปของ VLOOKUP และแนวทางแก้ไข

ส่วนนี้แสดงรายการข้อผิดพลาดทั่วไปที่คุณอาจพบเมื่อใช้ VLOOKUP และนำเสนอวิธีแก้ไข

  ภาพรวมของข้อผิดพลาดทั่วไปของ VLOOKUP:
          
         เหตุผลที่ 1: ค่าการค้นหาไม่ได้อยู่ในคอลัมน์แรก  
     เหตุผลที่ 2: ไม่พบค่าการค้นหา  
  ------  เหตุผลที่ 3: ค่าการค้นหาน้อยกว่าค่าที่น้อยที่สุด  
     เหตุผลที่ 4: ตัวเลขถูกจัดรูปแบบเป็นข้อความ  
       เหตุผลที่ 5: Table_array ไม่คงที่  
         
  ------  เหตุผลที่ 1: ค่าการค้นหาเกิน 255 อักขระ  
   เหตุผลที่ 2: Col_index น้อยกว่า 1  
         
  ------  เหตุผลที่ 1: Col_index มากกว่าจำนวนคอลัมน์  
   
         
  ------  เหตุผลที่ 1: คอลัมน์การค้นหาไม่ได้เรียงลำดับจากน้อยไปหามาก  
   เหตุผลที่ 2: มีการแทรกหรือลบคอลัมน์  
         

ข้อผิดพลาด #N/A กำลังส่งคืน

ข้อผิดพลาดที่พบบ่อยที่สุดกับ VLOOKUP คือข้อผิดพลาด #N/A ซึ่งหมายความว่า Excel ไม่พบค่าที่คุณต้องการ ต่อไปนี้เป็นสาเหตุบางประการที่ทำให้ VLOOKUP อาจแสดงข้อผิดพลาด #N/A

เหตุผลที่ 1: ค่าการค้นหาไม่ได้อยู่ในคอลัมน์แรกของ table_array

ข้อจำกัดอย่างหนึ่งของ Excel VLOOKUP คืออนุญาตให้คุณมองจากซ้ายไปขวาเท่านั้น ดังนั้น ค่าการค้นหาจะต้องอยู่ในคอลัมน์แรกของ table_array

ดังที่แสดงในภาพด้านล่าง ฉันต้องการคืนชื่อตามตำแหน่งงานที่กำหนด นี่คือค่าการค้นหา (ผู้จัดการฝ่ายขาย) อยู่ในคอลัมน์ที่สองของ table_array และค่าส่งคืนจะอยู่ทางซ้ายของคอลัมน์ค้นหา ดังนั้น VLOOKUP จึงส่งกลับข้อผิดพลาด #N/A

โซลูชัน

คุณสามารถใช้วิธีแก้ปัญหาต่อไปนี้เพื่อแก้ไขข้อผิดพลาดนี้

  • จัดเรียงคอลัมน์ใหม่
    คุณสามารถจัดเรียงคอลัมน์ใหม่เพื่อวางคอลัมน์ค้นหาในคอลัมน์แรกของ table_array
  • ใช้ฟังก์ชัน INDEX และ MATCH ร่วมกัน
    ในที่นี้เราใช้ฟังก์ชัน INDEX และ MATCH ร่วมกันแทน VLOOKUP เพื่อแก้ปัญหานี้
    =INDEX(B6:B12,MATCH(F6,C6:C12,0))
  • ใช้ฟังก์ชัน XLOOKUP (พร้อมใช้งานใน Excel 365, Excel 2021 และรุ่นที่ใหม่กว่า)
    =XLOOKUP(F6,C6:C12,B6:B12)

เหตุผลที่ 2: ไม่พบค่าการค้นหาในคอลัมน์การค้นหา (ตรงทั้งหมด)

หนึ่งในสาเหตุที่พบบ่อยที่สุดที่ทำให้ VLOOKUP ส่งกลับข้อผิดพลาด #N/A เป็นเพราะไม่พบค่าที่คุณต้องการ

ดังที่แสดงในตัวอย่างด้านล่าง เราจะค้นหาชื่อตามคะแนน 98 ที่กำหนดใน E6 อย่างไรก็ตาม คะแนนนี้ไม่มีอยู่ในคอลัมน์แรกของช่วงข้อมูล ดังนั้น VLOOKUP จึงแสดงผลลัพธ์ข้อผิดพลาด #N/A

โซลูชัน

หากต้องการแก้ไขข้อผิดพลาดนี้ คุณสามารถลองใช้วิธีใดวิธีหนึ่งต่อไปนี้

  • หากคุณต้องการให้ VLOOKUP ค้นหาค่าที่มากที่สุดถัดไปซึ่งน้อยกว่าค่าการค้นหา ให้เปลี่ยนอาร์กิวเมนต์สุดท้าย FALSE (ตรงเป๊ะ)ถึง TRUE (การแข่งขันโดยประมาณ). สำหรับข้อมูลเพิ่มเติมโปรดดู ตัวอย่างที่ 1: การจับคู่แบบตรงทั้งหมดกับการจับคู่โดยประมาณโดยใช้ VLOOKUP.
  • หากต้องการหลีกเลี่ยงการเปลี่ยนอาร์กิวเมนต์สุดท้ายและรับการเตือนในกรณีที่ไม่พบค่าการค้นหา คุณสามารถปิดฟังก์ชัน VLOOKUP ภายในฟังก์ชัน IFERROR:
    =IFERROR(VLOOKUP(E8,$B$6:$C$12,2,FALSE),"Not found")

เหตุผลที่ 3: ค่าการค้นหาน้อยกว่าค่าที่น้อยที่สุดในคอลัมน์การค้นหา (ค่าที่ตรงกันโดยประมาณ)

ดังที่แสดงในภาพด้านล่าง คุณกำลังค้นหาการจับคู่โดยประมาณ ค่าที่คุณกำลังค้นหา (หมายเลข ID 1001 ในกรณีนี้) น้อยกว่าค่าที่น้อยที่สุด 1002 ในคอลัมน์การค้นหา ดังนั้น VLOOKUP จะส่งกลับข้อผิดพลาด #N/A

โซลูชัน

นี่คือสองวิธีแก้ปัญหาสำหรับคุณ

  • ตรวจสอบให้แน่ใจว่าค่าการค้นหามากกว่าหรือเท่ากับค่าที่น้อยที่สุดในคอลัมน์การค้นหา
  • หากคุณต้องการให้ Excel เตือนคุณว่าไม่พบค่าการค้นหา ให้ซ้อนฟังก์ชัน VLOOKUP ไว้ในฟังก์ชัน IFERROR ดังนี้:
    =IFERROR(VLOOKUP(G6,B6:E12,4,TRUE),"Not found")

เหตุผลที่ 4: ตัวเลขถูกจัดรูปแบบเป็นข้อความ

ดังที่คุณเห็นในภาพหน้าจอด้านล่าง ผลลัพธ์ข้อผิดพลาด #N/A ในตัวอย่างนี้เกิดจากชนิดข้อมูลไม่ตรงกันระหว่างเซลล์ค้นหา (G6) และคอลัมน์ค้นหา (B6:B12) ของตารางต้นฉบับ ค่าใน G6 จะเป็นตัวเลข และค่าในช่วง B6:B12 จะเป็นตัวเลขในรูปแบบข้อความ

ปลาย: ถ้าตัวเลขถูกแปลงเป็นข้อความ สามเหลี่ยมสีเขียวเล็กๆ จะแสดงที่มุมซ้ายบนของเซลล์

โซลูชัน

ในการแก้ปัญหานี้ คุณต้องแปลงค่าการค้นหากลับเป็นตัวเลข นี่คือสองวิธีสำหรับคุณ

  • ใช้คุณสมบัติแปลงเป็นตัวเลข
    คลิกที่เซลล์ที่คุณต้องการแปลงข้อความเป็นตัวเลข เลือกปุ่มนี้  ข้างเซลล์แล้วเลือก แปลงเป็นตัวเลข.
  • ใช้เครื่องมือที่มีประโยชน์เพื่อแปลงเป็นชุดระหว่างข้อความและตัวเลข
    พื้นที่ แปลงระหว่างข้อความและตัวเลข คุณลักษณะของ Kutools for Excel ช่วยให้คุณแปลงช่วงของเซลล์จากข้อความเป็นตัวเลขและในทางกลับกันได้อย่างง่ายดาย ทดลองใช้ฟีเจอร์เต็มรูปแบบฟรี 30 วันทันที!

เหตุผลที่ 5: table_array ไม่คงที่เมื่อลากสูตร VLOOKUP ไปยังเซลล์อื่น

ดังที่แสดงในภาพหน้าจอด้านล่าง มีค่าการค้นหาสองค่าใน E6 และ E7 หลังจากได้ผลลัพธ์แรกใน F6 แล้ว ให้ลากสูตร VLOOKUP จากเซลล์ F6 ไปที่ F7 ซึ่งจะแสดงผลลัพธ์ข้อผิดพลาด #N/A นั่นเป็นเพราะการอ้างอิงเซลล์ (B6:C12) เป็นแบบสัมพัทธ์ตามค่าเริ่มต้น และปรับเปลี่ยนเมื่อคุณเลื่อนลงมาตามแถวต่างๆ อาร์เรย์ของตารางถูกย้ายลงไปที่ B7:C13 ซึ่งไม่มีคะแนนการค้นหา 73 อีกต่อไป

Solution

คุณต้องล็อคอาร์เรย์ตารางเพื่อให้คงที่โดยเพิ่ม $ ลงชื่อก่อนแถวและคอลัมน์ในการอ้างอิงเซลล์ หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับการอ้างอิงแบบสัมบูรณ์ใน Excel โปรดดูบทช่วยสอนนี้: การอ้างอิงแบบสัมบูรณ์ของ Excel (วิธีทำและใช้งาน).

ข้อผิดพลาด #VALUE ถูกส่งคืน

เงื่อนไขต่อไปนี้อาจทำให้ VLOOKUP ส่งคืนผลลัพธ์ข้อผิดพลาด #VALUE

เหตุผลที่ 1: ค่าการค้นหาเกิน 255 อักขระ

ดังที่แสดงในภาพหน้าจอด้านล่าง ค่าการค้นหาในเซลล์ H4 เกิน 255 อักขระ ดังนั้น VLOOKUP จะส่งกลับผลลัพธ์ข้อผิดพลาด #VALUE

โซลูชัน

เพื่อหลีกเลี่ยงข้อจำกัดนี้ คุณสามารถใช้ฟังก์ชันการค้นหาอื่นที่สามารถจัดการสตริงที่ยาวขึ้นได้ ลองใช้สูตรใดสูตรหนึ่งต่อไปนี้

  • ดัชนีและการจับคู่:
    =INDEX(E5:E11, MATCH(TRUE, INDEX(B5:B11=H4, 0), 0))
  • ฟังก์ชัน XLOOKUP (พร้อมใช้งานใน Excel 365, Excel 2021 และเวอร์ชันที่ใหม่กว่า):
    =XLOOKUP(H4,B5:B11,E5:E11)

เหตุผลที่ 2: อาร์กิวเมนต์ col_index น้อยกว่า 1

ดัชนีคอลัมน์ระบุหมายเลขคอลัมน์ในอาร์เรย์ของตารางที่มีค่าที่คุณต้องการส่งคืน อาร์กิวเมนต์นี้ต้องเป็นจำนวนบวกที่สอดคล้องกับคอลัมน์ที่ถูกต้องในอาร์เรย์ของตาราง

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

Solution

ในการแก้ไขปัญหานี้ ตรวจสอบให้แน่ใจว่าอาร์กิวเมนต์ดัชนีคอลัมน์ในสูตร VLOOKUP ของคุณเป็นจำนวนบวกที่สอดคล้องกับคอลัมน์ที่ถูกต้องในอาร์เรย์ของตาราง

ข้อผิดพลาด #REF กำลังส่งคืน

ส่วนนี้แสดงสาเหตุหนึ่งที่ทำให้ VLOOKUP ส่งกลับข้อผิดพลาด #REF และเสนอวิธีแก้ไขปัญหานี้

เหตุผล: อาร์กิวเมนต์ col_index มากกว่าจำนวนคอลัมน์

ดังที่คุณเห็นในภาพหน้าจอด้านล่าง อาร์เรย์ของตารางมีเพียง 4 คอลัมน์เท่านั้น อย่างไรก็ตาม ดัชนีคอลัมน์ที่คุณระบุในสูตร VLOOKUP คือ 5 ซึ่งมากกว่าจำนวนคอลัมน์ในอาร์เรย์ของตาราง ด้วยเหตุนี้ VLOOKUP จะไม่สามารถระบุตำแหน่งคอลัมน์ได้ และจะส่งกลับข้อผิดพลาด #REF ในท้ายที่สุด

โซลูชัน

  • ระบุหมายเลขคอลัมน์ที่ถูกต้อง
    ตรวจสอบให้แน่ใจว่าอาร์กิวเมนต์ดัชนีคอลัมน์ในสูตร VLOOKUP เป็นตัวเลขที่สอดคล้องกับคอลัมน์ที่ถูกต้องในอาร์เรย์ของตาราง
  • รับหมายเลขคอลัมน์โดยอัตโนมัติตามส่วนหัวของคอลัมน์ที่ระบุ
    ถ้าตารางมีหลายคอลัมน์ คุณอาจมีปัญหาในการกำหนดหมายเลขดัชนีคอลัมน์ที่ถูกต้อง ที่นี่ คุณสามารถซ้อนฟังก์ชัน MATCH ในฟังก์ชัน VLOOKUP เพื่อค้นหาตำแหน่งของคอลัมน์ตามส่วนหัวของคอลัมน์
    =VLOOKUP(G6,B6:E12,MATCH("Email",B5:E5,0),FALSE)
    หมายเหตุ: ในสูตรข้างต้น, the MATCH("อีเมล",B5:E5, 0) ฟังก์ชันใช้เพื่อรับหมายเลขคอลัมน์ของ "อีเมล" คอลัมน์ในช่วงวันที่ B6:E12 ผลลัพธ์ที่ได้คือ 4 ซึ่งใช้เป็น col_index ในฟังก์ชัน VLOOKUP

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

หากคุณพบว่า VLOOKUP ไม่ส่งคืนผลลัพธ์ที่ถูกต้อง อาจเกิดจากสาเหตุต่อไปนี้

เหตุผลที่ 1: คอลัมน์การค้นหาไม่ได้เรียงลำดับจากน้อยไปหามาก

หากคุณตั้งค่าอาร์กิวเมนต์สุดท้ายเป็น TRUE (หรือ ปล่อยให้มันว่างเปล่า) สำหรับการจับคู่โดยประมาณ และคอลัมน์การค้นหาไม่ได้เรียงลำดับจากน้อยไปหามาก ค่าผลลัพธ์อาจไม่ถูกต้อง

Solution

การเรียงลำดับคอลัมน์การค้นหาจากน้อยไปหามากสามารถช่วยคุณแก้ปัญหานี้ได้ ในการทำเช่นนี้ โปรดทำตามขั้นตอนด้านล่าง:

  1. เลือกเซลล์ข้อมูลในคอลัมน์ค้นหา ไปที่ ข้อมูล คลิกแท็บ เรียงลำดับจากน้อยที่สุดไปหามากที่สุด ใน จัดเรียงและกรอง กลุ่ม
  2. ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร คำเตือนการเรียงลำดับ กล่องโต้ตอบเลือกไฟล์ ขยายส่วนที่เลือก แล้วคลิก OK.

เหตุผลที่ 2: มีการแทรกหรือลบคอลัมน์

ดังที่แสดงในภาพหน้าจอด้านล่าง ค่าเดิมที่ฉันต้องการส่งคืนอยู่ในคอลัมน์ที่สี่ของอาร์เรย์ตาราง ดังนั้นฉันจึงระบุหมายเลข col_index เป็น 4 เมื่อแทรกคอลัมน์ใหม่ คอลัมน์ผลลัพธ์จะกลายเป็นคอลัมน์ที่ห้าของตาราง อาร์เรย์ ทำให้ VLOOKUP คืนผลลัพธ์จากคอลัมน์ที่ไม่ถูกต้อง

โซลูชัน

นี่คือสองวิธีแก้ปัญหาสำหรับคุณ

  • คุณสามารถเปลี่ยนหมายเลขดัชนีคอลัมน์ให้ตรงกับตำแหน่งของคอลัมน์ส่งคืนได้ด้วยตนเอง สูตรที่นี่ควรเปลี่ยนเป็น:
    =VLOOKUP(H6,B6:F12,5,FALSE)
  • หากคุณต้องการส่งคืนผลลัพธ์จากคอลัมน์ certian เสมอ เช่น คอลัมน์อีเมลในตัวอย่างนี้ สูตรต่อไปนี้สามารถช่วยจับคู่ดัชนีคอลัมน์โดยอัตโนมัติตามส่วนหัวของคอลัมน์ที่กำหนด โดยไม่คำนึงว่าคอลัมน์จะถูกแทรกหรือลบออกจากอาร์เรย์ของตารางหรือไม่
    =VLOOKUP(H6,B6:F12,MATCH("Email",B5:E5,0),FALSE)

หมายเหตุฟังก์ชันอื่นๆ

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

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เสริมทักษะ Excel ของคุณด้วย Kutools for Excelและสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools for Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...

kte แท็บ 201905


Office Tab นำอินเทอร์เฟซแบบแท็บมาสู่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!