ຟັງຊັນ AVERAGEIFS
ສົ່ງຄືນຄ່າສະເລ່ຍເລກຄະນິດຂອງທຸກໆເຊວໃນຊ່ວງທີ່ກົງກັບຫຼາຍໆເງື່ອນໄຂທີ່ກຳນົດໃຫ້. ຟັງຊັນ AVERAGEIFS ຈະລວມຄ່າທັງໝົດທີ່ກົງກັບການທົດສອບທາງຕັກກະສາດ ແລະ ຫານຜົນລວມນັ້ນດ້ວຍຈຳນວນຄ່າທີ່ເລືອກ.
ຟັງຊັນນີ້ມີໃຫ້ໃຊ້ຕັ້ງແຕ່ LibreOffice 4.0.
AVERAGEIFS(Func_Range; Range1; Criterion1[; Range2; Criterion2][; … ; [Range127; Criterion127]])
Func_range – ອາກິວເມັນທີ່ຈຳເປັນ. ມັນແມ່ນຊ່ວງຂອງເຊວ, ຊື່ຂອງຊ່ວງທີ່ຕັ້ງຊື່ໄວ້ ຫຼື ປ້າຍຊື່ຂອງຄໍລຳ ຫຼື ແຖວທີ່ມີຄ່າສຳລັບການຄິດໄລ່ຄ່າສະເລ່ຍ.
Range1 – ພາຣາມິເຕີທີ່ຈຳເປັນ. ມັນແມ່ນຊ່ວງຫ້ອງ, ຊື່ຂອງຊ່ວງທີ່ຕັ້ງຊື່ໄວ້ ຫຼື ປ້າຍຊື່ຂອງຖັນ ຫຼື ແຖວ ທີ່ຕ້ອງການນຳໃຊ້ເງື່ອນໄຂທີ່ກ່ຽວຂ້ອງ.
Criterion1: ເງື່ອນໄຂແມ່ນນິພົດຂໍ້ຄວາມທີ່ຄຳນວນຈາກການອ້າງອີງຫ້ອງດຽວ, ສູດ, ຕົວເລກ ຫຼື ຂໍ້ຄວາມ. ມັນຖືກໃຊ້ໃນການປຽບທຽບກັບເນື້ອໃນຂອງຫ້ອງ.
ການອ້າງອີງເຖິງຫ້ອງວ່າງຈະຖືກຕີຄວາມໝາຍເປັນຄ່າຕົວເລກ 0.
ນິພົດທີ່ກົງກັນສາມາດເປັນ:
-
ຕົວເລກ ຫຼື ຄ່າທາງຕັກກະສາດ. ເນື້ອໃນຫ້ອງທີ່ກົງກັນຈະເທົ່າກັບຕົວເລກ ຫຼື ຄ່າທາງຕັກກະສາດນັ້ນ.
-
ຄ່າທີ່ເລີ່ມຕົ້ນດ້ວຍຕົວປຽບທຽບ (<, <=, =, >, >=, <>).
ສຳລັບ =, ຖ້າຄ່າວ່າງ ມັນຈະກົງກັບຫ້ອງທີ່ວ່າງ.
ສຳລັບ <>, ຖ້າຄ່າວ່າງ ມັນຈະກົງກັບຫ້ອງທີ່ບໍ່ວ່າງ.
ສຳລັບ <>, ຖ້າຄ່າບໍ່ວ່າງ ມັນຈະກົງກັບເນື້ອໃນຫ້ອງໃດກໍໄດ້ຍົກເວັ້ນຄ່ານັ້ນ, ລວມທັງຫ້ອງວ່າງນຳ.
ໝາຍເຫດ: "=0" ບໍ່ກົງກັບຫ້ອງວ່າງ.
ສຳລັບ = ແລະ <>, ຖ້າຄ່າບໍ່ວ່າງ ແລະ ບໍ່ສາມາດຕີຄວາມໝາຍເປັນປະເພດຕົວເລກໄດ້ ແລະ ມີການເລືອກຄຸນສົມບັດ ເງື່ອນໄຂການຄົ້ນຫາ = ແລະ <> ຕ້ອງໃຊ້ກັບທັງໝົດຫ້ອງ, ການປຽບທຽບຈະເຮັດກັບເນື້ອໃນທັງໝົດຂອງຫ້ອງ. ຖ້າບໍ່ໄດ້ເລືອກ, ການປຽບທຽບຈະເຮັດກັບສ່ວນໃດສ່ວນໜຶ່ງຂອງຊ່ອງຂໍ້ມູນທີ່ກົງກັບເງື່ອນໄຂ.
-
ຄ່າຂໍ້ຄວາມອື່ນໆ. ຖ້າຄຸນສົມບັດ ເງື່ອນໄຂການຄົ້ນຫາ = ແລະ <> ຕ້ອງໃຊ້ກັບທັງໝົດຫ້ອງ ເປັນຈິງ, ການປຽບທຽບຈະເຮັດກັບເນື້ອໃນທັງໝົດຂອງຫ້ອງ. ຖ້າເປັນເທັດ, ການປຽບທຽບຈະເຮັດກັບສ່ວນໃດສ່ວນໜຶ່ງຂອງຊ່ອງຂໍ້ມູນທີ່ກົງກັບເງື່ອນໄຂ. ນິພົດສາມາດປະກອບດ້ວຍຂໍ້ຄວາມ, ຕົວເລກ, ນິພົດປົກກະຕິ (Regular expressions) ຫຼື ຕົວແທນ (Wildcards) (ຖ້າເປີດໃຊ້ໃນຕົວເລືອກການຄຳນວນ).
Range2 – ທາງເລືອກ. Range2 ແລະ ສ່ວນທີ່ເຫຼືອທັງໝົດມີຄວາມໝາຍດຽວກັນກັບ Range1.
Criterion2 – ທາງເລືອກ. Criterion2 ແລະ ສ່ວນທີ່ເຫຼືອທັງໝົດມີຄວາມໝາຍດຽວກັນກັບ Criterion.
ການຄົ້ນຫາຮອງຮັບຕົວແທນ (wildcards) ຫຼື ນິພົດປົກກະຕິ (regular expressions). ເມື່ອເປີດໃຊ້ນິພົດປົກກະຕິ, ທ່ານສາມາດປ້ອນ "all.*", ຕົວຢ່າງເພື່ອຊອກຫາຕຳແໜ່ງທຳອິດຂອງ "all" ທີ່ຕາມດ້ວຍຕົວອັກສອນໃດໆ. ຖ້າທ່ານຕ້ອງການຄົ້ນຫາຂໍ້ຄວາມທີ່ເປັນນິພົດປົກກະຕິຄືກັນ, ທ່ານຕ້ອງໃສ່ເຄື່ອງໝາຍ "\" ໄວ້ໜ້າທຸກຕົວອັກສອນພິເສດ ຫຼື ຕົວດຳເນີນການຂອງນິພົດປົກກະຕິ, ຫຼື ກວມເອົາຂໍ້ຄວາມນັ້ນໄວ້ໃນ \Q...\E. ທ່ານສາມາດເປີດ ຫຼື ປິດການປະເມີນອັດຕະໂນມັດຂອງຕົວແທນ ຫຼື ນິພົດປົກກະຕິໄດ້ທີ່ .
ເມື່ອໃຊ້ຟັງຊັນທີ່ມີອາຄິວເມັ້ນ (argument) ໜຶ່ງ ຫຼື ຫຼາຍກວ່າເປັນຂໍ້ຄວາມເງື່ອນໄຂການຄົ້ນຫາທີ່ສະແດງເຖິງນິພົດປົກກະຕິ, ມັນຈະພະຍາຍາມແປງຂໍ້ຄວາມເງື່ອນໄຂນັ້ນໃຫ້ເປັນຕົວເລກກ່ອນ. ຕົວຢ່າງ, ".0" ຈະຖືກແປງເປັນ 0.0 ແລະ ອື່ນໆ. ຖ້າສຳເລັດ, ການຈັບຄູ່ຈະບໍ່ແມ່ນການຈັບຄູ່ແບບນິພົດປົກກະຕິ ແຕ່ຈະເປັນການຈັບຄູ່ແບບຕົວເລກ. ແນວໃດກໍຕາມ, ເມື່ອປ່ຽນໄປໃຊ້ທ້ອງຖິ່ນ (locale) ທີ່ຕົວຂັ້ນທົດສະນິຍົມບໍ່ແມ່ນຈຸດ ຈະເຮັດໃຫ້ການແປງນິພົດປົກກະຕິເຮັດວຽກໄດ້. ເພື່ອບັງຄັບໃຫ້ມີການປະເມີນເປັນນິພົດປົກກະຕິແທນການສະແດງຜົນແບບຕົວເລກ, ໃຫ້ໃຊ້ບາງນິພົດທີ່ບໍ່ສາມາດຖືກອ່ານຜິດເປັນຕົວເລກໄດ້ ເຊັ່ນ ".[0]" ຫຼື ".\0" ຫຼື "(?i).0".
Func_Range ແລະ Range1, Range2... ຕ້ອງມີຂະໜາດເທົ່າກັນ, ຖ້າບໍ່ດັ່ງນັ້ນ ຟັງຊັນຈະສົ່ງຄືນຂໍ້ຜິດພາດ err:502 - ພາຣາມິເຕີບໍ່ຖືກຕ້ອງ.
ຄວາມສຳພັນທາງຕັກກະສາດລະຫວ່າງເງື່ອນໄຂສາມາດກຳນົດເປັນ AND (ການເຊື່ອມ). ເວົ້າອີກຢ່າງໜຶ່ງຄື, ຖ້າ ແລະ ພຽງແຕ່ຖ້າທຸກເງື່ອນໄຂທີ່ລະບຸຖືກຕ້ອງ, ຄ່າຈາກຫ້ອງທີ່ກ່ຽວຂ້ອງຂອງ Func_Range ຈະຖືກນຳມາຄຳນວນ.
ຟັງຊັນສາມາດມີພາຣາມິເຕີໄດ້ສູງສຸດ 255 ຕົວ, ໝາຍຄວາມວ່າທ່ານສາມາດລະບຸຊ່ວງເງື່ອນໄຂ ແລະ ເງື່ອນໄຂໄດ້ສູງສຸດ 127 ຊຸດ.
ຖ້າຫ້ອງມີຄ່າ TRUE, ຈະຖືກປະຕິບັດເປັນ 1. ຖ້າຫ້ອງມີຄ່າ FALSE – ຈະຖືກປະຕິບັດເປັນ 0 (ສູນ).
ພິຈາລະນາຕາຕະລາງຕໍ່ໄປນີ້
|
|
A
|
B
|
C
|
|
1
|
ຊື່ຜະລິດຕະພັນ
|
Sales
|
Revenue
|
|
2
|
ສໍດຳ
|
20
|
65
|
|
3
|
ບິກ
|
35
|
85
|
|
4
|
ປຶ້ມບັນທຶກ
|
20
|
190
|
|
5
|
ປຶ້ມ
|
17
|
180
|
|
6
|
ກະເປົ໋າສໍ
|
ບໍ່ແມ່ນ
|
ບໍ່ແມ່ນ
|
ໃນທຸກຕົວຢ່າງລຸ່ມນີ້, ຊ່ວງສຳລັບການຄຳນວນປະກອບມີແຖວທີ 6, ເຊິ່ງຈະຖືກລະເວັ້ນເນື່ອງຈາກມັນປະກອບດ້ວຍຂໍ້ຄວາມ.
ການນຳໃຊ້ແບບງ່າຍດາຍ
=AVERAGEIFS(B2:B6;B2:B6;">=20")
ຄິດໄລ່ຄ່າສະເລ່ຍສຳລັບຄ່າໃນຊ່ວງ B2:B6 ທີ່ໃຫຍ່ກວ່າ ຫຼື ເທົ່າກັບ 20. ສົ່ງຄືນ 25, ຍ້ອນວ່າແຖວທີຫ້າບໍ່ກົງກັບເງື່ອນໄຂ.
=AVERAGEIFS(C2:C6;B2:B6;">=20";C2:C6;">70")
ຄິດໄລ່ຄ່າສະເລ່ຍສຳລັບຄ່າໃນຊ່ວງ C2:C6 ທີ່ໃຫຍ່ກວ່າ 70 ແລະ ກົງກັບເຊວໃນ B2:B6 ທີ່ມີຄ່າໃຫຍ່ກວ່າ ຫຼື ເທົ່າກັບ 20. ສົ່ງຄືນ 137.5, ຍ້ອນວ່າແຖວທີສອງ ແລະ ທີຫ້າບໍ່ກົງກັບເງື່ອນໄຂຢ່າງໜ້ອຍນຶ່ງຂໍ້.
ການນຳໃຊ້ Regular Expressions ແລະ ຟັງຊັນຊ້ອນກັນ
=AVERAGEIFS(C2:C6;B2:B6;">"&MIN(B2:B6);B2:B6;"<"&MAX(B2:B6))
ຄິດໄລ່ຄ່າສະເລ່ຍສຳລັບຄ່າໃນຊ່ວງ C2:C6 ທີ່ກົງກັບຄ່າທັງໝົດໃນຊ່ວງ B2:B6 ຍົກເວັ້ນຄ່ານ້ອຍທີ່ສຸດ ແລະ ສູງສຸດ. ສົ່ງຄືນ 127.5, ຍ້ອນວ່າແຖວທີສາມ ແລະ ທີຫ້າບໍ່ກົງກັບເງື່ອນໄຂຢ່າງໜ້ອຍນຶ່ງຂໍ້.
=AVERAGEIFS(C2:C6;A2:A6;"pen.*";B2:B6;"<"&MAX(B2:B6))
ຄິດໄລ່ຄ່າສະເລ່ຍສຳລັບຄ່າໃນຊ່ວງ C2:C6 ທີ່ກົງກັບເຊວໃນ A2:A6 ທີ່ຂຶ້ນຕົ້ນດ້ວຍ "pen" ແລະ ກົງກັບທຸກຄ່າໃນ B2:B6 ຍົກເວັ້ນຄ່າສູງສຸດ. ສົ່ງຄືນ 65, ຍ້ອນວ່າມີພຽງແຖວທີສອງເທົ່ານັ້ນທີ່ກົງກັບທຸກເງື່ອນໄຂ.
ການອ້າງອີງໃສ່ເຊວເປັນເກນເງື່ອນໄຂ
ຖ້າທ່ານຕ້ອງການປ່ຽນເກນເງື່ອນໄຂໄດ້ງ່າຍ, ທ່ານສາມາດກຳນົດມັນໄວ້ໃນເຊວແຍກຕ່າງຫາກ ແລະ ໃຊ້ການອ້າງອີງໃສ່ເຊວນັ້ນ. ຕົວຢ່າງ ຟັງຊັນຂ້າງເທິງສາມາດຂຽນໃໝ່ໄດ້ດັ່ງນີ້:
=AVERAGEIFS(C2:C6;A2:A6;E2&".*";B2:B6;"<"&MAX(B2:B6))
ຖ້າ E2 = pen, ຟັງຊັນຈະສົ່ງຄືນ 65, ຍ້ອນວ່າການອ້າງອີງໃສ່ເຊວຖືກແທນທີ່ດ້ວຍເນື້ອໃນຂອງມັນ.
ຟັງຊັນນີ້ເປັນສ່ວນໜຶ່ງຂອງມາດຕະຖານ Open Document Format for Office Applications (OpenDocument) ເວີຊັນ 1.2. (ISO/IEC 26300:2-2015)