---
title: AVERAGEIFS – คำนวณค่าเฉลี่ยตามหลายเงื่อนไข
url: https://www.thepexcel.com/functions/excel/statistical/averageifs/
type: function-explainer
program: Excel
syntax: "=AVERAGEIFS(average_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)"
date: 2025-12-02
updated: 2025-12-17
scores:
  popularity: 8
  difficulty: 5
  usefulness: 9
---

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

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

## คำอธิบาย

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

## Syntax

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

**excel**

```excel
=AVERAGEIFS(Sales[Amount], Sales[Region], "North")
```

หาค่าเฉลี่ยยอดขายในภูมิภาค North (เงื่อนไขเดียว)

**excel**

```excel
=AVERAGEIFS(Sales[Amount], Sales[Region], "North", Sales[Year], 2024)
```

หาค่าเฉลี่ยยอดขายในภูมิภาค North ปี 2024 (สองเงื่อนไข AND)

**excel**

```excel
=AVERAGEIFS(Sales[Amount], Sales[Amount], ">1000", Sales[Amount], "<=5000")
```

หาค่าเฉลี่ยยอดขายในช่วง 1,001-5,000 บาท (เงื่อนไขช่วงตัวเลข)

**excel**

```excel
=AVERAGEIFS(Orders[Amount], Orders[Date], ">="&DATE(2024,1,1), Orders[Status], "<>Cancelled")
```

หาค่าเฉลี่ยยอดสั่งซื้อตั้งแต่ 1 ม.ค. 2024 ที่ไม่ถูกยกเลิก (เงื่อนไขวันที่ + ไม่เท่ากับ)

**excel**

```excel
=AVERAGEIFS(Products[Price], Products[Name], "Apple*", Products[Category], "Electronics")
```

หาค่าเฉลี่ยราคาสินค้าที่ชื่อขึ้นต้นด้วย Apple ในหมวด Electronics (wildcard)

## Arguments

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

## เคสการใช้งาน

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

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

_เหมาะกับ:_ data-analysis

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

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

_เหมาะกับ:_ education

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

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

_เหมาะกับ:_ business

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

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

_เหมาะกับ:_ real-estate

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

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

_เหมาะกับ:_ customer-service

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: Foundation - การใช้งานพื้นฐานกับสองเงื่อนไข

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

**ผลลัพธ์:** `45000`

สมมติมีตาราง 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 ต้องตรงทุกเงื่อนไข

### 2. ตัวอย่างที่ 2: Practical - กรองข้อมูลในช่วงตัวเลข (Range Criteria)

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

**ผลลัพธ์:** `2850`

สมมติมีตาราง 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 โดยไม่ต้องสร้างคอลัมน์เสริม

### 3. ตัวอย่างที่ 3: Advanced - เงื่อนไขวันที่และ Wildcard Characters

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

**ผลลัพธ์:** `35250`

สมมติมีตาราง 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
• "=" หรือ "

### 4. ตัวอย่างที่ 4: Real-World - Interactive Dashboard ด้วย Dynamic Criteria

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

**ผลลัพธ์:** `65000`

สมมติมีตาราง 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

## หมายเหตุเพิ่มเติม

## เปรียบเทียบฟังก์ชันในตระกูล IFS

| ฟังก์ชัน | ผลลัพธ์ | เงื่อนไข | Excel Version |
|----------|---------|---------|---------------|
| **AVERAGEIFS** | ค่าเฉลี่ย | หลายเงื่อนไข (AND) | Excel 2007+ |
| AVERAGEIF | ค่าเฉลี่ย | เงื่อนไขเดียว | Excel 2007+ |
| SUMIFS | ผลรวม | หลายเงื่อนไข (AND) | Excel 2007+ |
| COUNTIFS | จำนวน | หลายเงื่อนไข (AND) | Excel 2007+ |
| MAXIFS | ค่าสูงสุด | หลายเงื่อนไข (AND) | Excel 2016+ |
| MINIFS | ค่าต่ำสุด | หลายเงื่อนไข (AND) | Excel 2016+ |

## Logical Operators ที่รองรับ

| Operator | ความหมาย | ตัวอย่าง | ผลลัพธ์ |
|----------|----------|----------|----------|
| = | เท่ากับ (default) | "North" หรือ 100 | ค่าที่เท่ากับพอดี |
| > | มากกว่า | ">1000" | ค่าที่มากกว่า 1000 |
| < | น้อยกว่า | "= | มากกว่าหรือเท่ากับ | ">="&A1 | ค่าที่ >= ค่าในเซลล์ A1 |
| <= | น้อยกว่าหรือเท่ากับ | "<=100" | ค่าที่น้อยกว่าหรือเท่ากับ 100 |
|  | ไม่เท่ากับ | "Cancelled" | ค่าที่ไม่ใช่ Cancelled |

## Wildcard Characters

| Wildcard | ใช้แทน | ตัวอย่าง | ตรงกับ |
|----------|--------|----------|--------|
| * | หลายอักขระ | "Apple*" | Apple, Apple Watch, Apple iPhone |
| * | หลายอักขระ | "*Phone*" | iPhone, Smartphone, Phone Case |
| ? | อักขระตัวเดียว | "?pple" | Apple (? แทน A) |
| ? | อักขระตัวเดียว | "App??" | Apple (แทน le) |
| ~* | เครื่องหมาย * จริง | "Price~*" | Price* (ไม่ใช่ wildcard) |
| ~? | เครื่องหมาย ? จริง | "What~?" | What? (ไม่ใช่ wildcard) |

## เคล็ดลับการใช้งาน (Best Practices)

### 1. ตรวจสอบขนาด Range ให้เท่ากัน
```excel
❌ ผิด: average_range = A2:A100 (99 เซลล์), criteria_range = B2:B50 (49 เซลล์)
✅ ถูก: average_range = A2:A100 (99 เซลล์), criteria_range = B2:B100 (99 เซลล์)
```

### 2. ใช้ Structured References กับ Excel Tables
```excel
❌ ปกติ: =AVERAGEIFS(A2:A100, B2:B100, "North", C2:C100, 2024)
✅ แนะนำ: =AVERAGEIFS(Sales[Amount], Sales[Region], "North", Sales[Year], 2024)
```
ข้อดี: อ้างอิงคอลัมน์ตามชื่อ ขยาย range อัตโนมัติเมื่อเพิ่มข้อมูล อ่านง่าย maintainable

### 3. ใช้ Cell Reference แทนค่าคงที่
```excel
❌ แบบคงที่: =AVERAGEIFS(Sales[Amount], Sales[Region], "North", Sales[Year], 2024)
✅ แบบไดนามิก: =AVERAGEIFS(Sales[Amount], Sales[Region], G1, Sales[Year], H1)
```
ประโยชน์: เปลี่ยนเงื่อนไขได้โดยแก้ไขเซลล์ G1, H1 ไม่ต้องแก้สูตร สร้าง dashboard แบบ interactive

### 4. ครอบด้วย IFERROR เพื่อจัดการ #DIV/0!
```excel
❌ ไม่มีการป้องกัน: =AVERAGEIFS(Sales[Amount], Sales[Region], G1)
✅ มีการป้องกัน: =IFERROR(AVERAGEIFS(Sales[Amount], Sales[Region], G1), "ไม่มีข้อมูล")
```
ใช้เมื่อ: ไม่แน่ใจว่ามีข้อมูลที่ตรงเงื่อนไขหรือไม่ เช่น filter แบบ dynamic

### 5. ใช้ DATE function กับเงื่อนไขวันที่
```excel
❌ พิมพ์วันที่ตรง: =AVERAGEIFS(Orders[Amount], Orders[Date], ">1/1/2024") // อาจใช้งานไม่ได้
✅ ใช้ DATE: =AVERAGEIFS(Orders[Amount], Orders[Date], ">="&DATE(2024,1,1))
```
เหตุผล: Excel เก็บวันที่เป็นตัวเลข DATE function สร้างค่าที่ถูกต้องแน่นอน

### 6. ใช้ Named Ranges เพื่อความชัดเจน
```excel
❌ Range ปกติ: =AVERAGEIFS(A2:A100, B2:B100, "North", C2:C100, ">=1000")
✅ Named Ranges: =AVERAGEIFS(SalesAmount, SalesRegion, "North", SalesAmount, ">=1000")
```
ข้อดี: อ่านเข้าใจง่าย audit formula สะดวก แก้ไข range กลางได้ง่าย

### 7. ประสิทธิภาพกับข้อมูลขนาดใหญ่
• หลีกเลี่ยงการใช้ entire column references (A:A) ใช้ช่วงที่จำเป็นเท่านั้น (A2:A10000)
• พิจารณาใช้ PivotTable แทนถ้ามีการคำนวณซ้ำหลายครั้ง
• ใช้ Excel Tables เพื่อให้ Excel optimize performance อัตโนมัติ

## สถานการณ์พิเศษ

### วิธีใช้ OR Logic (ทางเลือก)

**วิธีที่ 1: Array Formula (Excel 2019 ขึ้นไป)**
```excel
=AVERAGE(IF((Region="North")+(Region="South"), Amount))
```
กด Ctrl+Shift+Enter (Excel 2019 ขึ้นไปไม่ต้องกด)

**วิธีที่ 2: รวมหลาย AVERAGEIF**
```excel
=AVERAGE(AVERAGEIF(Region, "North", Amount), AVERAGEIF(Region, "South", Amount))
```

**วิธีที่ 3: Helper Column**
สร้างคอลัมน์เสริมด้วยสูตร IF ตรวจสอบ OR condition แล้วใช้ AVERAGEIF กรอง

### การจัดการกับ Text Case Sensitivity
AVERAGEIFS ไม่สนใจตัวพิมพ์เล็ก/ใหญ่ (case-insensitive) "North" = "north" = "NORTH"
ถ้าต้องการแยกตัวพิมพ์ ต้องใช้ Array Formula กับ EXACT function

### การใช้กับ Excel Tables
ใช้ Structured References สำหรับ Excel Tables:
```excel
=AVERAGEIFS(Sales[Amount], Sales[Region], [@Region], Sales[Year], 2024)
```
[@Region] หมายถึงค่าในแถวเดียวกัน (row reference)

## ข้อจำกัดที่ควรทราบ

| ข้อจำกัด | คำอธิบาย |
|----------|----------|
| จำนวนเงื่อนไขสูงสุด | 127 คู่ (criteria_range/criteria) |
| ขนาด range | ทุก criteria_range ต้องเท่ากับ average_range |
| Wildcard | ใช้ได้กับข้อความเท่านั้น ไม่ใช้กับตัวเลข |
| Logic | AND เท่านั้น (OR ต้องใช้วิธีอื่น) |
| Case sensitivity | ไม่แยกตัวพิมพ์เล็ก/ใหญ่ |
| Boolean values | TRUE/FALSE ไม่ถูกนำมาคำนวณ |

## ตัวอย่างสูตรเพิ่มเติม

**หาค่าเฉลี่ยคะแนนในช่วง (Grade B = 70-79)**
```excel
=AVERAGEIFS(Students[Score], Students[Score], ">=70", Students[Score], "<80")
```

**หาค่าเฉลี่ยยอดขายเฉพาะวันธรรมดา (ไม่รวมเสาร์-อาทิตย์)**
```excel
=AVERAGEIFS(Sales[Amount], Sales[Weekday], "Saturday", Sales[Weekday], "Sunday")
```

**หาค่าเฉลี่ยราคาสินค้าที่มีสต็อกเหลือ**
```excel
=AVERAGEIFS(Products[Price], Products[Stock], ">0", Products[Status], "Active")
```

**หาค่าเฉลี่ยเวลาตอบกลับลูกค้าในเดือนนี้**
```excel
=AVERAGEIFS(Tickets[ResponseTime], Tickets[Date], ">="&EOMONTH(TODAY(),-1)+1, Tickets[Date], "<="&EOMONTH(TODAY(),0), Tickets[Status], "Closed")
```

## คำถามที่พบบ่อย

**Q: AVERAGEIFS ทำ OR Logic ได้ไหม?**

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

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

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

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

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

**Q: 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

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

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

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

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

**Q: 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), ช่วงข้อมูล)) แทน

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

Wildcard (* และ ?) ใช้ได้กับข้อความเท่านั้น ไม่สามารถใช้กับตัวเลขได้ ถ้าต้องการหาตัวเลขในช่วงใช้ operators เช่น ">1000" หรือ "

## ฟังก์ชันที่เกี่ยวข้อง

- [AVERAGEIF – หาค่าเฉลี่ยแบบมีเงื่อนไข](https://www.thepexcel.com/functions/excel/statistical/averageif/)
- [SUMIFS – ฟังก์ชันบวกตามหลายเงื่อนไข](https://www.thepexcel.com/functions/excel/math-and-trigonometry/sumifs/)
- [COUNTIFS – ฟังก์ชันนับเซลล์ตามหลายเงื่อนไขพร้อมกัน](https://www.thepexcel.com/functions/excel/statistical/countifs/)
- [MAXIFS – หาค่าสูงสุดแบบมีเงื่อนไข](https://www.thepexcel.com/functions/excel/statistical/maxifs/)
- [MINIFS – หาค่าต่ำสุดแบบมีเงื่อนไข](https://www.thepexcel.com/functions/excel/statistical/minifs/)
- [AVERAGE – หาค่าเฉลี่ยของตัวเลข](https://www.thepexcel.com/functions/excel/statistical/average/)

## แหล่งข้อมูลเพิ่มเติม

- [Microsoft Support: AVERAGEIFS function](https://support.microsoft.com/en-us/office/averageifs-function-48910c45-1fc0-4389-a028-f7c5c3001690) _(official)_
- [ExcelJet: How to use the AVERAGEIFS function](https://exceljet.net/excel-functions/excel-averageifs-function) _(guide)_
- [Chandoo.org: AVERAGEIFS and Multiple Criteria](https://chandoo.org/wp/averageifs/) _(tutorial)_

---

_Source: [https://www.thepexcel.com/functions/excel/statistical/averageifs/](https://www.thepexcel.com/functions/excel/statistical/averageifs/)_
