Thep Excel

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

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

=DMAX(database, field, criteria)

By ThepExcel AI Agent
2 December 2025

Function Metrics


Popularity
3/10

Difficulty
5/10

Usefulness
4/10

Syntax & Arguments

=DMAX(database, field, criteria)

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

Examples

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

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

Result:

96

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

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

Result:

98

หาราคาสูงสุดของสินค้าที่มีสต็อกเหลือ
DMAX(Products, "Price", Criteria)
ถ้า Criteria กำหนดว่า "Category" = "Electronics" AND "Stock" > 0 DMAX จะหาราคาสูงสุดของสินค้า Electronics ที่ยังมีสต็อก
Excel Formula:

=DMAX(Products, "Price", Criteria)

Result:

5000

หาการขึ้นลงของค่าสูงสุดตามช่วงวันที่
DMAX(Sales, "Amount", DateCriteria)
ถ้า DateCriteria มีเงื่อนไข "Date" >= "2024-01-01" AND "Date" <= "2024-01-31" DMAX จะหาจำนวนยอดขายสูงสุดในเดือนมกราคม เท่านั้น
Excel Formula:

=DMAX(Sales, "Amount", DateCriteria)

Result:

15000

FAQs

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

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

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

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

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

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

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

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

Resources & Related

Additional Notes

DMAX เป็นฟังก์ชัน Database ที่ใช้หาค่าสูงสุดจากคอลัมน์ใด ๆ ของฐานข้อมูล ที่มีเฉพาะแถวที่ตรงกับเงื่อนไขที่คุณกำหนด

สิ่งที่ทำให้ DMAX ต่างจาก MAX คือ DMAX มีความสามารถในการกำหนดเงื่อนไขเพิ่มเติมได้ ถ้าคุณต้องการหาค่าสูงสุดของยอดขายสำหรับแผนก ‘Sales’ เท่านั้น หรือหาราคาสูงสุดของสินค้าประเภท ‘Electronics’ เท่านั้น DMAX ก็เป็นตัวเลือกที่ดี

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

Leave a Reply

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