สูตร SUMIFS และ COUNTIFS หลายเงื่อนไข พร้อมตัวอย่างใช้งานจริง
· อ่านประมาณ 12 นาที
ถ้าต้องการรวมยอดขายของ ภาคเหนือ เฉพาะ เดือนมกราคม หรือนับจำนวนพนักงานที่ ลาป่วยเกิน 3 วัน ในแผนกบัญชี สูตรที่ตอบโจทย์คือ SUMIFS และ COUNTIFS ซึ่งรวมหรือนับข้อมูลได้หลายเงื่อนไขพร้อมกันในสูตรเดียว
บทความนี้สอนตั้งแต่โครงสร้างสูตร ความต่างของ SUMIF กับ SUMIFS การใส่เงื่อนไขแบบมากกว่า น้อยกว่า ช่วงวันที่ ค่าว่าง และ Wildcard ไปจนถึงเงื่อนไขแบบ "หรือ" และวิธีแก้ปัญหาที่เจอบ่อย
SUMIFS คืออะไร
SUMIFS คือสูตรรวมตัวเลขเฉพาะแถวที่ตรงกับทุกเงื่อนไขที่กำหนด (เงื่อนไขแบบ "และ") ใส่เงื่อนไขได้สูงสุด 127 คู่
=SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
| อาร์กิวเมนต์ | ความหมาย |
|---|---|
sum_range | คอลัมน์ตัวเลขที่ต้องการรวม เช่น ยอดขาย |
criteria_range1 | คอลัมน์ที่ใช้ตรวจเงื่อนไขที่ 1 เช่น ภาค |
criteria1 | เงื่อนไขที่ 1 เช่น "เหนือ" |
criteria_range2, criteria2 | คู่เงื่อนไขถัดไป (ใส่หรือไม่ก็ได้) |
COUNTIFS คืออะไร
COUNTIFS ทำงานเหมือนกัน แต่นับจำนวนแถวที่ตรงทุกเงื่อนไขแทนการรวมตัวเลข จึงไม่มี sum_range
=COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2], ...)
SUMIF กับ SUMIFS ต่างกันอย่างไร
| หัวข้อ | SUMIF | SUMIFS |
|---|---|---|
| จำนวนเงื่อนไข | 1 เงื่อนไข | 1 ถึง 127 เงื่อนไข |
| ตำแหน่งช่วงที่รวม | อยู่ท้ายสูตร: SUMIF(range, criteria, sum_range) | อยู่หน้าสูตร: SUMIFS(sum_range, ...) |
เพราะลำดับอาร์กิวเมนต์ต่างกัน คนจำนวนมากจึงสลับช่องผิดเมื่อเปลี่ยนจาก SUMIF เป็น SUMIFS แนะนำให้ใช้ SUMIFS อย่างเดียวไปเลย แม้มีเงื่อนไขเดียวก็ใช้ได้ จะได้จำรูปแบบเดียว
ข้อมูลตัวอย่าง
ตารางยอดขายในช่วง A2:F500 มีคอลัมน์ดังนี้
| A: วันที่ | B: ภาค | C: พนักงานขาย | D: หมวดสินค้า | E: จำนวน | F: ยอดขาย |
|---|---|---|---|---|---|
| 03/01/2026 | เหนือ | สมชาย | อุปกรณ์สำนักงาน | 12 | 4,680 |
| 05/01/2026 | กลาง | วิภา | คอมพิวเตอร์ | 2 | 35,800 |
| 18/02/2026 | เหนือ | สมชาย | คอมพิวเตอร์ | 1 | 17,900 |
ตัวอย่างการใช้ SUMIFS และ COUNTIFS
1. รวมยอดขายตาม 2 เงื่อนไข
ยอดขายของภาคเหนือ เฉพาะหมวดคอมพิวเตอร์
=SUMIFS(F2:F500, B2:B500, "เหนือ", D2:D500, "คอมพิวเตอร์")
ในงานจริงควรอ้างอิงเงื่อนไขจากเซลล์แทนการพิมพ์ในสูตร เช่น ภาคอยู่ใน H2 หมวดอยู่ใน I2 จะเปลี่ยนเงื่อนไขได้โดยไม่ต้องแก้สูตร
=SUMIFS($F$2:$F$500, $B$2:$B$500, H2, $D$2:$D$500, I2)
2. นับจำนวนบิลตาม 2 เงื่อนไข
=COUNTIFS(B2:B500, "เหนือ", C2:C500, "สมชาย")
ได้จำนวนบิลที่สมชายขายในภาคเหนือ
3. เงื่อนไขมากกว่า น้อยกว่า
ใส่เครื่องหมายเปรียบเทียบไว้ในเครื่องหมายคำพูด
=COUNTIFS(F2:F500, ">=10000")
นับบิลที่ยอดขายตั้งแต่ 10,000 บาทขึ้นไป ถ้าค่าเปรียบเทียบอยู่ในเซลล์ ให้เชื่อมด้วยเครื่องหมาย &
=COUNTIFS(F2:F500, ">="&H2)
เครื่องหมายที่ใช้ได้: = เท่ากับ, <> ไม่เท่ากับ, >, <, >=, <=
4. รวมยอดขายตามช่วงวันที่
สูตรที่ใช้บ่อยที่สุดในการทำรายงานรายเดือน ใส่วันเริ่มต้นใน H2 และวันสิ้นสุดใน I2
=SUMIFS(F2:F500, A2:A500, ">="&H2, A2:A500, "<="&I2)
สังเกตว่าใช้คอลัมน์วันที่ 2 ครั้ง ครั้งหนึ่งเป็นขอบล่าง อีกครั้งเป็นขอบบน
ถ้าต้องการรวมทั้งเดือนโดยใส่แค่วันแรกของเดือนใน H2 ใช้ EOMONTH หาวันสุดท้ายของเดือนให้อัตโนมัติ
=SUMIFS(F2:F500, A2:A500, ">="&H2, A2:A500, "<="&EOMONTH(H2, 0))
5. เงื่อนไขค่าว่างและไม่ว่าง
- นับแถวที่ยังไม่ระบุพนักงานขาย:
=COUNTIFS(C2:C500, "") - นับแถวที่ระบุพนักงานขายแล้ว:
=COUNTIFS(C2:C500, "<>")
6. ค้นหาด้วยคำบางส่วน (Wildcard)
ใช้ * แทนตัวอักษรกี่ตัวก็ได้ และ ? แทน 1 ตัวอักษร
=SUMIFS(F2:F500, D2:D500, "*คอม*")
รวมยอดขายทุกหมวดที่มีคำว่า "คอม" อยู่ในชื่อ ถ้าคำค้นอยู่ในเซลล์ H2 ใช้ "*"&H2&"*"
7. เงื่อนไขแบบ "หรือ" (OR)
SUMIFS เป็นเงื่อนไขแบบ "และ" เสมอ ถ้าต้องการยอดขายของภาคเหนือ หรือ ภาคใต้ ใส่เงื่อนไขเป็น Array แล้วครอบด้วย SUM
=SUM(SUMIFS(F2:F500, B2:B500, {"เหนือ","ใต้"}))
หรือเขียนแบบเข้าใจง่ายด้วยการบวกสองสูตร =SUMIFS(F2:F500, B2:B500, "เหนือ") + SUMIFS(F2:F500, B2:B500, "ใต้")
8. ทำตารางสรุปด้วยสูตรเดียวแล้วลาก
ใส่ชื่อภาคในคอลัมน์ H (H3 ลงไป) และหมวดสินค้าในแถว 2 (I2 ไปทางขวา) แล้วเขียนสูตรที่ I3
=SUMIFS($F$2:$F$500, $B$2:$B$500, $H3, $D$2:$D$500, I$2)
การล็อก $H3 (ล็อกคอลัมน์) และ I$2 (ล็อกแถว) ทำให้ลากสูตรไปทางขวาและลงล่างได้ทั้งตาราง ได้ตารางสรุปที่อัปเดตทันทีเมื่อข้อมูลเปลี่ยน ไม่ต้อง Refresh เหมือน Pivot Table
สูตรตระกูลเดียวกันที่ควรรู้
| สูตร | ใช้ทำอะไร | ตัวอย่าง |
|---|---|---|
| AVERAGEIFS | หาค่าเฉลี่ยตามเงื่อนไข | =AVERAGEIFS(F2:F500, B2:B500, "เหนือ") |
| MAXIFS | หาค่าสูงสุดตามเงื่อนไข | =MAXIFS(F2:F500, C2:C500, "วิภา") |
| MINIFS | หาค่าต่ำสุดตามเงื่อนไข | =MINIFS(F2:F500, D2:D500, "คอมพิวเตอร์") |
MAXIFS และ MINIFS ใช้ได้ใน Excel 2019, 2021, 2024 และ Microsoft 365
ปัญหาที่พบบ่อยและวิธีแก้
ได้ผลลัพธ์เป็น 0 ทั้งที่มีข้อมูล
- ตัวเลขในคอลัมน์ที่รวมถูกเก็บเป็นข้อความ SUMIFS จะข้ามค่าเหล่านั้น แก้ด้วย Data > Text to Columns หรือ Convert to Number
- ข้อความในเงื่อนไขมีช่องว่างเกิน เช่น "เหนือ " ใช้ TRIM ล้างข้อมูล
- วันที่ในข้อมูลเป็นข้อความ ไม่ใช่วันที่จริง เงื่อนไข ">=" จึงเทียบไม่ได้ ทดสอบด้วย
=ISNUMBER(A2)ต้องได้ TRUE
#VALUE!
ช่วงข้อมูลแต่ละช่วงมีขนาดไม่เท่ากัน เช่น F2:F500 กับ B2:B499 ทุกช่วงในสูตรต้องเริ่มและจบที่แถวเดียวกัน
เงื่อนไขวันที่ไม่ทำงาน
อย่าพิมพ์ ">=H2" เพราะ Excel จะมองเป็นข้อความ "H2" ต้องเขียนเป็น ">="&H2 เสมอ
คำถามที่พบบ่อย
SUMIFS แยกตัวพิมพ์เล็ก-ใหญ่ไหม
ไม่แยก ถ้าต้องการแยกต้องใช้ SUMPRODUCT ร่วมกับ EXACT
ใช้ SUMIFS ข้ามชีตได้ไหม
ได้ ใส่ชื่อชีตนำหน้าช่วง เช่น =SUMIFS(ข้อมูล!F:F, ข้อมูล!B:B, H2)
อ้างอิงทั้งคอลัมน์ เช่น F:F ช้าไหม
SUMIFS จัดการการอ้างอิงทั้งคอลัมน์ได้ดี ใช้ได้สะดวกเมื่อข้อมูลเพิ่มทุกเดือน แต่ถ้าไฟล์มีสูตรลักษณะนี้หลายพันเซลล์ การแปลงข้อมูลเป็น Table แล้วอ้างอิงชื่อคอลัมน์จะทั้งเร็วและอ่านง่ายกว่า
สรุป
SUMIFS และ COUNTIFS คือสูตรหลักของการทำรายงานใน Excel จำรูปแบบเดียว "ช่วงที่รวม แล้วตามด้วยคู่ช่วงเงื่อนไขกับเงื่อนไข" ใช้ & เชื่อมเครื่องหมายเปรียบเทียบกับเซลล์ และล็อก $ ให้ถูกเพื่อลากสูตรทำตารางสรุป ก็รองรับงานรายงานได้เกือบทุกแบบ
SUMIFS, COUNTIFS และสูตรค้นหาอย่าง XLOOKUP เป็นหัวข้อที่ฝึกจริงในหลักสูตรอบรม Excel Advance ถ้าต้องการให้วิทยากรสอน Excel กับข้อมูลรูปแบบเดียวกับงานของทีม ดูรายละเอียดอบรม Excel In-house สำหรับองค์กร
- #SUMIFS
- #COUNTIFS
- #SUMIF
- #สูตร Excel
- #Excel Advance