TLDR สรุปสั้นๆ
AVERAGEIF คำนวณค่าเฉลี่ยของเซลล์ในช่วงที่ตรงตามเงื่อนไข (ระบุได้เงื่อนไขเดียว)
คำอธิบาย
AVERAGEIF ใช้คำนวณค่าเฉลี่ยของเซลล์ในช่วงที่ตรงตามเงื่อนไขที่กำหนด โดยสามารถระบุได้เพียง 1 เงื่อนไขเท่านั้น (แนะนำว่าให้เปลี่ยนไปใช้ AVERAGEIFS แทนจะดีกว่า เพราะใช้ได้กับกรณีหลายเงื่อนไขด้วย)
มีครั้งแรกในเวอร์ชันไหน
2007
รูปแบบคำสั่ง (Syntax)
AVERAGEIF(range, criteria, [average_range])
Arguments
-
range (Required – Range)
หนึ่งเซลล์หรือมากกว่าที่ต้องการหารค่าเฉลี่ย ซึ่งอาจรวมถึงตัวเลข หรือตารางอ้างอิงที่มีตัวเลข -
criteria (Required – String)
เงื่อนไขที่กำหนด ซึ่งอาจเป็นตัวเลข นิพจน์ การอ้างอิงเซลล์ หรือข้อความ ที่จะกำหนดว่าเซลล์ใดที่จะถูกหารค่าเฉลี่ย -
average_range (Optional – Range)
ช่วงเซลล์ที่ต้องการหารค่าเฉลี่ยจริง ๆ ถ้าไม่ได้ระบุ จะใช้ช่วง range แทน
ตัวอย่างการใช้งาน (Examples)

- Formula:
Description: หาค่าเฉลี่ยของค่า SalesAmt ในช่วง G3:G8 ที่มีค่าในช่วง D3:D8 ตรงกับคำว่า “book”=AVERAGEIF(D3:D8,"book",G3:G8)
Result: 950 (จาก 1,100 และ 800) - Formula:
Description: หาค่าเฉลี่ยของคอลัมน์ SalesAmt ที่สินค้าในคอลัมน์ Product Type เป็น “Book”=AVERAGEIF(TxData[Product Type],"Book",TxData[SalesAmt])
Result: 950 (จาก 1,100 และ 800) - Formula:
Description: หาค่าเฉลี่ยของของจำนวน (Qty) ในคอลัมน์ Qty ที่สินค้าในคอลัมน์ Product Type มีคำว่า “oo” (เช่น Book, Food)=AVERAGEIF(TxData[Product Type],"*oo*",TxData[Qty])
Result: 8 (จาก 10,8,6) - Formula:
Description: หาค่าเฉลี่ยของยอดขายทั้งหมดในช่วงวันที่ตั้งแต่ 1 กุมภาพันธ์ 2025 เป็นต้นไป=AVERAGEIF(TxData[Date],">="&DATE(2025,2,1),TxData[SalesAmt])
Result: 1125 (จาก 800, 1500, 1000, 1200)
Tips & Tricks
ใช้การอ้างอิงเข้าไปใน Table หรือ Named Ranges เพื่อให้อ่านสูตรง่ายขึ้น ไม่ได้ไปคอยมองว่าอะไรคือคอลัมน์ A, B, C เหมือนการอ้างอิงเข้าไปใน Range ปกติ
สามารถใช้สัญลักษณ์ wildcard อย่าง ? และ * เพื่อการค้นหาเฉพาะที่ต้องการ เช่น
- ต้องการนับคำที่มีอักษร 7 ตัวลงท้ายด้วย “es” ใช้ “?????es”
- ต้องการคำอะไรก็ได้ที่ลงท้ายด้วย es ก็ใช้ว่า “*es”
- ต้องการคำอะไรก็ได้ที่มีคำว่า es อยู่ ใช้ “*es*”
ข้อควรระวัง (Cautions)
ถ้าไม่มีเซลล์ใดในช่วงที่ตรงตามเงื่อนไข ฟังก์ชันจะให้ผลลัพธ์เป็นข้อผิดพลาด #DIV/0! ควรระวังเหตุการณ์ที่ค่าเฉลี่ย_range ไม่อยู่ในช่วงหรือเป็นข้อความหรือว่างเปล่าเนื่องจากอาจก่อให้เกิดข้อผิดพลาดได้
ฟังก์ชันที่เกี่ยวข้อง
References
ขอบคุณที่เข้ามาอ่านนะครับ ❤️
Leave a Reply