หน้าแรก บทความ Microsoft
Microsoft

เปรียบเทียบ 2 ลิสต์ใน Excel หารายการที่ต่างและที่ตรงกัน

เผยแพร่ 29 ส.ค. 69

โจทย์ที่เจอบ่อยมากคือมีสองลิสต์ เช่น รายชื่อสมาชิกปีนี้กับปีที่แล้ว หรือรหัสสินค้าในระบบกับในสต็อกจริง แล้วต้องหาว่า “อะไรอยู่ในลิสต์แรกแต่ไม่อยู่ในลิสต์สอง” หรือ “อะไรตรงกันทั้งคู่” บทความนี้รวมวิธีเทียบสองลิสต์ ตั้งแต่ติดธงทีละแถวจนถึงดึงเฉพาะรายการที่ต่างออกมาเป็นลิสต์ใหม่

วิธีที่ 1: ติดธงด้วย COUNTIF

B2fx=IF(COUNTIF($D$2:$D$100, A2)=0, "ไม่มีในลิสต์ B", "มี")
A B D
1 ลิสต์ A สถานะ ลิสต์ B
2 ก้อง มี ก้อง
3 แนน ไม่มีในลิสต์ B เจน
4 เจน มี ปุ๊ก

COUNTIF นับว่าชื่อในคอลัมน์ A ปรากฏในลิสต์ B กี่ครั้ง ถ้าได้ 0 แปลว่าไม่มี ล็อกช่วง $D$2:$D$100 ด้วย Absolute Reference เพื่อคัดลอกสูตรลงได้

วิธีที่ 2: ดึงเฉพาะรายการที่หายไป (Microsoft 365)

F2fx=FILTER(A2:A100, COUNTIF(D2:D100, A2:A100)=0)
A D F
1 ลิสต์ A ลิสต์ B อยู่ใน A ไม่อยู่ใน B
2 ก้อง ก้อง แนน
3 แนน เจน ตูน
4 เจน ปุ๊ก

FILTER คืนเฉพาะชื่อใน A ที่นับใน B ได้ 0 กลับด้านสูตรเป็น >0 จะได้ “รายการที่ตรงกันทั้งคู่” แทน และสลับ A กับ D เพื่อหา “อยู่ใน B ไม่อยู่ใน A”

วิธีที่ 3: ISNA + XMATCH

B2fx=IF(ISNA(XMATCH(A2, $D$2:$D$100)), "หายไป", "ตรง")
A B
1 รหัสในระบบ เทียบสต็อกจริง
2 SKU-01 ตรง
3 SKU-09 หายไป

XMATCH คืน #N/A เมื่อหาไม่เจอ ครอบด้วย ISNA ให้เป็น TRUE/FALSE ได้ผลเหมือน COUNTIF แต่เร็วกว่าเมื่อข้อมูลเยอะมาก

วิธีที่ 4: ไฮไลต์ด้วย Conditional Formatting

เลือกลิสต์ A → Home → Conditional Formatting → New Rule → Use a formula ใส่ =COUNTIF($D$2:$D$100, A2)=0 แล้วตั้งสีพื้นเป็นสีเหลือง เซลล์ที่ไม่มีในลิสต์ B จะถูกไฮไลต์ ทำซ้ำกับลิสต์ B เพื่อดูอีกทาง ดู Conditional Formatting

ข้อควรระวัง

หมายเหตุ: บทความนี้เขียนและเรียบเรียงโดย AI

← กลับหน้าบทความ
Line