---
title: DMAX – หาค่าสูงสุดจากฐานข้อมูลตามเงื่อนไข
url: https://www.thepexcel.com/functions/excel/database/dmax/
type: function-explainer
program: Excel
syntax: "=DMAX(database, field, criteria)"
date: 2025-12-02
updated: 2025-12-24
scores:
  popularity: 3
  difficulty: 5
  usefulness: 4
---

# DMAX – หาค่าสูงสุดจากฐานข้อมูลตามเงื่อนไข

> DMAX หาค่าสูงสุดจากคอลัมน์ในฐานข้อมูลที่ตรงกับเงื่อนไขที่กำหนด โดยต้องใช้กับหลายเงื่อนไขที่ซับซ้อน

## คำอธิบาย

DMAX หาค่าสูงสุดจากคอลัมน์ในฐานข้อมูลที่ตรงกับเงื่อนไขที่กำหนด โดยต้องใช้กับหลายเงื่อนไขที่ซับซ้อน

## Syntax

```excel
=DMAX(database, field, criteria)
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| database | Yes | Range |  | ช่วงเซลล์ที่มีข้อมูลฐานข้อมูลทั้งหมด รวมถึงแถวหัว (header) ซึ่งแถวแรกต้องเป็นชื่อคอลัมน์ |
| field | Yes | Text or Number |  | ชื่อคอลัมน์ (เป็นข้อความในเครื่องหมายอัญประลัษณ์) หรือหมายเลขลำดับของคอลัมน์ (1 = คอลัมน์แรก, 2 = คอลัมน์ที่สอง ฯลฯ) |
| criteria | Yes | Range |  | ช่วงเซลล์ที่มีเงื่อนไขการค้นหา โดยแถวแรกต้องเป็นชื่อคอลัมน์ (เดียวกับในฐานข้อมูล) และแถวต่อไปคือค่าเงื่อนไขที่ต้องการ |

## ตัวอย่าง

### 1. หาค่าสูงสุดที่ตรงกับเงื่อนไขเดียว

```excel
=DMAX(A5:E11, "Profit", A1:F3)
```

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

ฐานข้อมูล A5:E11 มีคอลัมน์ Profit ส่วน Criteria A1:F3 มีเงื่อนไขเช่น 'Fruit = Apple' หรือ 'Height = 10-16 ft' ผลลัพธ์ 96 คือค่า Profit สูงสุดที่ตรงกับเงื่อนไขเหล่านั้น

### 2. หาคะแนนสูงสุดของแผนกที่เลือก

```excel
=DMAX(A2:C100, "Score", E2:E3)
```

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

ฐานข้อมูล A2:C100 มีข้อมูลพนักงาน (ชื่อ แผนก คะแนน) ถ้า E2:E3 มีเงื่อนไข "Department" = "Sales" DMAX จะหาคะแนนสูงสุดของแผนก Sales เท่านั้น

### 3. หาราคาสูงสุดของสินค้าที่มีสต็อกเหลือ

```excel
=DMAX(Products, "Price", Criteria)
```

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

ถ้า Criteria กำหนดว่า "Category" = "Electronics" AND "Stock" > 0 DMAX จะหาราคาสูงสุดของสินค้า Electronics ที่ยังมีสต็อก

### 4. หาการขึ้นลงของค่าสูงสุดตามช่วงวันที่

```excel
=DMAX(Sales, "Amount", DateCriteria)
```

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

ถ้า DateCriteria มีเงื่อนไข "Date" >= "2024-01-01" AND "Date"

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

- ใช้ Named Range สำหรับ database และ criteria เพื่อให้สูตรอ่านง่ายและสามารถดำเนินการต่อได้ง่ายขึ้น เช่น =DMAX(SalesData, "Amount", SalesCriteria)

- ถ้าต้องการหลายเงื่อนไขที่สัมพันธ์กัน (OR logic) ให้วางเงื่อนไขในแถวต่างกัน แต่ในคอลัมน์เดียวกันของ Criteria Range

- ตรวจสอบว่า Criteria Range ไม่ได้วางข้างใต้ฐานข้อมูล เนื่องจากเมื่อเพิ่มข้อมูลใหม่ อาจดึงเข้ามาในการคำนวณโดยไม่ตั้งใจ

- สำหรับหลายเงื่อนไขที่เรียบง่าย ลองใช้ MAXIFS แทน เพราะมันอ่านง่ายกว่าและใช้พื้นที่น้อยกว่า

- ใช้ DMAX ร่วมกับ DMIN, DAVERAGE, หรือ DSUM เพื่อสร้างการวิเคราะห์ข้อมูลที่ครอบคลุม

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

**Q: DMAX กับ MAXIFS ต่างกันอย่างไร**

ทั้งสองฟังก์ชันทำหน้าที่คล้ายกันในการหาค่าสูงสุดตามเงื่อนไข แต่ DMAX ใช้รูปแบบ Criteria Range ที่แยกจากข้อมูล ขณะที่ MAXIFS ระบุเงื่อนไขโดยตรงในอาร์กิวเมนต์ MAXIFS มักจะอ่านง่ายกว่า แต่ DMAX มีประโยชน์เมื่อต้องการเงื่อนไขที่ซับซ้อนมากหรือใช้ Criteria Range ซ้ำหลายครั้ง

**Q: ต้องตั้งค่า Criteria Range อย่างไร**

Criteria Range ต้องมีสองส่วน: แถวแรกเป็นชื่อคอลัมน์ที่เหมือนกับในฐานข้อมูล และแถวต่อไปคือค่าเงื่อนไข สำหรับเงื่อนไขหลายจำนวน ให้วางลงแถวสำหรับแต่ละคอลัมน์ เงื่อนไขต่างแถวจะทำให้เป็น OR แต่เงื่อนไขต่างคอลัมน์เดียวกัน จะทำให้เป็น AND

**Q: ถ้า Criteria Range ว่างเปล่าจะเกิดอะไร**

ถ้า Criteria Range ว่างเปล่าหรือไม่มีเงื่อนไข DMAX จะหาค่าสูงสุดของคอลัมน์ทั้งหมด ซึ่งเหมือนกับการใช้ฟังก์ชัน MAX บนคอลัมน์นั้น

**Q: เพราะเหตุใด DMAX ไม่ทำงาน (แสดง #NAME? error)**

อาจเกิดจากชื่อคอลัมน์ (field) ไม่ตรงกับชื่อที่ใช้ในฐานข้อมูล หรือ Criteria Range ไม่มีชื่อคอลัมน์ในแถวแรก ตรวจสอบการสะกดคำและช่องว่างให้แน่นอน

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

- [MAX – ฟังก์ชันหาค่าสูงสุด](https://www.thepexcel.com/functions/excel/statistical/max/)
- [MAXIFS – หาค่าสูงสุดแบบมีเงื่อนไข](https://www.thepexcel.com/functions/excel/statistical/maxifs/)

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

- [Microsoft - DMAX Function Documentation](https://support.microsoft.com/en-us/office/dmax-function-f4e8209d-8958-4c3d-a1ee-6351665d41c2) _(official)_
- [Database Functions Guide](https://support.microsoft.com/en-us/office/database-functions-in-excel-a37f0a0a-57be-4cc3-bb80-c6f89f8c4d1a) _(official)_

---

_Source: [https://www.thepexcel.com/functions/excel/database/dmax/](https://www.thepexcel.com/functions/excel/database/dmax/)_
