---
title: MAXIFS – หาค่าสูงสุดแบบมีเงื่อนไข
url: https://www.thepexcel.com/functions/excel/statistical/maxifs/
type: function-explainer
program: Excel
syntax: "=MAXIFS(max_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)"
date: 2025-12-02
updated: 2025-12-24
scores:
  popularity: 5
  difficulty: 4
  usefulness: 6
---

# MAXIFS – หาค่าสูงสุดแบบมีเงื่อนไข

> MAXIFS ใช้หาค่าสูงสุดจากช่วงข้อมูลที่ตรงตามเงื่อนไขหนึ่งหรือมากกว่า แตกต่างจาก MAX ที่หาเพียงค่าสูงส

## คำอธิบาย

MAXIFS ใช้หาค่าสูงสุดจากช่วงข้อมูลที่ตรงตามเงื่อนไขหนึ่งหรือมากกว่า แตกต่างจาก MAX ที่หาเพียงค่าสูงสุดทั้งหมด MAXIFS มีความยืดหยุ่นในการกรองข้อมูลก่อนหาค่าสูงสุด

## Syntax

```excel
=MAXIFS(max_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| max_range | Yes | Range |  | ช่วงข้อมูลที่ต้องการหาค่าสูงสุด คอลัมน์ที่มีตัวเลขที่ต้องการหาค่าสูงสุด |
| criteria_range1 | Yes | Range |  | ช่วงข้อมูลที่ใช้ตรวจสอบเงื่อนไขแรก ต้องมีขนาดและรูปร่างเดียวกับ max_range |
| criteria1 | Yes | String/Number/Expression |  | เงื่อนไขที่ 1 เช่น "North", ">100", ">=DATE(2024,1,1)" โปรแกรมจะหาเซลล์ใน criteria_range1 ที่ตรงกับเงื่อนไขนี้ |
| criteria_range2 | No | Range |  | ช่วงข้อมูลสำหรับเงื่อนไขที่ 2 (ไม่บังคับ สามารถเพิ่มได้ถึง 126 เงื่อนไข) |
| criteria2 | No | String/Number/Expression |  | เงื่อนไขที่ 2 (ไม่บังคับ) |

## ตัวอย่าง

### 1. หาค่าสูงสุดเฉพาะในอีกคอลัมน์

```excel
=MAXIFS(B2:B10, A2:A10, "North")
```

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

สมมติ A2:A10 มีชื่อภูมิภาค (North, South, East, West) และ B2:B10 มียอดขาย หากต้องการหาค่าสูงสุดของยอดขายในภาคเหนือ (North) สูตรนี้จะคืนค่า 950

### 2. หลายเงื่อนไข (AND)

```excel
=MAXIFS(D2:D100, B2:B100, "Marketing", C2:C100, "2024")
```

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

ค้นหาค่าสูงสุดใน D2:D100 เฉพาะเมื่อคอลัมน์ B เป็น 'Marketing' AND คอลัมน์ C เป็น '2024' ผลลัพธ์คือค่าสูงสุดของจำนวนเงินในแผนกการตลาดของปี 2024

### 3. เงื่อนไขตัวเลขเปรียบเทียบ

```excel
=MAXIFS(Sales, Quantity, ">"&100)
```

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

หาค่าสูงสุด (Sales) เฉพาะเมื่อ Quantity มากกว่า 100 ใช้เครื่องหมาย & เพื่อรวม (concatenate) เครื่องหมาย > กับค่าที่เปรียบเทียบ

### 4. เงื่อนไขวันที่

```excel
=MAXIFS(Revenue, Date_Column, ">="&DATE(2024,1,1), Status, "Completed")
```

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

หาค่าสูงสุดของ Revenue ตั้งแต่วันที่ 1 มกราคม 2024 เป็นต้นไป AND สถานะเป็น 'Completed' เหมาะสำหรับหาค่าสูงสุดของการขายที่สำเร็จในช่วงเวลาที่ระบุ

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

- ใช้ MAXIFS แทน MAX+IF array formula: ง่ายกว่า ไม่ต้องกด Ctrl+Shift+Enter ให้ผลลัพธ์เหมือนเดิม

- เมื่อใช้ Table (ตั้งชื่อช่วงด้วย Ctrl+T) สามารถใช้ Table[Column] ได้เลย เช่น =MAXIFS(Sales[Amount], Sales[Region], "North") ซึ่งจะอัพเดตอัตโนมัติเมื่อเพิ่มแถวใหม่

- ใช้ IFERROR เพื่อจัดการกรณีที่ไม่มีข้อมูลตรงกับเงื่อนไข: =IFERROR(MAXIFS(...), 0) หรือ =IFERROR(MAXIFS(...), "N/A")

- สำหรับเงื่อนไขจำนวน ใช้ & เพื่อเชื่อมเครื่องหมายกับค่า: =MAXIFS(Data, Amount, ">"&1000) คืน max ที่มากกว่า 1000

- MAXIFS ใช้ AND logic กับหลายเงื่อนไข ถ้าต้อง OR (สถานการณ์ที่เงื่อนไขหนึ่งใน OR หลายตัว) อาจต้องใช้ MAX+IF array หรือ FILTER

- เงื่อนไข text เป็น case-insensitive ดังนั้น "North" = "north" = "NORTH"

- ตรวจสอบให้แน่ใจว่า max_range ประกอบด้วยตัวเลข ถ้า max_range มีข้อความ MAXIFS อาจคืน 0

- ใช้กับ MINIFS, SUMIFS, AVERAGEIFS เพื่อสร้างสูตรที่มีเงื่อนไขเดียวกัน ทั้ง 4 ฟังก์ชันมี syntax เหมือนกัน

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

**Q: MAXIFS ใช้ได้กับ Excel เวอร์ชันไหนบ้าง?**

MAXIFS พร้อมใช้ใน Excel 2016 ขึ้นไป รวม Excel 2019, Excel 365, Excel Online และ Excel สำหรับ Mac

**Q: ต่างกับ MAX + IF (array formula) อย่างไร?**

MAXIFS ง่ายกว่า ไม่ต้องกด Ctrl+Shift+Enter เพื่อเข้าสูตร array และให้ผลลัพธ์เดียวกันกับ {=MAX(IF(criteria, max_range))} แต่อ่านง่ายขึ้นมาก

**Q: หากไม่มีเงื่อนไขที่ตรงกัน MAXIFS คืนอะไร?**

คืน 0 ไม่ใช่ error #N/A หากต้องการแยกแยะความแตกต่าง ใช้ IFERROR หรือตรวจสอบจำนวนแถวที่ตรงกับเงื่อนไขก่อน

**Q: สามารถใช้ MAXIFS กับเงื่อนไข OR ได้ไหม?**

ไม่ได้โดยตรง MAXIFS ใช้ AND logic เท่านั้น ถ้าต้อง OR สูตรจะซับซ้อน อาจต้องใช้ MAX+IF array หรือแบ่งเป็นสูตรแยกสำหรับแต่ละเงื่อนไข แล้ว MAX รวมผล

**Q: เงื่อนไขแบบ wildcard ใช้ได้ไหม?**

ได้ใช้ * และ ? เพื่อ wildcard เช่น "A*" เพื่อหาทั้งหมดที่ขึ้นต้นด้วย A

**Q: MAXIFS ใช้ไปกับเงื่อนไขข้อมูลจากชีตอื่นได้ไหม?**

ได้ ใช้ SheetName!RangeAddress เช่น =MAXIFS(Sheet2!B:B, Sheet1!A:A, "North")

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

- [AVERAGEIFS – คำนวณค่าเฉลี่ยตามหลายเงื่อนไข](https://www.thepexcel.com/functions/excel/statistical/averageifs/)
- [COUNTIFS – ฟังก์ชันนับเซลล์ตามหลายเงื่อนไขพร้อมกัน](https://www.thepexcel.com/functions/excel/statistical/countifs/)
- [DATE – ฟังก์ชันสร้างวันที่จากปี เดือน วัน](https://www.thepexcel.com/functions/excel/date-and-time/date/)
- [IFS – ทดสอบหลายเงื่อนไขแบบมีลำดับความสำคัญ](https://www.thepexcel.com/functions/excel/logical/ifs/)
- [MAX – ฟังก์ชันหาค่าสูงสุด](https://www.thepexcel.com/functions/excel/statistical/max/)
- [MINIFS – หาค่าต่ำสุดแบบมีเงื่อนไข](https://www.thepexcel.com/functions/excel/statistical/minifs/)

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

- [Microsoft Support - MAXIFS Function](https://support.microsoft.com/en-us/office/maxifs-function-dfd611e6-da2c-488a-919b-9b6376b28883) _(official)_
- [ExcelJet - MAXIFS Function](https://exceljet.net/excel-functions/excel-maxifs-function) _(guide)_

---

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