AVERAGEIF / AVERAGEIFS หาค่าเฉลี่ยแบบมีเงื่อนไข

AVERAGEIF เป็นฟังก์ชันสำหรับคำนวณค่าเฉลี่ยเลขคณิต หรือค่า mean แบบเดียวกับฟังก์ชัน AVERAGE แต่ว่าจะมีเงื่อนไขว่าจะเลือกคำนวณจากอะไร

สำหรับการคำนวณค่าเฉลี่ยเลขคณิต โดยกำหนดเงื่อนไขนี้ จะมีอยู่ 2 ฟังก์ชันที่คล้ายคลึงกัน คือ AVERAGEIF กับ AVERAGEIFS (ต่างกันแค่มี s กับไม่มี s) ซึ่งความแตกต่างก็คือ AVERAGEIF ตั้งเงื่อนไขเพียงแค่ 1 เงื่อนไข แต่ถ้าเป็น AVERAGEIFS จะตั้งเงื่อนไขได้มากกว่า 1 เงื่อนไข

การใช้ฟังก์ชัน AVERAGEIF 

AVERAGEIF จะเป็นการหาค่าเฉลี่ย โดยมีเงื่อนไข 1 เงื่อนไข การเขียนสูตรสำหรับฟังก์ชัน AVERAGEIF จะต้องกำหนดช่วงข้อมูลและเงื่อนไขให้ชัดเจน คือ

AVERAGEIF(ช่วงข้อมูล, เงื่อนไข, [ช่วงที่ต้องการคำนวณ])

ช่วงข้อมูล คือช่วงข้อมูลที่ต้องการหาเงื่อนไข ถ้าไม่ได้กำหนด [ช่วงที่ต้องการคำนวณ]ไว้ จะคำนวณผลจากช่วงข้อมูลนี้

เงื่อนไข คือสิ่งที่ต้องการใช้ในการกำหนดว่า ถ้าเป็นไปตามเงื่อนไขนี้ ให้คำนวณค่ามัชฌิมเลขคณิตออกมา

[ช่วงที่ต้องการคำนวณ] เป็นส่วนเสริม คือจะใส่หรือไม่ใส่ก็ได้ ถ้าไม่กำหนดตรงนี้ไว้ จะคำนวณที่ช่วงข้อมูล แต่ถ้าใส่ไว้ จะนำข้อมูลจาก [ช่วงที่ต้องการคำนวณ] นี้มาคำนวณ

ตัวอย่าง AVERAGEIF

ตัวอย่างเช่น เรามีข้อมูลการขายสินค้า จะมี Order Date (วันที่สั่ง) Region (ภาค) REP (ชื่อพนักงาน) Item (ประเภทสินค้า) Units (จำนวนหน่วย) Unit Cost (ราคาต่อหน่วย) Total (รวมยอดเงิน)

– ข้อมูลตัวอย่างนี้จาก https://www.contextures.com/xlsampledata01.html#data

ตัวอย่างที่ 1

สมมติ เราจะสร้างเงื่อนไขง่าย ๆ ก่อนว่า จะหาค่าเฉลี่ย จาก Total ที่ไม่เกิน 200 เหรียญ

ถ้า ไม่ใช้ฟังก์ชัน AVERAGEIF เราอาจจะต้องเรียงลำดับคอลัมน์ Totla หรือ filter ข้อมูลที่มี Total ไม่เกิน 200 หน่วยขึ้นไป แล้วค่อยเอามาหาค่าเฉลี่ย

แต่ในเมื่อมีฟังก์ชัน AVERAGEIF เราก็เพียงแค่เขียนสูตรเข้าไป

=AVERAGEIF(G2:G44, "<=200")

ช่วงข้อมูล คือ ข้อมูลใน Total จาก G2 ถึง G44

เงื่อนไข คือ น้อยกว่าหรือเท่ากับ 200  นั่นคือ “<=200”

[ช่วงที่ต้องการคำนวณ] ไม่ใส่ เพราะจะให้คำนวณจาก G2 ถึง G44

AVERAGEIF

ก็จะได้ผลลัพธ์ที่ต้องการ คือ 105.9052941

ตัวอย่างที่ 2 หาค่าเฉลี่ยของช่วงข้อมูลหนึ่ง โดยใช้เงื่อนไขจากอีกช่วงข้อมูลหนึ่ง

เราต้องการหาว่า Pencil จำนวนที่ขายได้เฉลี่ยกี่ units ก็เขียนเป็นสูตรดังนี้

=AVERAGEIF(D2:D44,"Pencil",E2:E44)

ช่วงข้อมูล คือช่วงที่ต้องการหาเงื่อนไข ในที่นี้คือ D2:D44 หรือ Item ในคอลัมน์ D

เงื่อนไข คือ Pencil

[ช่วงที่ต้องการคำนวณ] คือ E2:E44 หรือ Units ในคอลัมน์ E

เพียงเท่านี้ก็เรียบร้อย ได้ผลลัพธ์ 55.07692308

ตัวอย่างที่ 3 ใช้ wildcard ในเงื่อนไข

สำหรับ wildcard หรือ “อักขระตัวแทนพิเศษ” นี้ ที่ใช้กันอยู่จะมี 2 ตัว คือ ดอกจัน (*) กับ ปรัศนี (?)

ดอกจัน (*) จะแทนที่อักขระกี่ตัวก็ได้ เช่น *cel ก็หมายถึง คำอะไรก็ได้ ที่ลงท้ายว่า celเช่น excel, Parcel, Cancel 

หรือ def* หมายถึงคำอะไรก็ได้ ที่ขึ้นต้นด้วย def โดยไม่จำกัดจำนวนอักขระ

ปรัศนี (?) จะใช้แทนอักขระ 1 ตัว นั่นคือ จะต้องระบุให้ชัดเจนว่า มีจำนวนกี่อักขระ อย่างเช่น ??? cel หมายถึง คำนั้น จะต้องประกอบด้วยอักขระ 6 ตัว ซึ่ง สามตัวท้ายจะเป็น celเช่น parcel, cancel, marcel เป็นต้น ถ้าเป็น excel จะไม่เข้าข่าย เพราะมีอักขระ 5 ตัว ไม่ตรงกับเงื่อนไข

Tip: เนื่องจาก * และ ? เป็น wildcard หรืออักขระที่มีฟังก์ชันพิเศษ ถ้าเราจะค้นหาคำที่มี * หรือ ? จริง ๆ จะต้องใส่ตัว escape เพื่อละเว้นการใช้ฟังก์ชันพิเศษของอักขระนี้เสียก่อน นั่นคือใส่เครื่องหมาย – เข้าไปข้างหน้า

ตัวอย่างการใช้ wildcard

เราต้องการหาค่าเฉลี่ยของอุปกรณ์ที่ใช้เขียน คือ pen, pen set และ pencil ค่าเฉลี่ยของจำนวน Units ต่อครั้ง อยู่ที่เท่าไหร่

ช่วงข้อมูล คือช่วงที่ต้องการหาเงื่อนไข ในที่นี้คือ D2:D44 หรือ item ในคอลัมน์ D

เงื่อนไข คือ ทุกอย่างที่ขึ้นต้นด้วย pen นั่นคือใส่ค่า “pen*”

[ช่วงที่ต้องการคำนวณ] คือ E2:E44 หรือ Units ในคอลัมน์ E

=AVERAGEIF(D2:D44,"pen*",E2:E44)

ก็จะได้ผลลัพธ์ 55.56

Tip: เราสามารถใช้ operator ร่วมกับเงื่อนไขได้ เช่น ถ้าเราต้องการหาปริมาณ units ต่อยอดคำสั่งซื้อ ของทุกอย่าง ยกเว้น ที่ขึ้นต้นด้วย pen เราเขียนสูตรแบบนี้ 

=AVERAGEIF(D2:D44,"<>pen*",E2:E44)
AVERAGEIF

Tips ถ้าเงื่อนไขที่เราต้องการคือ cell ที่ว่างเปล่า ไม่มีอะไรเลย ไม่มีสูตร ไม่มีข้อความว่าง ให้ใช้ “=“ 

ถ้าเงื่อนไข คือ cell ที่แสดงผลว่างเปล่า แต่จริง ๆ มีสูตรอยู่ (แต่แสดงค่าเป็นว่าง) ให้ใช้ “ “

AVERAGEIFS

คุณสมบัติแทบทุกอย่าง จะคล้ายกับ AVERAGEIF เพียงแค่กำหนดเงื่อนไขได้มากกว่า 1 เงื่อนไข ความแตกต่างคือ จะต้องเอาช่วงข้อมูลที่จะคำนวณค่า mean มาไว้หน้าสุด แล้วค่อยต่อด้วย ช่วงที่จะหาเงื่อนไข กับ เงื่อนไข ที่ต้องการ

รูปแบบการเขียนสูตร AVERAGEIFS

AVERAGEIFS(ช่วงที่ต้องการคำนวณ, ช่วงสำหรับเงื่อนไข1, เงื่อนไข1, [ช่วงสำหรับเงื่อนไข2, เงื่อนไข2], …)

ตัวอย่าง

จากตัวอย่าง 1 ของ AVERAGEIF ลองมาดูว่า ถ้าจะเขียนสูตรจากโจทย์เดิม คือ จะหาค่าเฉลี่ย จาก Total ที่ไม่เกิน 200 เหรียญ 

ถ้าเป็น AVERAGEIF จะเป็น

=AVERAGEIF(G2:G44, "<=200")

แต่ถ้าเป็น AVERAGEIFS จะได้หน้าตาแบบนี้

=AVERAGEIFS(G2:G44, G2:G44"<=200")

ทั้ง 2 สูตร จะได้ผลลัพธ์เท่ากัน คือ 105.9052941

ตัวอย่างการใช้เงื่อนไขมากกว่า 1 เงื่อนไข

ต้องการหาค่าเฉลี่ย Total ของ Pencil ที่มีปริมาณต่อคำสั่งซื้อ ตั้งแต่ 50 หน่วยขึ้นไป เราจะเขียนสูตรได้ดังนี้

=AVERAGEIFS(G2:G44, D2:D44,"pencil",E2:E44,">=50")
AVERAGEIF

ช่วงที่ใช้คำนวณคือ Total (G2:G44)

เงื่อนไขแรก item (D2:D44) คือ pencil

เงื่อนไขสอง Units (E2:E44) มากกว่าเท่ากับ 50

1 thought on “AVERAGEIF / AVERAGEIFS หาค่าเฉลี่ยแบบมีเงื่อนไข”

  1. Pingback: AVERAGE – ค่าเฉลี่ย - Def Excel

ความคิดเห็น

Scroll to Top