ดึงข้อมูลเฉพาะที่มีการซ้ำกัน 😎💚 #excelsoezy #exceltips #exceltricks #howto #office
ถ้าใครกำลังหาวิธี “ดึงข้อมูลที่ซ้ำกันออกมา” ใน Excel แบบอัปเดตอัตโนมัติ (ไม่ต้องกด Remove Duplicates ซ้ำๆ) เราสรุปขั้นตอนที่ใช้บ่อยให้แบบทำตามได้เลยค่ะ ใช้ได้ทั้งดึง “รายการที่ซ้ำ” และ “ดึงเฉพาะรายการซ้ำแบบไม่ให้ซ้ำในผลลัพธ์” 1) ดึง “แถว/รายการที่ซ้ำกัน” ด้วย FILTER + COUNTIF สมมติข้อมูลอยู่ช่วง C7:C15 (เช่น แมว, นก, ปลา, ไก่ ฯลฯ) อยากให้แสดงเฉพาะค่าที่มีการซ้ำกัน ให้ใช้: =FILTER(C7:C15,COUNTIF(C7:C15,C7:C15)>1) แนวคิดคือ COUNTIF จะนับจำนวนครั้งที่แต่ละค่าปรากฏ ถ้ามากกว่า 1 แปลว่า “ซ้ำ” แล้ว FILTER จะกรองเฉพาะตัวที่เข้าเงื่อนไข ทิป: ถ้าข้อมูลมีช่องว่าง/ค่าว่างปนอยู่ แล้วไม่อยากให้ดึงค่าว่างติดมาด้วย เพิ่มเงื่อนไขอีกชั้นได้ เช่น =FILTER(C7:C15,(COUNTIF(C7:C15,C7:C15)>1)*(C7:C15<>"")) 2) อยากได้ “รายการซ้ำแบบไม่ซ้ำในผลลัพธ์” (ให้เหลือชื่อซ้ำแค่ 1 ครั้ง) บางทีเราไม่ได้อยากเห็น ปลา ปลา ปลา… แต่อยากได้แค่ “ปลา” หนึ่งบรรทัด ให้ครอบด้วย UNIQUE: =UNIQUE(FILTER(C7:C15,COUNTIF(C7:C15,C7:C15)>1)) สูตรนี้เหมาะมากเวลาจะสรุปรายชื่อที่ซ้ำกันไปตรวจสอบต่อ 3) เช็คคอลัมน์ว่าค่าไหน “ซ้ำ/ไม่ซ้ำ” ด้วย TRUE/FALSE ถ้าอยากทำคอลัมน์ช่วยเช็คด้านข้าง (เช่นคอลัมน์ D) ใส่ที่ D7 แล้วลากลง: =COUNTIF($C$7:$C$15,C7)>1 ผลลัพธ์จะเป็น TRUE เมื่อมีมากกว่า 1 (เกิดการซ้ำกัน) และ FALSE เมื่อไม่ซ้ำ ช่วยให้เรากรองด้วย Filter ธรรมดาของ Excel ได้ง่ายขึ้น 4) จับคู่ข้อมูลเหมือนกัน “ข้ามชีท” (กรองชื่อที่ซ้ำกันระหว่าง Sheet) เช่น Sheet1 มีรายชื่อช่วง A2:A100 และ Sheet2 มีรายชื่อช่วง A2:A100 อยากดึงชื่อที่มีอยู่ทั้งสองชีท: =FILTER(Sheet1!A2:A100,COUNTIF(Sheet2!A2:A100,Sheet1!A2:A100)>0) ถ้าอยากให้ผลลัพธ์ไม่ซ้ำในรายการ ก็ครอบด้วย UNIQUE: =UNIQUE(FILTER(Sheet1!A2:A100,COUNTIF(Sheet2!A2:A100,Sheet1!A2:A100)>0)) 5) หมายเหตุเรื่องเวอร์ชัน Excel สูตร FILTER/UNIQUE จะสะดวกมากใน Microsoft 365 / Excel 2021 ขึ้นไป ถ้าเวอร์ชันเก่ากว่านี้ อาจต้องใช้วิธี Advanced Filter หรือ PivotTable แทน ลองเริ่มจากช่วงข้อมูลสั้นๆ ก่อน (แบบตัวอย่างแมว/นก/ปลา) แล้วค่อยขยายเป็นช่วงจริง จะช่วยลดโอกาสอ้างอิงช่วงพลาดค่ะ

