COUNTIFS
ສົ່ງຄືນຈຳນວນຫ້ອງທີ່ກົງກັບເງື່ອນໄຂໃນຫຼາຍຊ່ວງຂໍ້ມູນ.
ຟັງຊັນນີ້ມີໃຫ້ໃຊ້ຕັ້ງແຕ່ LibreOffice 4.0.
COUNTIFS(ຊ່ວງຂໍ້ມູນ; ເງື່ອນໄຂ[; ຊ່ວງຂໍ້ມູນ2; ເງື່ອນໄຂ2][; ... ; [ຊ່ວງຂໍ້ມູນ127; ເງື່ອນໄຂ127]])
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".
ຊ່ວງຂໍ້ມູນ, ຊ່ວງຂໍ້ມູນ2, ... ແລະ ເງື່ອນໄຂ, ເງື່ອນໄຂ2, ... ຕ້ອງມີຂະໜາດດຽວກັນ, ຖ້າບໍ່ດັ່ງນັ້ນຟັງຊັນຈະສົ່ງຄືນ 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, ເຊິ່ງຈະຖືກລະເວັ້ນເນື່ອງຈາກມັນປະກອບດ້ວຍຂໍ້ຄວາມ.
ການໃຊ້ງານແບບງ່າຍ
=COUNTIFS(B2:B6;">=20")
ນັບຈຳນວນແຖວຂອງຊ່ວງຂໍ້ມູນ B2:B6 ທີ່ມີຄ່າຫຼາຍກວ່າ ຫຼື ເທົ່າກັບ 20. ສົ່ງຄືນຄ່າ 3, ເພາະວ່າແຖວທີຫ້າ ແລະ ທີຫົກບໍ່ກົງກັບເງື່ອນໄຂ.
=COUNTIFS(B2:B6;">=20";C2:C6;">70")
ນັບຈຳນວນແຖວທີ່ມີຄ່າຫຼາຍກວ່າ 70 ໃນຊ່ວງ C2:C6 ແລະ ມີຄ່າຫຼາຍກວ່າ ຫຼື ເທົ່າກັບ 20 ໃນຊ່ວງ B2:B6 ພ້ອມໆກັນ. ສົ່ງຄືນຄ່າ 2, ເພາະວ່າແຖວທີສອງ, ທີຫ້າ ແລະ ທີຫົກ ບໍ່ກົງກັບເງື່ອນໄຂຢ່າງໜ້ອຍໜຶ່ງຂໍ້.
ການໃຊ້ Regular Expressions ແລະ ຟັງຊັນຊ້ອນກັນ
ເພື່ອໃຫ້ຕົວຢ່າງເຫຼົ່ານີ້ເຮັດວຽກຕາມທີ່ອະທິບາຍ, ໃຫ້ກວດເບິ່ງວ່າ ເປີດໃຊ້ regular expressions ໃນສູດ ຖືກເລືອກໄວ້ໃນ .
=COUNTIFS(B2:B6;"[:alpha:]*")
ນັບຈຳນວນແຖວຂອງຊ່ວງ B2:B6 ທີ່ມີພຽງແຕ່ຕົວອັກສອນ. ສົ່ງຄືນຄ່າ 1, ເພາະວ່າແຖວທີຫົກເທົ່ານັ້ນທີ່ກົງກັບເງື່ອນໄຂ.
=COUNTIFS(B2:B6;">"&MIN(B2:B6);B2:B6;"<"&MAX(B2:B6))
ນັບຈຳນວນແຖວໃນຊ່ວງ B2:B6 ໂດຍບໍ່ລວມແຖວທີ່ມີຄ່າຕ່ຳສຸດ ແລະ ສູງສຸດຂອງຊ່ວງນີ້. ສົ່ງຄືນຄ່າ 2, ເພາະວ່າແຖວທີສາມ, ທີຫ້າ ແລະ ທີຫົກ ບໍ່ກົງກັບເງື່ອນໄຂຢ່າງໜ້ອຍໜຶ່ງຂໍ້.
=COUNTIFS(A2:A6;"pen.*";B2:B6;"<"&MAX(B2:B6))
ນັບຈຳນວນແຖວທີ່ກົງກັບທຸກຫ້ອງໃນຊ່ວງ A2:A6 ທີ່ຂຶ້ນຕົ້ນດ້ວຍ "pen" ແລະ ທຸກຫ້ອງໃນຊ່ວງ B2:B6 ໂດຍຍົກເວັ້ນຄ່າສູງສຸດ. ສົ່ງຄືນຄ່າ 1, ເພາະວ່າແຖວທີສອງເທົ່ານັ້ນທີ່ກົງກັບເງື່ອນໄຂທັງໝົດ.
ການອ້າງອີງໃສ່ຫ້ອງເປັນເງື່ອນໄຂ
ຖ້າທ່ານຕ້ອງການປ່ຽນເງື່ອນໄຂໄດ້ງ່າຍໆ, ທ່ານອາດຈະກຳນົດມັນໄວ້ໃນຫ້ອງຕ່າງຫາກ ແລະ ໃຊ້ອ້າງອີງໃສ່ຫ້ອງນັ້ນໃນເງື່ອນໄຂຂອງຟັງຊັນ COUNTIFS. ຕົວຢ່າງ, ຟັງຊັນຂ້າງເທິງສາມາດຂຽນໃໝ່ໄດ້ດັ່ງນີ້:
=COUNTIFS(A2:A6;E2&".*";B2:B6;"<"&MAX(B2:B6))
ຖ້າ E2 = pen, ຟັງຊັນຈະສົ່ງຄືນຄ່າ 1, ເພາະວ່າການເຊື່ອມຕໍ່ໄປຫາຫ້ອງຈະຖືກແທນທີ່ດ້ວຍເນື້ອໃນຂອງມັນ ແລະ ມັນເຮັດວຽກຄືກັບຟັງຊັນຂ້າງເທິງ.
ຟັງຊັນນີ້ເປັນສ່ວນໜຶ່ງຂອງມາດຕະຖານ Open Document Format for Office Applications (OpenDocument) ເວີຊັນ 1.2. (ISO/IEC 26300:2-2015)