AVERAGEIF
ฟังก์ชั่น AVERAGEIF จะส่งค่าเฉลี่ย (ค่าเฉลี่ยเลขคณิต) ของเซลล์ที่อยู่ในช่วงของเงื่อนไขที่ระบุ
AVERAGEIF(ค่าทดสอบ, เงื่อนไข, ค่าที่จะเฉลี่ย)
ค่าทดสอบ: คอลเลกชั่นที่ประกอบด้วยค่าที่จะทดสอบ ค่าทดสอบสามารถประกอบด้วยค่าใดๆ
เงื่อนไข: นิพจน์ ที่เปรียบเทียบหรือทดสอบค่า และแสดงผลใน ค่าบูลีน เป็น TRUE หรือ FALSE เงื่อนไข สามารถรวมตัวดำเนินการเปรียบเทียบ ค่าคงที่ ตัวดำเนินการการเชื่อมเครื่องหมาย การอ้างอิง และอักขระตัวแทน คุณสามารถใช้ อักขระตัวแทน เพื่อให้ตรงกับอักขระเดี่ยวใดๆ หรืออักขระหลายตัวในนิพจน์ คุณสามารถใช้ ? (เครื่องหมายคำถาม) เพื่อแทนถึงอักขระหนึ่งตัว ใช้ * (เครื่องหมายดอกจัน) เพื่อแทนถึงอักขระหลายตัว และใช้ ~ (เครื่องหมายตัวหนอน) เพื่อระบุว่าให้ค้นหาอักขระที่ตามมาอย่างตรงตัว ไม่ใช่ใช้เป็นอักขระตัวแทน เงื่อนไขสามารถประกอบด้วยฟังก์ชั่น REGEX แทนอักขระตัวแทนได้ด้วย
ค่าที่จะเฉลี่ย: คอลเลกชั่นตัวเลือกที่ประกอบด้วยจำนวนที่จะถูกเฉลี่ย ค่าที่จะเฉลี่ย จะเป็นการอ้างอิงถึงคอลเลกชั่นหนึ่งๆ ของเซลล์ ที่อาจจะประกอบด้วยค่าตัวเลข หรือค่าบูลีน
หมายเหตุ
แต่ละค่าจะถูกเปรียบเทียบกับ เงื่อนไข ถ้าค่าพบจากการทดสอบเงื่อนไขนั้น ค่าที่สอดคล้องในค่าที่จะเฉลี่ยจะถูกรวมไปในการเฉลี่ย
ค่าที่จะเฉลี่ย และ ค่าทดสอบ (หากระบุ) จะต้องมีขนาดเท่ากัน
ถ้าค่าที่จะเฉลี่ยถูกเว้นว่าง ซึ่งค่าทดสอบจะถูกใช้สำหรับค่าที่จะเฉลี่ย
ถ้าค่าที่จะเฉลี่ยถูกเว้นว่างหรือเหมือนกันกับค่าทดสอบ โดยค่าทดสอบนั้นสามารถประกอบด้วยตัวเลข นิพจน์ตัวเลข หรือค่าบูลีนได้
ถ้ามีมากกว่าหนึ่ง เงื่อนไข หรือชุดของ ค่าทดสอบ จำเป็นในการใช้งาน ควรใช้ฟังก์ชั่น AVERAGEIFS
ตัวอย่างเช่น |
---|
กำหนดให้ตารางเป็นดังนี้: |
A | B | C | D | |
---|---|---|---|---|
1 | อายุ | เพศ | สถานะ | เงินเดือน |
2 | 35 | แต่งงาน | แต่งงาน | 71,000 |
3 | 27 | F | แต่งงาน | 81,000 |
4 | 42 | แต่งงาน | แต่งงาน | 86,000 |
5 | 51 | แต่งงาน | โสด | 66,000 |
6 | 28 | แต่งงาน | โสด | 52,000 |
7 | 49 | F | โสด | 62,000 |
8 | 63 | F | แต่งงาน | 89,000 |
9 | 22 | แต่งงาน | แต่งงาน | 34,000 |
10 | 29 | F | โสด | 42,000 |
11 | 35 | F | แต่งงาน | 56,000 |
12 | 33 | แต่งงาน | โสด | 62,000 |
13 | 61 | แต่งงาน | แต่งงาน | 91,000 |
=AVERAGEIF(A2:A13, "<40", D2:D13) จะส่งค่าประมาณกลับมาเป็น 56,857 ซึ่งเป็นเงินเดือนเฉลี่ยของประชากรที่อายุน้อยกว่า 40 ปี =AVERAGEIF(B2:B13, "=หญิง", D2:D13) จะส่งค่ากลับมาเป็น 66,000 ซึ่งเป็นค่าเฉลี่ยเงินเดือนของผู้หญิง (ระบุโดย "หญิง" ในคอลัมน์ B) =AVERAGEIF(C2:C13, "โสด", D2:D13) จะส่งค่ากลับมาเป็น 56,800 ซึ่งเป็นค่าเฉลี่ยเงินเดือนของประชากรที่ไม่ได้แต่งงาน (ระบุโดย "โสด" ในคอลัมน์ C) =AVERAGEIF(A2:A13, ">=40", D2:D13) จะส่งค่ากลับมาเป็น 78,800 ซึ่งเป็นเงินเดือนเฉลี่ยของประชากรที่อายุ 40 ปีหรือมากกว่า คุณยังสามารถใช้ตัวดำเนินการ ≥ ได้อีกด้วย =AVERAGEIF(C2:C13, "<>M", D2:D13) จะส่งค่ากลับมาเป็น 56,800 ซึ่งเป็นเงินเดือนเฉลี่ยของประชากรที่ยังไม่ได้แต่งงาน คุณยังสามารถใช้ตัวดำเนินการ ≠ ได้อีกด้วย |
ตัวอย่างในการใช้ REGEX |
---|
กำหนดให้ตารางเป็นดังนี้: |
A | B | |
---|---|---|
1 | 45 | marina@example.com |
2 | 41 | Aaron |
3 | 29 | michael@example.com |
4 | 64 | katrina@example.com |
5 | 12 | Sarah |
=AVERAGEIF(B1:B5, REGEX("([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"), A1:A5) จะส่งค่ากลับมาเป็น 46 ซึ่งเป็นค่าเฉลี่ยของเซลล์ทั้งหมดใน A1:A5 โดยเซลล์ที่สอดคล้องกันใน B1:B5 ประกอบด้วยที่อยู่อีเมล |