---
title: MAX – ฟังก์ชันหาค่าสูงสุด
url: https://www.thepexcel.com/functions/excel/statistical/max/
type: function-explainer
program: Excel
syntax: "=MAX(number1, [number2], ...)"
date: 2025-12-14
updated: 2026-05-31
scores:
  popularity: 9
  difficulty: 1
  usefulness: 9
---

# MAX – ฟังก์ชันหาค่าสูงสุด

> MAX คืนค่าสูงสุดจากชุดข้อมูลที่มี Data Type เป็นตัวเลข เพิกเฉยเซลล์ว่าง ข้อความ และค่า Logic โดยอัตโ

## คำอธิบาย

MAX คืนค่าสูงสุดจากชุดข้อมูลที่มี Data Type เป็นตัวเลข เพิกเฉยเซลล์ว่าง ข้อความ และค่า Logic โดยอัตโนมัติ ทำให้ไม่ต้องกังวลว่าจะมีข้อมูลประเภทอื่นปนอยู่ในช่วง เหมาะสำหรับหาค่าสูงสุดเช่น คะแนนสูงสุด ยอดขายสูงสุด หรือวันที่ล่าสุด และยังใช้เทคนิค Clamp (จำกัดค่า) โดยการใส่ 0 เป็น argument แรกเพื่อบังคับให้ค่าลบกลายเป็น 0 ได้อีกด้วย

## Syntax

```excel
=MAX(number1, [number2], ...)
```

**excel**

```excel
=MAX(Sales[Amount])
```

หาค่าสูงสุดจากคอลัมน์ในตาราง

**excel**

```excel
=MAX(0, A1)
```

แปลงค่าลบเป็น 0 (clamp at zero)

**excel**

```excel
=MAX(Sales[Amount], Orders[Total])
```

หาค่าสูงสุดจากหลายคอลัมน์

**excel**

```excel
=MAX(Dates[OrderDate])
```

หาวันที่ล่าสุด (ค่ามากสุด = ล่าสุด)

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| number1 | Yes | Number/Range |  | ตัวเลข เซลล์ หรือช่วงแรกที่ต้องการหาค่าสูงสุด |
| number2 | No | Number/Range | - | ตัวเลข เซลล์ หรือช่วงเพิ่มเติม รองรับสูงสุด 255 พารามิเตอร์ |

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

### หาคะแนนสอบสูงสุด

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

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

### วิเคราะห์ยอดขายสูงสุด

หายอดขายสูงสุดรายวัน รายสัปดาห์ หรือรายเดือน เพื่อวิเคราะห์ประสิทธิภาพการขาย

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

### หาวันที่ล่าสุด

หาวันที่ล่าสุดจากชุดข้อมูล เช่น วันที่ทำธุรกรรมล่าสุด วันที่อัปเดตล่าสุด

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

### แปลงค่าลบเป็นศูนย์

ใช้ MAX ร่วมกับ 0 เพื่อแปลงค่าลบให้เป็น 0 และคงค่าบวกไว้ เช่น =MAX(0, A1)

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

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: หาค่าสูงสุดพื้นฐาน

```excel
=MAX(10, 50, 30, 25)
```

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

หาค่าที่มากที่สุดจากตัวเลข 4 ตัว ได้ 50
.
นี่คือการใช้งานแบบพื้นฐานที่สุด ใส่ตัวเลขเข้าไปตรงๆ แล้ว MAX จะหาค่าที่สูงที่สุดให้

### 2. ตัวอย่างที่ 2: หาจากคอลัมน์ในตาราง

```excel
=MAX(Sales[Amount])
```

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

หายอดขายสูงสุดจากคอลัมน์ Amount สมมติค่าสูงสุดคือ 125,000
.
การใช้กับตารางข้อมูลนี่สะดวกมากครับ ไม่ต้องคอยระบุช่วงเซลล์ทีละเซลล์ แค่อ้างถึงชื่อคอลัมน์ในตารางก็ได้แล้ว

### 3. ตัวอย่างที่ 3: แปลงค่าลบเป็น 0 (Clamp)

```excel
=MAX(0, -50)
```

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

ใช้ MAX(0, value) เพื่อบังคับให้ค่าลบกลายเป็น 0 เทคนิคนี้เรียกว่า Clamp ครับ
.
ส่วนตัวผมใช้เทคนิคนี้บ่อยมากในการคำนวณยอดคงเหลือ หรือป้องกันไม่ให้มีค่าติดลบแสดงออกมา 😎

### 4. ตัวอย่างที่ 4: หาวันที่ล่าสุด

```excel
=MAX(Orders[OrderDate])
```

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

วันที่ใน Excel จริงๆ แล้วเก็บเป็นตัวเลข (Serial Number) อยู่เบื้องหลัง
.
ดังนั้น MAX จึงสามารถหาวันที่ล่าสุดได้ เพราะค่าตัวเลขที่มากที่สุด = วันที่ล่าสุดนั่นเอง (45657 = 15 ธ.ค. 2024)

### 5. ตัวอย่างที่ 5: หาตำแหน่งค่าสูงสุด

```excel
=MATCH(MAX(Scores[Score]), Scores[Score], 0)
```

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

ใช้ MATCH หาตำแหน่งของค่าสูงสุด พบที่แถวที่ 3
.
เทคนิคนี้เจ๋งตรงที่เราสามารถนำไปใช้กับ INDEX เพื่อดึงข้อมูลอื่นๆ จากแถวเดียวกันได้ เช่น ชื่อคนที่ได้คะแนนสูงสุด

### 6. ตัวอย่างที่ 6: เพิกเฉยข้อความ

```excel
=MAX(A2:A5)
```

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

สมมติ A2:A5 มีค่า 100, ข้อความ "N/A", 75 และ 200 — MAX เพิกเฉยข้อความ "N/A" ที่อยู่ในช่วงเซลล์ คำนวณเฉพาะตัวเลข ได้ 200
.
นี่คือจุดแข็งของ MAX ครับ ไม่ต้องกังวลว่าข้อมูลในช่วงจะมีข้อความหรือค่าว่างปนอยู่ มันจะข้ามไปเลยอัตโนมัติ (แต่ถ้าพิมพ์ข้อความตรงๆ เช่น =MAX(100,"N/A",75,200) จะได้ #VALUE!)

## ข้อควรระวังเรื่อง Performance

MAX มีประสิทธิภาพสูงแม้กับข้อมูลขนาดใหญ่ สามารถหาค่าสูงสุดจากข้อมูลหลักหมื่นหรือหลักแสนแถวได้รวดเร็ว

## บริบทเพิ่มเติม

ใช้ได้กับ Excel ทุกเวอร์ชัน ทั้ง Windows, Mac และ Web ไม่ต้องการเวอร์ชันพิเศษ

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

- 💡 **Tip**: วันที่ใน Excel จริงๆ แล้วเก็บเป็นตัวเลข (Serial Number) อยู่เบื้องหลัง ดังนั้น MAX จึงสามารถหาวันที่ล่าสุดได้ทันที เพราะค่าตัวเลขที่มากที่สุด = วันที่ล่าสุดนั่นเอง

- .

- ส่วนตัวผมชอบใช้ MAX เป็นเทคนิค Clamp (จำกัดค่า) โดยใส่ =MAX(0, value) เพื่อบังคับให้ค่าลบกลายเป็น 0 ใช้บ่อยมากในการคำนวณยอดคงเหลือหรือป้องกันไม่ให้มีค่าติดลบ 😎

- .

- **เปรียบเทียบ MAX vs MAXA vs MAXIFS:**

- | | MAX | MAXA | MAXIFS |

- |---|-----|------|--------|

- | ข้อความ | เพิกเฉย | นับเป็น 0 | เพิกเฉย |

- | TRUE/FALSE | เพิกเฉย | TRUE=1, FALSE=0 | เพิกเฉย |

- | เงื่อนไข | ไม่มี | ไม่มี | มี (หลายเงื่อนไข) |

- | เวอร์ชัน | ทุกเวอร์ชัน | ทุกเวอร์ชัน | 2016+ |

- **เทคนิค Clamp (จำกัดค่า):**

- ```

- =MAX(0, value)  → ค่าลบกลายเป็น 0

- =MIN(100, MAX(0, value))  → จำกัดค่าอยู่ในช่วง 0-100

- ```

- **หาตำแหน่งค่าสูงสุด:**

- ```

- =MATCH(MAX(Data), Data, 0)  → ตำแหน่ง

- =INDEX(Names, MATCH(MAX(Scores), Scores, 0))  → ดึงชื่อ

- ```

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

**Q: MAX แตกต่างจาก MAXA อย่างไร?**

MAX เพิกเฉยค่า Logic (TRUE/FALSE) และข้อความ ส่วน MAXA จะนับ TRUE = 1, FALSE = 0, และข้อความ = 0
.
ส่วนตัวผมแนะนำให้ใช้ MAX สำหรับข้อมูลตัวเลขทั่วไป เพราะปลอดภัยกว่า ไม่ต้องกังวลว่าจะมีค่า Logic แอบปนมา 😅

**Q: จะหาค่าสูงสุดแบบมีเงื่อนไขได้อย่างไร?**

ใช้ MAXIFS (Excel 2016 ขึ้นไป) ได้เลยครับ เช่น =MAXIFS(D2:D10, A2:A10, "กรุงเทพ", C2:C10, ">100")
.
ถ้าเวอร์ชันเก่า ต้องใช้สูตรแบบ Array เช่น =MAX(IF(A2:A10="กรุงเทพ", B2:B10)) แล้วกด Ctrl+Shift+Enter แต่ถ้ามี MAXIFS อยู่แล้ว ใช้ MAXIFS จะง่ายกว่าเยอะครับ 😎

**Q: MAX จะคืนค่าอะไรถ้าไม่มีตัวเลขเลย?**

MAX จะคืนค่า 0 ถ้าช่วงเซลล์ที่อ้างถึงมีแต่เซลล์ว่าง ข้อความ หรือค่า Logic
.
ตัวอย่าง =MAX(A1:A3) เมื่อ A1:A3 มีแต่ข้อความ จะได้ 0 เพราะไม่มีตัวเลขในช่วงเลย (หมายเหตุ: ถ้าพิมพ์ข้อความตรงๆ เช่น =MAX("ก","ข","ค") จะได้ #VALUE! ไม่ใช่ 0) ส่วนตัวผมมักจะใช้ IF ตรวจสอบก่อนว่ามีข้อมูลตัวเลขหรือเปล่า เพื่อป้องกันปัญหานี้

**Q: จะหาค่าสูงสุดที่ 2 ได้อย่างไร?**

ใช้ LARGE ได้เลยครับ เช่น =LARGE(A1:A10, 2) จะหาค่าสูงสุดอันดับที่ 2
.
สูตร LARGE(range, k) จะคืนค่าสูงสุดอันดับที่ k โดย k=1 คือค่าสูงสุด, k=2 คือค่าสูงสุดที่ 2 เป็นต้น เจ๋งมากครับตัวนี้ 😎

**Q: MAX นับค่า 0 หรือไม่?**

ใช่ครับ MAX พิจารณาค่า 0 เป็นตัวเลขปกติ
.
ตัวอย่าง =MAX(0, -5, -10) จะได้ 0 เพราะ 0 มากกว่า -5 และ -10 นี่แหละครับที่ทำให้เทคนิค Clamp (บังคับค่าลบเป็น 0) ใช้ได้

**Q: จะหาตำแหน่งของค่าสูงสุดได้อย่างไร?**

ใช้ MATCH ร่วมกับ MAX ได้ครับ เช่น =MATCH(MAX(A1:A10), A1:A10, 0) จะหาตำแหน่งแถว (row number) ของค่าสูงสุด
.
ถ้าต้องการดึงข้อมูลจากคอลัมน์อื่น เช่น ชื่อคนที่ได้คะแนนสูงสุด ให้ใช้ INDEX-MATCH แบบนี้ =INDEX(Names, MATCH(MAX(Scores), Scores, 0))

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

MAX เป็นฟังก์ชันพื้นฐานที่มีใน Excel ทุกเวอร์ชันครับ ไม่ต้องกังวลเรื่องความเข้ากันได้
.
ใช้ได้ทั้ง Excel for Microsoft 365, Excel 2024, 2021, 2019, 2016, 2013, 2010, 2007 และเวอร์ชันเก่ากว่า ทั้ง Windows, Mac และ Excel for the web

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

- [MIN – ฟังก์ชันหาค่าต่ำสุด](https://www.thepexcel.com/functions/excel/statistical/min/)
- [MAXA – หาค่าสูงสุด (รวม Text/Logic)](https://www.thepexcel.com/functions/excel/statistical/maxa/)
- [MAXIFS – หาค่าสูงสุดแบบมีเงื่อนไข](https://www.thepexcel.com/functions/excel/statistical/maxifs/)
- [LARGE – หาค่าที่มากที่สุดเป็นอันดับที่ต้องการ (k)](https://www.thepexcel.com/functions/excel/statistical/large/)
- [MATCH – ค้นหาตำแหน่งของค่าในรายการ](https://www.thepexcel.com/functions/excel/lookup-and-reference/match/)
- [INDEX – ดึงค่าจากตำแหน่งที่ระบุใน Range หรือ Array](https://www.thepexcel.com/functions/excel/lookup-and-reference/index/)

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

- [Microsoft Support: MAX function](https://support.microsoft.com/en-us/office/max-function-e0012414-9ac8-4b34-9a47-73e662c08098) _(official)_
- [ExcelJet: How to use MAX](https://exceljet.net/functions/max-function) _(guide)_

---

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