วิธีเปรียบเทียบสองคอลัมน์ใน Excel โดยใช้ VLOOKUP

  • แบ่งปันสิ่งนี้
Michael Brown

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

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

    วิธีเปรียบเทียบสองคอลัมน์ใน Excel โดยใช้ VLOOKUP

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

    ในการสร้างสูตร VLOOKUP ในคอลัมน์นั้น รูปแบบพื้นฐาน นี่คือสิ่งที่คุณต้องทำ:

    • สำหรับ lookup_value (อาร์กิวเมนต์ที่ 1) ให้ใช้เซลล์บนสุดจากรายการ 1
    • สำหรับ table_array (อาร์กิวเมนต์ที่ 2) ระบุทั้งรายการ 2
    • สำหรับ col_index_num (อาร์กิวเมนต์ที่ 3) ให้ใช้ 1 เนื่องจากมีเพียงหนึ่งคอลัมน์ในอาร์เรย์
    • สำหรับ range_lookup (อาร์กิวเมนต์ที่ 4) ให้ตั้งค่าเป็น FALSE - ตรงกันทั้งหมด

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

    =VLOOKUP(A2, $C$2:$C$9, 1, FALSE)

    สูตรไปที่เซลล์ E2 แล้วลากลงมาตามเซลล์ที่มีรายการในรายการ 1

    โปรดสังเกตว่า table_array ถูกล็อคด้วยการอ้างอิงแบบสัมบูรณ์ ($C$2:$C$9) เพื่อให้คงที่เมื่อคุณคัดลอกสูตรไปยังเซลล์ด้านล่าง

    อย่างที่คุณเห็น ชื่อของ นักกีฬาที่ผ่านการรับรองจะแสดงในคอลัมน์ E สำหรับผู้เข้าร่วมที่เหลือ ข้อผิดพลาด #N/A ปรากฏขึ้นเพื่อระบุว่าชื่อของพวกเขาไม่มีอยู่ในรายการที่ 2

    ปลอมตัว #N/ ข้อผิดพลาด

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

    หากต้องการแทนที่ข้อผิดพลาดด้วย เซลล์ว่าง ให้ใช้ VLOOKUP ร่วมกับฟังก์ชัน IFNA หรือ IFERROR ด้วยวิธีนี้:

    =IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "")

    สูตรที่ปรับปรุงแล้วของเราจะส่งกลับสตริงว่าง ("") แทน #N/ ก. คุณยังสามารถส่งคืน ข้อความที่กำหนดเอง เช่น "ไม่อยู่ในรายการ 2", "ไม่มีอยู่" หรือ "ไม่พร้อมใช้งาน" ตัวอย่างเช่น:

    =IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "Not in List 2")

    นั่นคือสูตร VLOOKUP พื้นฐานสำหรับเปรียบเทียบสองคอลัมน์ใน Excel ขึ้นอยู่กับงานเฉพาะของคุณ คุณสามารถแก้ไขได้ตามที่แสดงในตัวอย่างเพิ่มเติม

    เปรียบเทียบสองคอลัมน์ในแผ่นงาน Excel ที่ต่างกันโดยใช้ VLOOKUP

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

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

    สมมติว่ารายการ 1 คือ ในคอลัมน์ A ใน Sheet1 และรายการ 2 อยู่ในคอลัมน์ A ใน Sheet2 คุณสามารถเปรียบเทียบสองคอลัมน์และค้นหารายการที่ตรงกันโดยใช้สูตรนี้:

    =IFNA(VLOOKUP(A2, Sheet2!$A$2:$A$9, 1, FALSE), "")

    สำหรับข้อมูลเพิ่มเติม โปรดดู:

    • VLOOKUP จากแผ่นงานอื่น
    • VLOOKUP จากสมุดงานอื่น

    เปรียบเทียบสองคอลัมน์และส่งกลับค่าทั่วไป (ตรงกัน)

    ในตัวอย่างก่อนหน้านี้ เราได้พูดถึงสูตร VLOOKUP ในรูปแบบที่ง่ายที่สุด:

    =IFNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE), "")

    ผลลัพธ์ของสูตรนั้นคือ รายการค่าที่มีอยู่ในทั้งคอลัมน์และเซลล์ว่างแทนที่ค่าที่ไม่มีในคอลัมน์ที่สอง

    หากต้องการรับรายการค่าทั่วไปที่ไม่มีช่องว่าง เพียงเพิ่มตัวกรองอัตโนมัติในคอลัมน์ผลลัพธ์และ กรองช่องว่างออก

    ใน Excel สำหรับ Microsoft 365 และ Excel 2021 ที่ รองรับอาร์เรย์แบบไดนามิก คุณสามารถใช้ฟังก์ชัน FILTER เพื่อกรองช่องว่างแบบไดนามิกได้ สำหรับสิ่งนี้ ให้ใช้สูตร IFNA VLOOKUP เป็นเกณฑ์สำหรับ FILTER:

    =FILTER(A2:A14, IFNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE), "")"")

    โปรดทราบว่าในกรณีนี้ เราใส่ทั้งรายการ 1 (A2:A14) ให้กับอาร์กิวเมนต์ lookup_value ของ VLOOKUP ฟังก์ชันจะเปรียบเทียบค่าการค้นหาแต่ละค่ากับรายการที่ 2 (C2:C9) และส่งกลับอาร์เรย์ที่ตรงกันและข้อผิดพลาด #N/A ที่แสดงค่าที่ขาดหายไป ฟังก์ชัน IFNA จะแทนที่ข้อผิดพลาดด้วยสตริงว่างและให้บริการผลลัพธ์ไปยังฟังก์ชัน FILTER ซึ่งจะกรองช่องว่าง ("") ออกและส่งออกอาร์เรย์ของข้อมูลที่ตรงกันเป็นผลลัพธ์สุดท้าย

    หรืออีกวิธีหนึ่ง คุณสามารถใช้ฟังก์ชัน ISNA เพื่อตรวจสอบผลลัพธ์ของ VLOOKUP และกรองรายการที่ประเมินเป็น FALSE เช่น ค่าอื่นที่ไม่ใช่ข้อผิดพลาด #N/A:

    =FILTER(A2:A14, ISNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE))=FALSE)

    ผลลัพธ์เดียวกันสามารถ ทำได้ด้วยฟังก์ชัน XLOOKUP ซึ่งทำให้สูตรง่ายยิ่งขึ้น เนื่องจากความสามารถของ XLOOKUP ในการจัดการข้อผิดพลาด #N/A ภายใน (ตัวเลือก if_not_found อาร์กิวเมนต์) เราสามารถทำได้โดยไม่ต้องใช้ IFNA หรือ ISNA wrapper:

    =FILTER(A2:A14, XLOOKUP(A2:A14, C2:C9, C2:C9,"")"")

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

    หากต้องการเปรียบเทียบ 2 คอลัมน์ใน Excel เพื่อหาความแตกต่าง คุณสามารถดำเนินการดังนี้:

    1. เขียนสูตรหลักเพื่อค้นหาคอลัมน์แรก ค่าจากรายการ 1 (A2) ในรายการ 2 ($C$2:$C$9):

      VLOOKUP(A2, $C$2:$C$9, 1, FALSE)

    2. ซ้อน สูตรข้างต้นในฟังก์ชัน ISNA เพื่อตรวจสอบผลลัพธ์ของ VLOOKUP เพื่อหาข้อผิดพลาด #N/A ในกรณีที่เกิดข้อผิดพลาด ISNA ให้ผลลัพธ์เป็น TRUE มิฉะนั้นจะเป็น FALSE:

      ISNA(VLOOKUP(A2,$C$2:$C$9, 1, FALSE))

    3. ใช้สูตร ISNA VLOOKUP สำหรับการทดสอบตรรกะของฟังก์ชัน IF หากการทดสอบประเมินค่าเป็น TRUE (ข้อผิดพลาด #N/A) ให้ส่งคืนค่าจากรายการ 1 ในแถวเดียวกัน หากการทดสอบประเมินเป็น FALSE (พบรายการที่ตรงกันในรายการที่ 2) ให้ส่งคืนสตริงว่าง

    สูตรที่สมบูรณ์จะอยู่ในรูปแบบนี้:

    =IF(ISNA(VLOOKUP(A2, $C$2:$C$9, 1, FALSE)), A2, "")

    หากต้องการกำจัดช่องว่าง ให้ใช้ตัวกรองของ Excel ตามที่แสดงในตัวอย่างข้างต้น

    ใน Excel 365 และ Excel 2021 คุณสามารถกรองรายการผลลัพธ์แบบไดนามิกได้ สำหรับสิ่งนี้ เพียงวางสูตร ISNA VLOOKUP ในอาร์กิวเมนต์ include ของฟังก์ชัน FILTER:

    =FILTER(A2:A14, ISNA(VLOOKUP(A2:A14, C2:C9, 1, FALSE)))

    อีกวิธีหนึ่งคือ ใช้ XLOOKUP สำหรับเกณฑ์ - ฟังก์ชันส่งคืนสตริงว่าง ("") สำหรับจุดข้อมูลที่ขาดหายไป และคุณกรองค่าในรายการ 1 ที่ XLOOKUP ส่งกลับสตริงว่าง (=""):

    =FILTER(A2:A14, XLOOKUP(A2:A14, C2:C9, C2:C9,"")="")

    สูตร VLOOKUP เพื่อระบุการจับคู่และความแตกต่างระหว่างสองคอลัมน์

    หากคุณต้องการเพิ่มป้ายข้อความในรายการแรกเพื่อระบุว่าค่าใดมีอยู่ในรายการที่สองและไม่มี ให้ใช้สูตร VLOOKUP ร่วมกับ ฟังก์ชัน IF และ ISNA/ISERROR

    ตัวอย่างเช่น ในการระบุชื่อที่อยู่ในทั้งคอลัมน์ A และ D และชื่อที่อยู่ในคอลัมน์ A เท่านั้น สูตรคือ:

    =IF(ISNA(VLOOKUP(A2, $D$2:$D$9, 1, FALSE)), "Not qualified", "Qualified")

    ในที่นี้ ฟังก์ชัน ISNA จะจับข้อผิดพลาด #N/A ที่สร้างโดย VLOOKUP และส่งผลลัพธ์ระหว่างกลางนั้นไปยังฟังก์ชัน IF เพื่อให้ส่งคืนข้อความที่ระบุสำหรับข้อผิดพลาดและข้อความอื่นสำหรับการค้นหาที่สำเร็จ

    ในตัวอย่างนี้ เราใช้ป้ายกำกับ "ไม่ผ่านเกณฑ์"/"ผ่านเกณฑ์" ซึ่งเหมาะสำหรับชุดข้อมูลตัวอย่างของเรา คุณสามารถแทนที่ด้วย "ไม่อยู่ในรายการ 2"/"ในรายการ 2", "ไม่มี"/"มี" หรือป้ายกำกับอื่นๆ ที่คุณเห็นว่าเหมาะสม

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

    อีกวิธีหนึ่งในการระบุรายการที่ตรงกันและความแตกต่างใน 2 คอลัมน์คือการใช้ฟังก์ชัน MATCH:

    =IF(ISNA(MATCH(A2, $D$2:$D$9, 0)), "Not in List 2", "In List 2")

    เปรียบเทียบ 2 คอลัมน์และส่งคืนค่าจากคอลัมน์ที่สาม

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

    ตัวอย่างเช่น เพื่อเปรียบเทียบชื่อในคอลัมน์ A และ D ในสองตารางด้านล่าง และส่งคืนเวลาจากคอลัมน์ E สูตรคือ:

    =VLOOKUP(A3, $D$3:$E$10, 2, FALSE)

    หากต้องการซ่อนข้อผิดพลาด #N/A ให้ใช้วิธีแก้ปัญหาที่พิสูจน์แล้ว - ฟังก์ชัน IFNA:

    =IFNA(VLOOKUP(A3, $D$3:$E$10, 2, FALSE), "")

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

    =IFNA(VLOOKUP(A3, $D$3:$E$10, 2, FALSE), "Not available")

    นอกจาก VLOOKUP แล้ว งานยังสามารถเติมเต็มได้ด้วยฟังก์ชันการค้นหาอื่นๆ อีกสองสามอย่าง

    โดยส่วนตัวแล้ว ฉันต้องการใช้ INDEX ที่ยืดหยุ่นกว่าสูตร MATCH:

    =IFNA(INDEX($E$3:$E$10, MATCH(A3, $D$3:$D$10, 0)), "")

    หรือใช้ตัวสืบทอดรุ่นใหม่ของ VLOOKUP - ฟังก์ชัน XLOOKUP ที่มีอยู่ใน Excel 365 และ Excel 2021:

    =XLOOKUP(A3, $D$3:$D$10, $E$3:$E$10, "")

    ถึง รับชื่อผู้เข้าร่วมที่มีคุณสมบัติจากกลุ่ม A และผลลัพธ์ เพียงกรองเซลล์ว่างในคอลัมน์ B:

    =FILTER(A3:B15, B3:B15"")

    เครื่องมือเปรียบเทียบ

    หากคุณทำการเปรียบเทียบไฟล์หรือข้อมูลใน Excel บ่อยๆ เครื่องมืออัจฉริยะเหล่านี้ที่รวมอยู่ใน Ultimate Suite จะช่วยประหยัดเวลาของคุณได้อย่างมาก!

    เปรียบเทียบตาราง - วิธีที่รวดเร็วในการค้นหารายการที่ซ้ำกัน (ตรงกัน) และค่าที่ไม่ซ้ำ (ผลต่าง) ในชุดข้อมูลสองชุด เช่น คอลัมน์ รายการ หรือตาราง

    เปรียบเทียบสองชีต - ค้นหาและเน้นความแตกต่างระหว่างสองเวิร์กชีต

    เปรียบเทียบหลายชีต - ค้นหาและเน้นความแตกต่างในหลายชีตพร้อมกัน .

    สมุดงานฝึกหัดสำหรับการดาวน์โหลด

    VLOOKUP ใน Excel เพื่อเปรียบเทียบคอลัมน์ - ตัวอย่าง (ไฟล์ .xlsx)

    Michael Brown เป็นผู้ที่ชื่นชอบเทคโนโลยีโดยเฉพาะและมีความหลงใหลในการทำให้กระบวนการที่ซับซ้อนง่ายขึ้นโดยใช้เครื่องมือซอฟต์แวร์ ด้วยประสบการณ์กว่าทศวรรษในอุตสาหกรรมเทคโนโลยี เขาได้ฝึกฝนทักษะของเขาใน Microsoft Excel และ Outlook รวมถึง Google ชีตและเอกสาร บล็อกของ Michael ทุ่มเทให้กับการแบ่งปันความรู้และความเชี่ยวชาญของเขากับผู้อื่น โดยให้คำแนะนำและแบบฝึกหัดที่ทำตามได้ง่ายเพื่อปรับปรุงผลิตภาพและประสิทธิภาพ ไม่ว่าคุณจะเป็นมืออาชีพที่ช่ำชองหรือมือใหม่ บล็อกของ Michael นำเสนอข้อมูลเชิงลึกอันมีค่าและคำแนะนำที่เป็นประโยชน์สำหรับการใช้ประโยชน์สูงสุดจากเครื่องมือซอฟต์แวร์ที่จำเป็นเหล่านี้