ถ้าเคยใช้ SUM ใน Google Sheet มาแล้ว น่าจะเคยเจอสถานการณ์ที่ ไม่ต้องการรวมยอดทั้งหมด แต่ต้องการรวมเฉพาะบางรายการที่ตรงตามเงื่อนไข เช่น รวมยอดขายเฉพาะพนักงานคนเดียว รวมค่าใช้จ่ายเฉพาะหมวด "อาหาร" หรือรวมยอดขายเฉพาะเดือนมกราคม
นี่คือจุดที่ SUMIF และ SUMIFS เข้ามาช่วย ทั้งสองฟังก์ชันเป็นเครื่องมือที่ทรงพลังสำหรับการรวมยอดแบบมีเงื่อนไขซึ่งใช้กันอย่างแพร่หลายในงานบัญชี งานขาย งานคลังสินค้า และงานวิเคราะห์ข้อมูลทุกประเภท
สิ่งที่จะได้เรียนรู้ในบทความนี้
- SUMIF - รวมยอดตามเงื่อนไขเดียว พร้อม syntax และตัวอย่าง
- SUMIFS - รวมยอดตามหลายเงื่อนไขพร้อมกัน
- ตัวอย่างจริง 4 กรณี จากงานขาย บัญชี และคลังสินค้า
- เปรียบเทียบ SUMIF vs SUMIFS vs SUMPRODUCT
- ข้อผิดพลาดที่พบบ่อยและวิธีแก้ไข
เนื้อหาในบทความ
- SUMIF - รวมยอดตามเงื่อนไขเดียว
- ตัวอย่าง 1: รวมยอดขายตามพนักงาน
- ตัวอย่าง 2: รวมค่าใช้จ่ายตามหมวดหมู่
- SUMIFS - รวมยอดตามหลายเงื่อนไข
- ตัวอย่าง 3: รวมยอดขายตามพนักงาน + เดือน
- ตัวอย่าง 4: รวมยอดขายตามช่วงวันที่
- เปรียบเทียบ SUMIF vs SUMIFS vs SUMPRODUCT
- ข้อผิดพลาดที่พบบ่อย
- เคล็ดลับการใช้ SUMIF อย่างมืออาชีพ
- คำถามที่พบบ่อย
SUMIF - รวมยอดตามเงื่อนไขเดียว
SUMIF คือฟังก์ชันที่ใช้รวมยอดเฉพาะเซลล์ที่ตรงตามเงื่อนไขที่กำหนดเป็นฟังก์ชันที่ใช้บ่อยที่สุดฟังก์ชันหนึ่งใน Google Sheet เหมาะสำหรับสถานการณ์ที่ต้องการกรองข้อมูลแค่เงื่อนไขเดียว
Syntax (โครงสร้างสูตร)
| Argument | ความหมาย | ตัวอย่าง |
|---|---|---|
| range | ช่วงเซลล์ที่ใช้ตรวจสอบเงื่อนไข | A2:A100 |
| criteria | เงื่อนไขที่ต้องตรง (ข้อความ ตัวเลข หรือนิพจน์) | "สมชาย" |
| sum_range | ช่วงเซลล์ที่จะนำมารวมยอด (ถ้าไม่ระบุ จะรวมจาก range) | C2:C100 |
เงื่อนไข (criteria) ที่ใช้ได้
ข้อความ:
"สมชาย"- ตรงกับคำว่า สมชาย"สม*"- ขึ้นต้นด้วย สม"???"- ข้อความ 3 ตัวอักษร
ตัวเลข / เปรียบเทียบ:
100- เท่ากับ 100">1000"- มากกว่า 1,000"<>0"- ไม่เท่ากับ 0
ตัวอย่าง 1: รวมยอดขายตามพนักงาน
สมมติเรามีตารางบันทึกยอดขายรายวัน ต้องการรวมยอดขายของพนักงานแต่ละคน โดยไม่ต้องกรองหรือ Sort ข้อมูลก่อน
ข้อมูลตัวอย่าง
| A (พนักงาน) | B (สินค้า) | C (ยอดขาย) | |
|---|---|---|---|
| 2 | สมชาย | เสื้อยืด | 5,000 |
| 3 | สมหญิง | กางเกง | 8,000 |
| 4 | สมชาย | รองเท้า | 12,000 |
| 5 | วิชัย | เสื้อยืด | 3,500 |
| 6 | สมหญิง | เสื้อยืด | 4,500 |
| 7 | สมชาย | กางเกง | 7,000 |
สูตรที่ใช้
ผลลัพธ์: 24,000 (5,000 + 12,000 + 7,000)
สูตรนี้จะตรวจสอบคอลัมน์ A ว่าแถวไหนเป็น "สมชาย" แล้วรวมเฉพาะตัวเลขในคอลัมน์ C ของแถวเหล่านั้น
เคล็ดลับ: อ้างอิงเซลล์แทนพิมพ์ชื่อตรงๆ
แทนที่จะพิมพ์ "สมชาย" ลงในสูตรโดยตรง ให้พิมพ์ชื่อพนักงานในเซลล์อื่น (เช่น E2) แล้วอ้างอิงเซลล์นั้นในสูตร:
วิธีนี้ทำให้เปลี่ยนชื่อได้ง่าย และสามารถคัดลอกสูตรไปใช้กับพนักงานคนอื่นได้ทันที
ตัวอย่าง 2: รวมค่าใช้จ่ายตามหมวดหมู่
ในงานบัญชี เรามักต้องสรุปค่าใช้จ่ายแยกตามหมวดหมู่ เช่น ค่าอาหาร ค่าเดินทาง ค่าสาธารณูปโภค SUMIF ช่วยให้ทำได้โดยไม่ต้องสร้าง Pivot Table
ข้อมูลตัวอย่าง
| A (วันที่) | B (หมวดหมู่) | C (รายละเอียด) | D (จำนวนเงิน) | |
|---|---|---|---|---|
| 2 | 01/09/2024 | อาหาร | มื้อเที่ยง | 150 |
| 3 | 01/09/2024 | เดินทาง | ค่าน้ำมัน | 500 |
| 4 | 02/09/2024 | อาหาร | มื้อเย็น | 250 |
| 5 | 03/09/2024 | สาธารณูปโภค | ค่าไฟ | 1,800 |
| 6 | 04/09/2024 | อาหาร | กาแฟ | 75 |
| 7 | 05/09/2024 | เดินทาง | ค่าแท็กซี่ | 120 |
สูตรที่ใช้
รวมค่าอาหารทั้งหมด:
ผลลัพธ์: 475 (150 + 250 + 75)
รวมค่าเดินทางทั้งหมด:
ผลลัพธ์: 620 (500 + 120)
รวมรายจ่ายที่มากกว่า 200 บาท:
ผลลัพธ์: 2,550 (500 + 250 + 1,800) - กรณีนี้ไม่ต้องระบุ sum_range เพราะ range กับ sum_range เป็นคอลัมน์เดียวกัน
SUMIFS - รวมยอดตามหลายเงื่อนไข
เมื่อต้องการกรองข้อมูลด้วยหลายเงื่อนไขพร้อมกัน เช่น รวมยอดขายของพนักงาน "สมชาย" เฉพาะเดือนมกราคม หรือรวมค่าใช้จ่ายหมวด "อาหาร" ที่มากกว่า 100 บาท ต้องใช้ SUMIFS (เติม S ที่ท้าย)
Syntax (โครงสร้างสูตร)
| Argument | ความหมาย |
|---|---|
| sum_range | ช่วงเซลล์ที่จะนำมารวมยอด (อยู่ตำแหน่งแรก ต่างจาก SUMIF!) |
| criteria_range1 | ช่วงเซลล์สำหรับเงื่อนไขที่ 1 |
| criteria1 | เงื่อนไขที่ 1 |
| criteria_range2, criteria2, ... | เงื่อนไขเพิ่มเติม (ใส่ได้สูงสุด 127 คู่) |
ข้อควรระวัง: ลำดับ argument ต่างจาก SUMIF!
SUMIF: range, criteria, sum_range (อยู่ท้าย)
SUMIFS: sum_range (อยู่หน้า), criteria_range1, criteria1, ...
นี่คือจุดที่หลายคนสับสนบ่อยที่สุด ใน SUMIFS จะวาง sum_range ไว้เป็น argument แรกเสมอ
ตัวอย่าง 3: รวมยอดขายตามพนักงาน + ตามเดือน
สมมติเรามีตารางยอดขายที่บันทึกทั้งชื่อพนักงานและเดือน ต้องการรวมยอดขายของพนักงานคนหนึ่งในเดือนที่กำหนด
ข้อมูลตัวอย่าง
| A (พนักงาน) | B (เดือน) | C (ยอดขาย) | |
|---|---|---|---|
| 2 | สมชาย | มกราคม | 15,000 |
| 3 | สมหญิง | มกราคม | 22,000 |
| 4 | สมชาย | กุมภาพันธ์ | 18,000 |
| 5 | สมหญิง | กุมภาพันธ์ | 25,000 |
| 6 | สมชาย | มกราคม | 10,000 |
| 7 | วิชัย | มกราคม | 8,000 |
สูตรที่ใช้
ผลลัพธ์: 25,000 (15,000 + 10,000)
สูตรนี้จะรวมยอดในคอลัมน์ C เฉพาะแถวที่คอลัมน์ A เป็น "สมชาย"และ คอลัมน์ B เป็น "มกราคม" พร้อมกัน
อธิบายทีละ argument
C2:C7
sum_range - คอลัมน์ยอดขายที่จะนำมารวม
A2:A7, "สมชาย"
เงื่อนไขที่ 1 - คอลัมน์พนักงานต้องเป็น "สมชาย"
B2:B7, "มกราคม"
เงื่อนไขที่ 2 - คอลัมน์เดือนต้องเป็น "มกราคม"
ตัวอย่าง 4: รวมยอดขายตามช่วงวันที่
กรณีที่ใช้บ่อยมากในงานจริงคือการรวมยอดตามช่วงวันที่เช่น รวมยอดขายตั้งแต่วันที่ 1 ถึง 15 ของเดือน ซึ่งต้องใช้ SUMIFS กับเงื่อนไข 2 ตัว (เริ่มต้น และ สิ้นสุด)
ข้อมูลตัวอย่าง
| A (วันที่) | B (สินค้า) | C (ยอดขาย) | |
|---|---|---|---|
| 2 | 01/01/2024 | เสื้อยืด | 5,000 |
| 3 | 05/01/2024 | กางเกง | 8,000 |
| 4 | 10/01/2024 | รองเท้า | 12,000 |
| 5 | 18/01/2024 | เสื้อยืด | 3,500 |
| 6 | 25/01/2024 | กางเกง | 7,500 |
สูตรที่ใช้
รวมยอดขายตั้งแต่วันที่ 1 ถึง 15 มกราคม 2024:
ผลลัพธ์: 25,000 (5,000 + 8,000 + 12,000)
สูตรนี้ใช้ SUMIFS กับ 2 เงื่อนไขบนคอลัมน์เดียวกัน (คอลัมน์ A):
- เงื่อนไขที่ 1: วันที่ >= 1 มกราคม 2024
- เงื่อนไขที่ 2: วันที่ <= 15 มกราคม 2024
เคล็ดลับ: ใช้ DATE() แทนพิมพ์วันที่ตรงๆ
การใช้ DATE(2024,1,1) แทนการพิมพ์ "01/01/2024" จะทำให้สูตรทำงานถูกต้องไม่ว่า Google Sheet จะตั้งค่ารูปแบบวันที่เป็นแบบไหนก็ตาม (DD/MM/YYYY หรือ MM/DD/YYYY)
เปรียบเทียบ SUMIF vs SUMIFS vs SUMPRODUCT
ทั้ง 3 ฟังก์ชันสามารถรวมยอดตามเงื่อนไขได้ แต่มีความแตกต่างกันในเรื่องความซับซ้อน และความยืดหยุ่น ตารางด้านล่างจะช่วยให้เราเลือกใช้ฟังก์ชันที่เหมาะสมที่สุด
| หัวข้อ | SUMIF | SUMIFS | SUMPRODUCT |
|---|---|---|---|
| จำนวนเงื่อนไข | 1 เงื่อนไข | หลายเงื่อนไข (AND) | หลายเงื่อนไข (AND/OR) |
| ตำแหน่ง sum_range | อยู่ท้าย (argument ที่ 3) | อยู่หน้า (argument แรก) | ไม่มี (ใช้การคูณ array) |
| Wildcard | รองรับ (*, ?) | รองรับ (*, ?) | ไม่รองรับ |
| เงื่อนไข OR | ไม่ได้โดยตรง | ไม่ได้โดยตรง | ทำได้ |
| ความเร็ว | เร็วมาก | เร็ว | ช้ากว่า (คำนวณ array) |
| แนะนำใช้เมื่อ | เงื่อนไขเดียว ง่ายๆ | หลายเงื่อนไขแบบ AND | เงื่อนไขซับซ้อน / OR |
ตัวอย่าง SUMPRODUCT (เงื่อนไข OR)
รวมยอดขายของ "สมชาย" หรือ "วิชัย":
SUMPRODUCT ใช้เครื่องหมาย + แทน OR และ * แทน AND ซึ่งยืดหยุ่นกว่า SUMIFS แต่เขียนยากกว่าและทำงานช้ากว่าเล็กน้อย
ข้อผิดพลาดที่พบบ่อย
SUMIF และ SUMIFS เป็นฟังก์ชันที่ใช้งานง่าย แต่ก็มีข้อผิดพลาดที่คนทำบ่อยจนน่าตกใจ ถ้าเจอปัญหาลองตรวจสอบตามรายการด้านล่าง
1ลำดับ argument สลับกัน (SUMIF vs SUMIFS)
ผิด:
สลับที่ sum_range กับ criteria_range
ถูก:
sum_range อยู่ argument แรก
2ข้อมูลตัวเลขถูกเก็บเป็นข้อความ (Text)
ถ้า SUMIF คืนค่า 0 ทั้งที่เห็นข้อมูลอยู่ในเซลล์ มักเป็นเพราะข้อมูลถูกเก็บเป็นข้อความ (text) ไม่ใช่ตัวเลข สังเกตจากตัวเลขจะชิดซ้ายแทนที่จะชิดขวา
วิธีแก้:
- เลือกช่วงเซลล์ที่เป็นตัวเลข
- ไปที่ Format > Number > Number
- หรือใช้สูตร
=VALUE(A1)เพื่อแปลงข้อความเป็นตัวเลข
3ช่วงเซลล์ (range) ไม่เท่ากัน
ใน SUMIFS ทุก range ต้องมีจำนวนแถวเท่ากัน ถ้าไม่เท่ากันจะ error ทันที
ผิด:
range ไม่เท่ากัน (100 vs 50 แถว)
ถูก:
range เท่ากัน (ทั้งคู่ 100 แถว)
4เปรียบเทียบวันที่ผิดวิธี
ห้ามพิมพ์วันที่เป็นข้อความตรงๆ ใน criteria เพราะอาจตีความผิดตามรูปแบบวันที่ของเครื่อง
เสี่ยง:
ปลอดภัย:
5ลืมใส่เครื่องหมายคำพูดรอบ criteria
เงื่อนไขที่เป็นข้อความหรือเครื่องหมายเปรียบเทียบ ต้องอยู่ในเครื่องหมายคำพูดเสมอ
ผิด:
ถูก:
เคล็ดลับการใช้ SUMIF อย่างมืออาชีพ
หลังจากเข้าใจพื้นฐานแล้ว ต่อไปนี้คือเคล็ดลับที่จะช่วยให้ใช้ SUMIF/SUMIFS ได้อย่างมีประสิทธิภาพมากขึ้นในงานจริง
ใช้ช่วงแบบคอลัมน์ทั้งหมด (A:A) สำหรับข้อมูลที่เพิ่มขึ้นเรื่อยๆ
แทนที่จะใช้ A2:A100 ให้ใช้ A2:Aเพื่อให้สูตรรองรับข้อมูลใหม่ที่เพิ่มเข้ามาโดยไม่ต้องแก้สูตร
ใช้ Wildcard (*) เพื่อค้นหาคำบางส่วน
ถ้าต้องการรวมยอดของทุกรายการที่มีคำว่า "เสื้อ" ในชื่อสินค้า ไม่ว่าจะเป็น "เสื้อยืด" "เสื้อเชิ้ต" หรือ "เสื้อกันหนาว":
ใช้ Cell Reference ใน criteria ร่วมกับเครื่องหมายเปรียบเทียบ
ถ้าต้องการรวมยอดที่มากกว่าค่าในเซลล์ E1 ให้ต่อสตริงด้วย &:
รวมยอดหลายเงื่อนไข OR ด้วยการบวก SUMIF หลายตัว
ถ้าต้องการรวมยอดขายของ "สมชาย" หรือ "วิชัย" โดยไม่ใช้ SUMPRODUCT:
วิธีนี้เขียนง่ายและเข้าใจง่ายกว่า SUMPRODUCT สำหรับกรณี OR ที่มี 2-3 เงื่อนไข
ตั้งชื่อ Named Range เพื่อให้สูตรอ่านง่าย
แทนที่จะอ้างอิงด้วย A2:A และ C2:C ให้ตั้งชื่อ Named Range เช่น "ชื่อพนักงาน" และ "ยอดขาย" จะทำให้สูตรอ่านรู้เรื่องมากขึ้น:
ตั้งชื่อได้ที่ Data > Named ranges ใน Google Sheet
ใช้ COUNTIF คู่กับ SUMIF เพื่อหาค่าเฉลี่ย
ถ้าต้องการหาค่าเฉลี่ยยอดขายของพนักงานคนหนึ่ง:
หรือใช้ AVERAGEIF ซึ่งเป็นฟังก์ชันที่ทำหน้าที่เดียวกันเลย
พร้อมฝึกใช้ SUMIF ในงานจริงหรือยัง?
ลองใช้เทมเพลตสำเร็จรูปที่มีสูตร SUMIF/SUMIFS ให้พร้อมใช้งานทันที
คำถามที่พบบ่อย
SUMIF กับ SUMIFS ต่างกันอย่างไร?
SUMIF ใช้สำหรับรวมยอดตามเงื่อนไขเดียว เช่น รวมยอดขายเฉพาะพนักงานคนเดียว ส่วน SUMIFS ใช้สำหรับรวมยอดตามหลายเงื่อนไขพร้อมกัน เช่น รวมยอดขายของพนักงานคนหนึ่งในเดือนที่กำหนด โดย SUMIFS จะวาง sum_range ไว้เป็น argument แรก ขณะที่ SUMIF จะวาง sum_range ไว้เป็น argument สุดท้าย
ใช้ Wildcard ใน SUMIF ได้ไหม?
ได้ SUMIF รองรับ Wildcard 2 ตัวคือ * (แทนตัวอักษรกี่ตัวก็ได้) และ ? (แทนตัวอักษร 1 ตัว) เช่น =SUMIF(A:A, "สมชาย*", B:B) จะรวมยอดของทุกแถวที่คอลัมน์ A ขึ้นต้นด้วยคำว่า "สมชาย" ไม่ว่าจะตามด้วยอะไรก็ตาม
SUMIF คืนค่า 0 ทั้งที่มีข้อมูล เกิดจากอะไร?
สาเหตุที่พบบ่อยที่สุดคือ ข้อมูลในคอลัมน์ sum_range ถูกเก็บเป็นข้อความ (text) ไม่ใช่ตัวเลข ให้ลองเลือกเซลล์แล้วดูที่มุมขวาล่างว่าแสดง SUM หรือ COUNT ถ้าแสดง COUNT แปลว่าเป็นข้อความ ให้แก้โดยไปที่ Format > Number > Number หรือใช้ VALUE() ครอบข้อมูล
เมื่อไหร่ควรใช้ SUMPRODUCT แทน SUMIFS?
ควรใช้ SUMPRODUCT เมื่อต้องการเงื่อนไขที่ซับซ้อนกว่าที่ SUMIFS รองรับ เช่น เงื่อนไขแบบ OR (หรือ) ข้ามหลายคอลัมน์ หรือต้องการคำนวณค่าคูณของหลายคอลัมน์พร้อมกัน แต่ถ้าเงื่อนไขเป็นแบบ AND (และ) ธรรมดา ให้ใช้ SUMIFS เพราะเขียนง่ายกว่าและทำงานเร็วกว่า
บทความที่เกี่ยวข้อง
สอนใช้ IF ใน Google Sheet - ฉบับเข้าใจง่าย
เรียนรู้ฟังก์ชัน IF ตั้งแต่พื้นฐาน IF ซ้อน IF IFS AND OR พร้อมตัวอย่างใช้งานจริง
เรียนรู้ VLOOKUP แบบละเอียด
คู่มือการใช้งาน VLOOKUP ตั้งแต่พื้นฐานจนถึงเทคนิคขั้นสูง พร้อมแก้ไขปัญหาที่พบบ่อย
วิธีใช้เทมเพลตติดตามรายรับ-รายจ่าย
เทมเพลตที่ใช้สูตร SUMIF จริง บันทึกรายรับ-รายจ่าย แยกหมวดหมู่อัตโนมัติ