วิธีนับค่าที่ไม่ซ้ำกันใน Excel: ด้วยเกณฑ์ ละเว้นช่องว่าง

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

บทช่วยสอนจะพิจารณาถึงวิธีใช้ประโยชน์จากฟังก์ชันอาร์เรย์แบบไดนามิกใหม่เพื่อนับค่าที่ไม่ซ้ำกันใน Excel: สูตรเพื่อนับรายการที่ไม่ซ้ำในคอลัมน์ โดยมีหลายเกณฑ์ การละเว้นช่องว่าง และอื่นๆ อีกมากมาย

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

หมายเหตุ สูตรทั้งหมดที่กล่าวถึงในบทช่วยสอนนี้ใช้ฟังก์ชัน UNIQUE ซึ่งมีให้ใช้งานใน Excel 365 และ Excel 2021 เท่านั้น หากคุณใช้ Excel 2019, Excel 2016 หรือเก่ากว่า โปรดดูวิธีแก้ปัญหาในบทความนี้

นับค่าที่ไม่ซ้ำในคอลัมน์

วิธีที่ง่ายที่สุดในการนับค่าที่ไม่ซ้ำในคอลัมน์คือการใช้ฟังก์ชัน UNIQUE ร่วมกับฟังก์ชัน COUNTA:

COUNTA(UNIQUE( ช่วง ))

สูตรทำงานโดยใช้ตรรกะง่ายๆ นี้: UNIQUE ส่งคืนอาร์เรย์ของรายการที่ไม่ซ้ำ และ COUNTA นับองค์ประกอบทั้งหมดของอาร์เรย์

ตามตัวอย่าง เรามานับค่าที่ไม่ซ้ำกัน ชื่อในช่วง B2:B10:

=COUNTA(UNIQUE(B2:B10))

สูตรบอกเราว่ามี 5ชื่อต่างๆ ในรายชื่อผู้ชนะ:

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

นับค่าที่ไม่ซ้ำกันซึ่งเกิดขึ้นเพียงครั้งเดียว

ในตัวอย่างก่อนหน้า เรานับรายการที่แตกต่างกัน (แตกต่างกัน) ทั้งหมดในคอลัมน์ ครั้งนี้ เราต้องการทราบจำนวนระเบียนที่ไม่ซ้ำกันซึ่ง เกิดขึ้นเพียงครั้งเดียว หากต้องการดำเนินการ ให้สร้างสูตรด้วยวิธีนี้:

หากต้องการรับรายการที่เกิดขึ้นครั้งเดียว ให้ตั้งค่าอาร์กิวเมนต์ที่ 3 ของ UNIQUE เป็น TRUE:

UNIQUE(B2:B10,,TRUE))

หากต้องการนับการเกิดขึ้นเพียงครั้งเดียวที่ไม่ซ้ำ ให้ซ้อน UNIQUE ในฟังก์ชัน ROW:

ROWS(UNIQUE(B2:B10,,TRUE))

โปรดทราบว่า COUNTA จะไม่ทำงานในกรณีนี้ เนื่องจากจะนับเซลล์ที่ไม่ว่างทั้งหมด รวมถึง ค่าความผิดพลาด ดังนั้น หากไม่พบผลลัพธ์ UNIQUE จะส่งกลับข้อผิดพลาด และ COUNTA จะนับเป็น 1 ซึ่งไม่ถูกต้อง!

หากต้องการจัดการข้อผิดพลาดที่เป็นไปได้ ให้รวมฟังก์ชัน IFERROR รอบสูตรของคุณและสั่งให้เอาต์พุตเป็น 0 หากเกิดข้อผิดพลาด:

=IFERROR(ROWS(UNIQUE(B2:B10,,TRUE)), 0)

ด้วยเหตุนี้ คุณจะได้รับค่านับตามแนวคิดของฐานข้อมูลที่ไม่ซ้ำกัน:

นับ แถวที่ไม่ซ้ำใน Excel

ตอนนี้คุณรู้วิธีนับเซลล์ที่ไม่ซ้ำในคอลัมน์แล้ว มีแนวคิดเกี่ยวกับวิธีหาจำนวนแถวที่ไม่ซ้ำหรือไม่

นี่คือวิธีแก้ปัญหา:

ROWS( UNIQUE( range ))

เคล็ดลับคือการ "ป้อน" ช่วงทั้งหมดเป็น UNIQUE เพื่อให้ค้นหาชุดค่าผสมที่ไม่ซ้ำใครในหลายคอลัมน์ หลังจากนั้น คุณเพียงแค่ใส่สูตรในฟังก์ชัน ROWS เพื่อคำนวณจำนวนแถว

ตัวอย่างเช่น ในการนับแถวที่ไม่ซ้ำกันในช่วง A2:C10 เราใช้สูตรนี้:

=ROWS(UNIQUE(A2:C10))

นับรายการที่ไม่ซ้ำกันโดยไม่สนใจเซลล์ว่าง

ในการนับค่าที่ไม่ซ้ำกันใน Excel โดยไม่สนใจช่องว่าง ให้ใช้ฟังก์ชัน FILTER เพื่อกรองเซลล์ว่างออก จากนั้น แปรปรวนในสูตร COUNTA UNIQUE ที่คุ้นเคย:

COUNTA(UNIQUE(FILTER( range , range "")))

ด้วยแหล่งข้อมูลใน B2:B11 สูตรจะอยู่ในรูปแบบนี้:

=COUNTA(UNIQUE(FILTER(B2:B11, B2:B11"")))

ภาพหน้าจอด้านล่างแสดงผลลัพธ์:

นับค่าที่ไม่ซ้ำกันด้วยเกณฑ์

ในการแยกค่าที่ไม่ซ้ำตามเกณฑ์ที่กำหนด คุณใช้ฟังก์ชัน UNIQUE และ FILTER ร่วมกันอีกครั้งตามที่อธิบายในตัวอย่างนี้ จากนั้น คุณใช้ฟังก์ชัน ROWS เพื่อนับรายการที่ไม่ซ้ำกันและ IFERROR เพื่อดักจับข้อผิดพลาดทุกประเภทและแทนที่ด้วย 0:

IFERROR(ROWS(UNIQUE( range , criteria_range = เกณฑ์ ))), 0)

ตัวอย่างเช่น หากต้องการหาจำนวนผู้ชนะที่แตกต่างกันในกีฬาหนึ่งๆ ให้ใช้สูตรนี้:

=IFERROR(ROWS(UNIQUE(FILTER(A2:A10,B2:B10=E1))), 0)

โดยที่ A2:A10 คือช่วงการค้นหาชื่อเฉพาะ ( ช่วง ), B2:B10 คือกีฬาที่ผู้ชนะแข่งขัน ( เกณฑ์ช่วง ) และ E1 คือกีฬาที่น่าสนใจ ( เกณฑ์ ).

นับค่าที่ไม่ซ้ำกันด้วยหลายเกณฑ์

สูตรสำหรับการนับค่าที่ไม่ซ้ำกันตามเกณฑ์หลายเกณฑ์ค่อนข้างคล้ายกับตัวอย่างด้านบน แม้ว่าเกณฑ์จะถูกสร้างขึ้นแตกต่างกันเล็กน้อย:

IFERROR(ROWS(UNIQUE( range , ( criteria_range1 = เกณฑ์1 ) * ( เกณฑ์_ช่วง2 = เกณฑ์2 )))), 0)

ผู้ที่อยากรู้กลไกภายในสามารถค้นหาคำอธิบายได้ ของตรรกะของสูตรที่นี่: ค้นหาค่าที่ไม่ซ้ำกันโดยอิงตามเกณฑ์หลายข้อ

ในตัวอย่างนี้ เราจะหาจำนวนผู้ชนะที่แตกต่างกันในกีฬาเฉพาะใน F1 ( เกณฑ์ 1 ) และอายุน้อยกว่าใน F2 ( เกณฑ์ 2 ) สำหรับสิ่งนี้ เรากำลังใช้สูตรนี้:

=IFERROR(ROWS(UNIQUE(FILTER(A2:A10, (B2:B10=F1) * (C2:C10

โดยที่ A2:B10 คือรายชื่อ ( ช่วง ), C2:C10 คือกีฬา ( criteria_range 1 ) และ D2:D10 คืออายุ ( criteria_range 2 )

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

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

ตัวอย่างสูตรนับค่าเฉพาะ (ไฟล์ .xlsx)

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