Thep Excel

AVERAGEIFS – คำนวณค่าเฉลี่ยตามหลายเงื่อนไข

AVERAGEIFS คำนวณค่าเฉลี่ยเลขคณิตของเซลล์ที่ตรงตามเงื่อนไขหลายข้อพร้อมกัน โดยใช้ AND Logic (ต้องตรงทุกเงื่อนไข) รองรับเงื่อนไขได้สูงสุด 127 คู่ สามารถใช้กับข้อความ ตัวเลข วันที่ และ wildcard characters ทุก criteria_range ต้องมีขนาดเท่ากับ average_range เหมาะสำหรับการวิเคราะห์ข้อมูลแบบเจาะลึกตามหลายมิติ เช่น วิเคราะห์ยอดขายตามภูมิภาค สินค้า และช่วงเวลา หรือวิเคราะห์คะแนนตามห้อง เพศ และระดับคะแนน

=AVERAGEIFS(average_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)

By ThepExcel AI Agent
2 December 2025

Function Metrics


Popularity
8/10

Difficulty
5/10

Usefulness
9/10

Syntax & Arguments

=AVERAGEIFS(average_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)

Argument Type Required Default Description
average_range Range/Array Yes ช่วงข้อมูลหรือ array ที่มีตัวเลขที่ต้องการคำนวณค่าเฉลี่ย สามารถเป็น cell reference, named range, หรือ structured reference ต้องมีขนาดและรูปร่างเท่ากับทุก criteria_range มิฉะนั้นจะเกิด #VALUE! error
criteria_range1 Range Yes ช่วงข้อมูลแรกที่ใช้ประเมินเงื่อนไข ต้องมีขนาดและรูปร่างเท่ากับ average_range สามารถมีข้อความ ตัวเลข หรือวันที่ก็ได้
criteria1 Text/Number/Date/Expression Yes เงื่อนไขแรกในรูปแบบตัวเลข ข้อความ expression หรือ cell reference ที่กำหนดว่าเซลล์ใดใน criteria_range1 จะถูกนำมาคำนวณ รองรับ logical operators (>, =, <=, , =) และ wildcard characters (* สำหรับหลายตัวอักษร, ? สำหรับตัวอักษรเดียว)
criteria_range2 Range Optional ไม่ระบุ ช่วงข้อมูลเพิ่มเติมที่ใช้ประเมินเงื่อนไขที่สอง ต้องมีขนาดและรูปร่างเท่ากับ average_range สามารถมีได้สูงสุด 127 คู่ของ criteria_range/criteria
criteria2 Text/Number/Date/Expression Optional ไม่ระบุ เงื่อนไขที่สองที่ใช้ประเมินกับ criteria_range2 ทุกคู่เงื่อนไขจะถูกประเมินด้วย AND Logic (ต้องตรงทุกเงื่อนไขพร้อมกัน) รองรับ operators และ wildcards เช่นเดียวกับ criteria1

How it works

วิเคราะห์ยอดขายแบบหลายมิติ

คำนวณค่าเฉลี่ยยอดขายแยกตามภูมิภาค สินค้า และช่วงเวลาพร้อมกัน เพื่อเปรียบเทียบประสิทธิภาพในแต่ละกลุ่มตลาด เหมาะสำหรับ dashboard และ sales report

วิเคราะห์คะแนนนักเรียนตามกลุ่ม

หาค่าเฉลี่ยคะแนนสอบแยกตามห้องเรียน เพศ และช่วงคะแนน เพื่อประเมินผลการเรียนและวางแผนการสอน เปรียบเทียบประสิทธิภาพระหว่างกลุ่ม

คำนวณ KPI เฉพาะกลุ่ม

หาค่าเฉลี่ย KPI เฉพาะพนักงานที่ผ่านเงื่อนไขหลายข้อ เช่น แผนก ระดับตำแหน่ง และช่วงอายุงาน เพื่อใช้ในการประเมินผลและวางแผนทรัพยากรบุคคล

วิเคราะห์ราคาอสังหาริมทรัพย์

คำนวณราคาเฉลี่ยของทรัพย์สินตามทำเลที่ตั้ง จำนวนห้องนอน ห้องน้ำ และปีที่สร้าง เพื่อประเมินมูลค่าตลาดและเปรียบเทียบราคา

วิเคราะห์เวลาตอบสนองลูกค้า

หาค่าเฉลี่ยเวลาในการตอบกลับลูกค้าแยกตามช่องทาง ประเภทปัญหา และช่วงเวลา เพื่อประเมิน service level และปรับปรุงคุณภาพบริการ

Examples

ตัวอย่างที่ 1: Foundation – การใช้งานพื้นฐานกับสองเงื่อนไข
AVERAGEIFS(Sales[Amount], Sales[Region], "North", Sales[Product], "Laptop")
สมมติมีตาราง Sales ที่เก็บข้อมูลยอดขาย มีคอลัมน์ดังนี้:
• Amount = ยอดขาย (บาท)
• Region = ภูมิภาค (North, South, East, West)
• Product = ชื่อสินค้า (Laptop, Phone, Tablet)

สูตรนี้คำนวณค่าเฉลี่ยยอดขายสำหรับสินค้า Laptop ในภูมิภาค North เท่านั้น

**วิธีการทำงาน:**
AVERAGEIFS จะตรวจสอบทุกแถวในตาราง Sales โดยจะนำค่าจากคอลัมน์ Amount มาคำนวณเฉพาะแถวที่ตรงเงื่อนไขทั้งสองข้อพร้อมกัน (AND Logic):
• Region = "North"
• Product = "Laptop"

**ตัวอย่างข้อมูล:**
ถ้ามีรายการขาย Laptop ในภูมิภาค North จำนวน 3 รายการ:
• แถวที่ 1: 42,000 บาท
• แถวที่ 2: 48,000 บาท
• แถวที่ 3: 45,000 บาท

ค่าเฉลี่ย = (42,000 + 48,000 + 45,000) / 3 = 45,000 บาท

**สิ่งสำคัญ:** แถวที่มี Region = "South" หรือ Product = "Phone" จะไม่ถูกนำมาคำนวณ แม้จะตรงเงื่อนไขใดเงื่อนไขหนึ่ง เพราะ AVERAGEIFS ต้องตรงทุกเงื่อนไข

Excel Formula:

=AVERAGEIFS(Sales[Amount], Sales[Region], "North", Sales[Product], "Laptop")

Result:

45000

ตัวอย่างที่ 2: Practical – กรองข้อมูลในช่วงตัวเลข (Range Criteria)
AVERAGEIFS(Products[Price], Products[Price], ">=1000", Products[Price], "
สมมติมีตาราง Products ที่เก็บข้อมูลสินค้า:
• Price = ราคาสินค้า (บาท)
• Category = หมวดหมู่ (Electronics, Furniture, Clothing)

สูตรนี้หาค่าเฉลี่ยราคาสินค้าในหมวด Electronics ที่มีราคาอยู่ระหว่าง 1,000-4,999 บาท

**เทคนิคสำคัญ – ใช้ Range เดียวกันสองครั้ง:**
สังเกตว่าเราใช้ Products[Price] เป็น criteria_range ถึง 2 ครั้งเพื่อกำหนดขอบเขตบนและล่าง:
• เงื่อนไขที่ 1: Price >= 1000 (ราคาตั้งแต่ 1,000 บาทขึ้นไป)
• เงื่อนไขที่ 2: Price < 5000 (ราคาต่ำกว่า 5,000 บาท)
• เงื่อนไขที่ 3: Category = "Electronics"

**ตัวอย่างข้อมูล:**
ถ้ามีสินค้า Electronics ที่ผ่านเงื่อนไข 5 รายการ:
• Mouse: 1,200 บาท
• Keyboard: 2,500 บาท
• Webcam: 3,000 บาท
• Headset: 2,800 บาท
• USB Hub: 4,750 บาท

ค่าเฉลี่ย = (1,200 + 2,500 + 3,000 + 2,800 + 4,750) / 5 = 2,850 บาท

**ประโยชน์:** เทคนิคนี้เหมาะสำหรับวิเคราะห์ข้อมูลในช่วงที่กำหนด เช่น สินค้าระดับราคากลาง คะแนนในเกรด B (70-79 คะแนน) หรือรายได้ในกลุ่ม middle-income โดยไม่ต้องสร้างคอลัมน์เสริม

Excel Formula:

=AVERAGEIFS(Products[Price], Products[Price], ">=1000", Products[Price], "<5000", Products[Category], "Electronics")

Result:

2850

ตัวอย่างที่ 3: Advanced – เงื่อนไขวันที่และ Wildcard Characters
AVERAGEIFS(Orders[Amount], Orders[Customer], "A*", Orders[Status], "Completed", Orders[Date], ">="&DATE(2024,1,1), Orders[Date], "
สมมติมีตาราง Orders ที่เก็บข้อมูลคำสั่งซื้อ:
• Amount = มูลค่าคำสั่งซื้อ (บาท)
• Customer = ชื่อลูกค้า
• Status = สถานะ (Completed, Pending, Cancelled)
• Date = วันที่สั่งซื้อ

สูตรนี้หาค่าเฉลี่ยมูลค่าคำสั่งซื้อสำหรับลูกค้าที่ชื่อขึ้นต้นด้วย "A" ที่มีสถานะ Completed ในช่วง Q1 2024 (มกราคม-มีนาคม)

**การใช้ Wildcard Character:**
เงื่อนไข "A*" หมายถึง "ขึ้นต้นด้วย A แล้วตามด้วยอักขระใดก็ได้"
• ตรงกับ: Amazon, Apple, ABC Company, Acme Corp
• ไม่ตรงกับ: Beta, Cloud Services, The A Team (ไม่ได้ขึ้นต้นด้วย A)

**การใช้ DATE Function กับเงื่อนไขวันที่:**
ใช้ DATE(ปี, เดือน, วัน) เพื่อสร้างค่าวันที่ที่แม่นยำ:
• ">="&DATE(2024,1,1) = ตั้งแต่ 1 มกราคม 2024
• "<"&DATE(2024,4,1) = ก่อน 1 เมษายน 2024 (คือถึง 31 มีนาคม)

เครื่องหมาย & ใช้เชื่อมต่อ operator (">=" หรือ "<") กับฟังก์ชัน DATE

**ตัวอย่างข้อมูลที่ผ่านเงื่อนไข:**
• Amazon, Completed, 15/01/2024, 32,000 บาท
• Apple Store, Completed, 28/02/2024, 41,500 บาท
• Acme Corp, Completed, 10/03/2024, 32,250 บาท

ค่าเฉลี่ย = (32,000 + 41,500 + 32,250) / 3 = 35,250 บาท

**ข้อดีของวิธีนี้:**
• Wildcard ช่วยกรองกลุ่มลูกค้าที่มีชื่อคล้ายกันโดยไม่ต้องระบุทีละราย
• DATE function แม่นยำและไม่ขึ้นกับรูปแบบวันที่ของระบบ (DD/MM/YYYY หรือ MM/DD/YYYY)
• สามารถวิเคราะห์ช่วงเวลาเฉพาะได้อย่างแม่นยำ

Excel Formula:

=AVERAGEIFS(Orders[Amount], Orders[Customer], "A*", Orders[Status], "Completed", Orders[Date], ">="&DATE(2024,1,1), Orders[Date], "<"&DATE(2024,4,1))

Result:

35250

ตัวอย่างที่ 4: Real-World – Interactive Dashboard ด้วย Dynamic Criteria
IFERROR(AVERAGEIFS(Employees[Salary], Employees[Department], $B$2, Employees[Position], $C$2, Employees[Experience], ">="&$D$2, Employees[Performance], "Excelle…
สมมติมีตาราง Employees ที่เก็บข้อมูลพนักงาน:
• Salary = เงินเดือน (บาท)
• Department = แผนก (Sales, IT, Marketing, HR)
• Position = ตำแหน่ง (Manager, Senior, Junior)
• Experience = ประสบการณ์ (ปี)
• Performance = ผลการประเมิน (Excellent, Good, Average)

และมี Dashboard Input Cells:
• B2 = แผนกที่เลือก (เช่น "Sales")
• C2 = ตำแหน่งที่เลือก (เช่น "Senior")
• D2 = ประสบการณ์ขั้นต่ำ (เช่น 5)

สูตรนี้หาค่าเฉลี่ยเงินเดือนสำหรับพนักงานที่ตรงตามเงื่อนไขทั้งหมด

**Dynamic Criteria – เงื่อนไขแบบไดนามิก:**
1. Department = ค่าจากเซลล์ B2 (ใช้ $B$2 เพื่อ lock reference)
2. Position = ค่าจากเซลล์ C2
3. Experience >= ค่าจากเซลล์ D2 (ใช้ ">="&$D$2 เพื่อต่อ operator กับค่าตัวเลข)
4. Performance = "Excellent" (เงื่อนไขคงที่)

**ตัวอย่างกรณีใช้งาน:**
ผู้บริหาร HR เลือก:
• B2 = "Sales" (แผนกขาย)
• C2 = "Senior" (ตำแหน่ง Senior)
• D2 = 5 (ประสบการณ์อย่างน้อย 5 ปี)

สูตรจะคำนวณค่าเฉลี่ยเงินเดือนของ Senior Sales ที่มีประสบการณ์ 5 ปีขึ้นไป และมีผลงานระดับ Excellent

สมมติมีพนักงานที่ผ่านเงื่อนไข 4 คน:
• พนักงาน A: 60,000 บาท (5 ปี, Excellent)
• พนักงาน B: 68,000 บาท (7 ปี, Excellent)
• พนักงาน C: 72,000 บาท (8 ปี, Excellent)
• พนักงาน D: 60,000 บาท (6 ปี, Excellent)

ค่าเฉลี่ย = (60,000 + 68,000 + 72,000 + 60,000) / 4 = 65,000 บาท

**การใช้ IFERROR:**
ถ้าเปลี่ยน D2 เป็น 10 (ประสบการณ์ 10 ปีขึ้นไป) และไม่มีพนักงานที่ตรงเงื่อนไข AVERAGEIFS จะเกิด #DIV/0! error แต่ IFERROR จะแสดง "ไม่มีข้อมูล" แทน ทำให้ Dashboard ไม่แสดง error น่าเกลียด

**ประโยชน์ของ Dynamic Dashboard:**
• ผู้ใช้เปลี่ยนเงื่อนไขได้ทันทีผ่าน dropdown หรือ input cells
• ไม่ต้องแก้ไขสูตรทุกครั้งที่ต้องการวิเคราะห์กลุ่มอื่น
• สร้าง What-If Analysis ได้ง่าย (ถ้าเปลี่ยนเกณฑ์จะได้ผลลัพธ์อย่างไร)
• เชื่อมต่อกับ Data Validation dropdown เพื่อ user experience ที่ดี
• รายงานอัปเดต real-time ทันทีที่เปลี่ยนค่า input

Excel Formula:

=IFERROR(AVERAGEIFS(Employees[Salary], Employees[Department], $B$2, Employees[Position], $C$2, Employees[Experience], ">="&$D$2, Employees[Performance], "Excellent"), "ไม่มีข้อมูล")

Result:

65000

FAQs

AVERAGEIFS ทำ OR Logic ได้ไหม?

ไม่ได้โดยตรง AVERAGEIFS ใช้ AND Logic เท่านั้น (ต้องตรงทุกเงื่อนไข) ถ้าต้องการ OR Logic มีสองวิธี: (1) ใช้ Array Formula =AVERAGE(IF((เงื่อนไข1)+(เงื่อนไข2), ช่วงข้อมูล)) กด Ctrl+Shift+Enter (2) คำนวณแยกหลาย AVERAGEIF แล้วนำผลลัพธ์มารวมกันด้วย AVERAGE เช่น =AVERAGE(AVERAGEIF(…), AVERAGEIF(…))

ทำไม #VALUE! error เกิดขึ้น?

เกิดเมื่อ criteria_range และ average_range มีขนาดไม่เท่ากัน ตัวอย่าง: average_range เป็น A2:A100 (99 เซลล์) แต่ criteria_range เป็น B2:B50 (49 เซลล์) แก้ไขโดยตรวจสอบให้ทุก range มีจำนวนแถวและคอลัมน์เท่ากันทุกประการ

ทำไม #DIV/0! error เกิดขึ้น?

เกิดเมื่อไม่มีข้อมูลที่ตรงตามเงื่อนไขทั้งหมด (เทียบเท่าการหารด้วยศูนย์) ป้องกันด้วย IFERROR เช่น =IFERROR(AVERAGEIFS(…), 0) หรือ =IFERROR(AVERAGEIFS(…), “ไม่มีข้อมูล”) เพื่อแสดงค่าทดแทนเมื่อไม่มีข้อมูล

AVERAGEIFS ต่างจาก AVERAGEIF อย่างไร?

ความแตกต่างหลัก 3 ประการ: (1) จำนวนเงื่อนไข: AVERAGEIF = 1 เงื่อนไข, AVERAGEIFS = หลายเงื่อนไข (สูงสุด 127 คู่) (2) ลำดับ arguments: AVERAGEIF(criteria_range, criteria, [average_range]) VS AVERAGEIFS(average_range, criteria_range1, criteria1, …) สังเกตว่า average_range อยู่ตำแหน่งต่างกัน (3) ข้อกำหนด range: AVERAGEIF ยืดหยุ่นกว่า ส่วน AVERAGEIFS ต้องมีขนาดเท่ากันทุก range

วิธีหาค่าเฉลี่ยตัวเลขที่ไม่ใช่ศูนย์?

ใช้เงื่อนไข “0” เช่น =AVERAGEIFS(Sales[Amount], Sales[Amount], “0”) จะคำนวณค่าเฉลี่ยเฉพาะเซลล์ที่มีค่าไม่เท่ากับ 0 วิธีนี้มีประโยชน์เมื่อมีช่วงวันที่ไม่มีข้อมูล (ค่า 0) และไม่ต้องการให้ส่งผลต่อค่าเฉลี่ย

ใช้เงื่อนไข "มากกว่าค่าเฉลี่ย" ได้ไหม?

ได้ โดยใช้ฟังก์ชัน AVERAGE ซ้อนในเงื่อนไข เช่น =AVERAGEIFS(Sales[Amount], Sales[Amount], “>”&AVERAGE(Sales[Amount])) จะหาค่าเฉลี่ยเฉพาะยอดขายที่สูงกว่าค่าเฉลี่ยทั้งหมด หรือใช้ร่วมกับ PERCENTILE เพื่อกรองข้อมูล outliers

AVERAGEIFS รองรับ Excel เวอร์ชันไหนบ้าง?

รองรับ Excel 2007, 2010, 2013, 2016, 2019, 2021, Excel for Microsoft 365, Excel for Mac และ Google Sheets สำหรับ Excel 2003 หรือเก่ากว่าไม่รองรับ ต้องใช้ Array Formula =AVERAGE(IF((เงื่อนไข1)*(เงื่อนไข2), ช่วงข้อมูล)) แทน

วิธีใช้ wildcard กับตัวเลข?

Wildcard (* และ ?) ใช้ได้กับข้อความเท่านั้น ไม่สามารถใช้กับตัวเลขได้ ถ้าต้องการหาตัวเลขในช่วงใช้ operators เช่น “>1000” หรือ “<=5000" ถ้าต้องการ pattern matching กับตัวเลข ต้องแปลงเป็น text ก่อนด้วย TEXT function

Resources & Related

Additional Notes

ฟังก์ชัน AVERAGEIFS คำนวณค่าเฉลี่ยเลขคณิต (Arithmetic Mean) ของข้อมูลตัวเลขที่ตรงตามเงื่อนไขหลายข้อพร้อมกัน เป็นเครื่องมือสำคัญสำหรับการวิเคราะห์ข้อมูลเชิงลึกที่ต้องการกรองข้อมูลด้วยหลายเกณฑ์ เช่น วิเคราะห์ยอดขายเฉลี่ยของสินค้าประเภทหนึ่งในภูมิภาคเฉพาะช่วงเดือนที่กำหนด หรือหาค่าเฉลี่ยคะแนนนักเรียนชายห้อง A ที่สอบผ่าน ฟังก์ชันนี้รองรับเงื่อนไขได้สูงสุด 127 คู่ และทำงานด้วย AND Logic (ต้องตรงทุกเงื่อนไข) ทำให้สามารถสร้างรายงานวิเคราะห์ที่ซับซ้อนได้โดยไม่ต้องสร้างคอลัมน์เสริมหรือกรองข้อมูลแบบแมนนวล

เมื่อใดควรใช้ AVERAGEIFS

ใช้ AVERAGEIFS เมื่อต้องการคำนวณค่าเฉลี่ยโดยกรองข้อมูลด้วยเงื่อนไขตั้งแต่ 2 ข้อขึ้นไป เช่น หาค่าเฉลี่ยยอดขายสินค้า Electronics ในภูมิภาค North ที่มียอดมากกว่า 1,000 บาท หรือวิเคราะห์เวลาตอบกลับเฉลี่ยของทีมซัพพอร์ตในเดือนมีนาคมสำหรับ ticket ประเภท Technical Support ที่ปิดแล้ว ฟังก์ชันนี้ช่วยให้วิเคราะห์ข้อมูลได้ละเอียดโดยไม่ต้องสร้าง PivotTable หรือ Helper Column ทำให้ Dashboard อัปเดตแบบ real-time

AND Logic: ข้อมูลต้องตรงทุกเงื่อนไข

AVERAGEIFS ประเมินเงื่อนไขด้วย AND Logic เท่านั้น หมายความว่าแถวข้อมูลจะถูกนำมาคำนวณก็ต่อเมื่อตรงตามทุกเงื่อนไขที่กำหนด ตัวอย่างเช่น ถ้าตั้งเงื่อนไข Region = “North” AND Year = 2024 AND Status = “Completed” แถวข้อมูลจะถูกรวมก็ต่อเมื่อตรงทั้งสามเงื่อนไข ถ้าต้องการใช้ OR Logic (ตรงเงื่อนไขใดเงื่อนไขหนึ่งก็นำมาคำนวณ) จะต้องใช้วิธีอื่น เช่น Array Formula หรือรวมหลาย AVERAGEIF ด้วยฟังก์ชัน AVERAGE การเข้าใจ Logic นี้สำคัญมากเพราะส่งผลต่อผลลัพธ์ที่ได้

ข้อกำหนดสำคัญ: ขนาด Range ต้องเท่ากัน

ข้อกำหนดที่สำคัญที่สุดของ AVERAGEIFS คือทุก criteria_range ต้องมีขนาดและรูปร่าง (rows และ columns) เท่ากับ average_range ทุกประการ มิฉะนั้นจะได้ #VALUE! error ตัวอย่างเช่น ถ้า average_range เป็น A2:A100 (99 แถว 1 คอลัมน์) ทุก criteria_range ก็ต้องเป็น 99 แถว 1 คอลัมน์เช่นกัน เช่น B2:B100, C2:C100 ห้ามใช้ B2:B50 (49 แถว) หรือ B2:C100 (2 คอลัมน์) ข้อกำหนดนี้แตกต่างจาก AVERAGEIF ที่มีความยืดหยุ่นมากกว่า แนะนำให้ใช้ Excel Tables กับ Structured References เพื่อป้องกันปัญหานี้โดยอัตโนมัติ

การใช้ Operators และ Wildcards

AVERAGEIFS รองรับ Comparison Operators ครบถ้วน ได้แก่ = (เท่ากับ), > (มากกว่า), = (มากกว่าหรือเท่ากับ), <= (น้อยกว่าหรือเท่ากับ), และ (ไม่เท่ากับ) Operators ต้องอยู่ในเครื่องหมายคำพูด เช่น “>100” หรือ “Cancelled” สำหรับข้อความ รองรับ Wildcard Characters ได้แก่ * (แทนหลายอักขระ) และ ? (แทนอักขระตัวเดียว) เช่น “Apple*” จะตรงกับ Apple, Apple Watch, Apple iPhone ส่วน “*Phone*” จะตรงกับคำว่า Phone ที่อยู่ตำแหน่งใดก็ได้ หากต้องการค้นหา * หรือ ? จริงๆ ใช้ ~ นำหน้า เช่น ~* หรือ ~?

เงื่อนไขแบบไดนามิกด้วย Cell Reference

ความสามารถที่ทรงพลังของ AVERAGEIFS คือการสร้างเงื่อนไขแบบไดนามิกโดยอ้างอิงค่าจากเซลล์อื่น ทำได้โดยต่อ Operator กับ Cell Reference ด้วยเครื่องหมาย & เช่น “>=”&A1 หรือ ““&B2 วิธีนี้ทำให้สามารถสร้าง Interactive Dashboard ที่ผู้ใช้สามารถเปลี่ยนเงื่อนไขได้เองผ่าน Dropdown หรือ Input Cell โดยไม่ต้องแก้ไขสูตร ตัวอย่างเช่น ให้ผู้ใช้เลือกภูมิภาคที่ต้องการดูในเซลล์ G1 และปีในเซลล์ H1 แล้วใช้สูตร =AVERAGEIFS(Sales[Amount], Sales[Region], G1, Sales[Year], H1) รายงานจะอัปเดตอัตโนมัติทันทีที่เปลี่ยนค่า

การทำงานกับวันที่

เมื่อใช้เงื่อนไขกับวันที่ แนะนำให้ใช้ฟังก์ชัน DATE เพื่อสร้างค่าวันที่ที่ถูกต้อง แล้วต่อกับ Operator ด้วย & เช่น “>=”&DATE(2024,1,1) จะตรงกับวันที่ตั้งแต่ 1 มกราคม 2024 เป็นต้นไป วิธีนี้แม่นยำกว่าการพิมพ์วันที่โดยตรง เพราะ Excel จัดเก็บวันที่เป็นตัวเลข Serial Number และรูปแบบวันที่อาจแตกต่างกันในแต่ละระบบ นอกจากนี้ยังใช้ร่วมกับ EOMONTH (หาวันสุดท้ายของเดือน), EDATE (เลื่อนเดือน), และ TODAY (วันนี้) เพื่อสร้างเงื่อนไขวันที่แบบไดนามิกที่อัปเดตอัตโนมัติได้

การจัดการ Errors

AVERAGEIFS ส่งค่า #DIV/0! error เมื่อไม่มีข้อมูลที่ตรงตามเงื่อนไขทั้งหมด (เทียบเท่ากับการหารด้วยศูนย์) และส่งค่า #VALUE! error เมื่อ range มีขนาดไม่เท่ากัน เซลล์ว่างใน average_range จะถูกข้ามโดยอัตโนมัติ ส่วนเซลล์ที่มีข้อความหรือค่า Boolean จะไม่ถูกนำมาคำนวณ แนะนำให้ครอบฟังก์ชันด้วย IFERROR เช่น =IFERROR(AVERAGEIFS(…), “ไม่มีข้อมูล”) เพื่อแสดงข้อความแทน error โดยเฉพาะเมื่อใช้ Dynamic Criteria ที่อาจทำให้ไม่มีข้อมูลตรงเงื่อนไขในบางกรณี

AVERAGEIFS vs AVERAGEIF

ความแตกต่างหลักสามประการ: (1) จำนวนเงื่อนไข – AVERAGEIF รองรับเพียง 1 เงื่อนไข ส่วน AVERAGEIFS รองรับหลายเงื่อนไข (สูงสุด 127 คู่) (2) ลำดับ Arguments – AVERAGEIF ใช้ (criteria_range, criteria, [average_range]) ส่วน AVERAGEIFS ใช้ (average_range, criteria_range1, criteria1, …) สังเกตว่า average_range อยู่ตำแหน่งแรกใน AVERAGEIFS แต่อยู่ตำแหน่งสุดท้ายใน AVERAGEIF (3) ความเข้มงวดของ Range – AVERAGEIFS ต้องการให้ทุก range มีขนาดเท่ากันเสมอ ส่วน AVERAGEIF ยืดหยุ่นกว่า

ฟังก์ชันในตระกูล IFS

AVERAGEIFS เป็นหนึ่งในตระกูลฟังก์ชัน IFS ที่ทำงานกับหลายเงื่อนไข ฟังก์ชันอื่นในตระกูล ได้แก่ SUMIFS (ผลรวม), COUNTIFS (นับจำนวน), MAXIFS (ค่าสูงสุด), และ MINIFS (ค่าต่ำสุด) ฟังก์ชันเหล่านี้มี Syntax ที่คล้ายกันและใช้ AND Logic เหมือนกัน โดยแต่ละฟังก์ชันคืนค่าผลลัพธ์ประเภทต่างกัน การเข้าใจความสัมพันธ์ของฟังก์ชันในตระกูลนี้จะช่วยให้ใช้งานได้คล่องแคล่วขึ้น และสามารถสร้างรายงานวิเคราะห์ที่ครอบคลุม เช่น ใช้ COUNTIFS นับจำนวนรายการ ใช้ SUMIFS หาผลรวม และใช้ AVERAGEIFS หาค่าเฉลี่ยในเงื่อนไขเดียวกัน

Leave a Reply

Your email address will not be published. Required fields are marked *