ສາລະບານ
ໃນບົດຮຽນໄວນີ້, ທ່ານຈະໄດ້ຮຽນຮູ້ວິທີການກັ່ນຕອງໃນ Excel ແບບໄດນາມິກດ້ວຍສູດ. ຕົວຢ່າງເພື່ອກັ່ນຕອງສິ່ງທີ່ຊໍ້າກັນ, ຕາລາງທີ່ບັນຈຸຂໍ້ຄວາມສະເພາະ, ມີຫຼາຍເງື່ອນໄຂ, ແລະອື່ນໆອີກ.
ປົກກະຕິແລ້ວທ່ານກັ່ນຕອງແນວໃດໃນ Excel? ສໍາລັບສ່ວນໃຫຍ່, ໂດຍໃຊ້ຕົວກອງອັດຕະໂນມັດ, ແລະໃນສະຖານະການທີ່ສັບສົນຫຼາຍດ້ວຍຕົວກອງຂັ້ນສູງ. ໄວແລະມີອໍານາດ, ວິທີການເຫຼົ່ານີ້ມີຈຸດອ່ອນທີ່ສໍາຄັນຫນຶ່ງ - ພວກມັນບໍ່ປັບປຸງອັດຕະໂນມັດເມື່ອຂໍ້ມູນຂອງທ່ານປ່ຽນແປງ, ຊຶ່ງຫມາຍຄວາມວ່າທ່ານຈະຕ້ອງເຮັດຄວາມສະອາດແລະການກັ່ນຕອງອີກເທື່ອຫນຶ່ງ. ການແນະນໍາຟັງຊັນ FILTER ໃນ Excel 365 ກາຍເປັນທາງເລືອກທີ່ລໍຄອຍມາດົນນານກັບລັກສະນະທໍາມະດາ. ບໍ່ເຫມືອນກັບພວກມັນ, ສູດ Excel ຄິດໄລ່ຄືນໃຫມ່ໂດຍອັດຕະໂນມັດກັບການປ່ຽນແປງແຕ່ລະແຜ່ນວຽກ, ດັ່ງນັ້ນທ່ານຈະຕ້ອງຕັ້ງຄ່າຕົວກອງຂອງທ່ານພຽງແຕ່ຄັ້ງດຽວ!
ຟັງຊັນ Excel FILTER
ຟັງຊັນ FILTER ໃນ Excel ແມ່ນໃຊ້ເພື່ອກັ່ນຕອງຂອບເຂດຂອງຂໍ້ມູນໂດຍອີງໃສ່ເງື່ອນໄຂທີ່ທ່ານລະບຸ.
ຟັງຊັນດັ່ງກ່າວເປັນຂອງໝວດໝູ່ຂອງຟັງຊັນ Dynamic Arrays. ຜົນໄດ້ຮັບແມ່ນ array ຂອງຄ່າທີ່ spills ອັດຕະໂນມັດເຂົ້າໄປໃນຂອບເຂດຂອງເຊລ, ເລີ່ມຕົ້ນຈາກຕາລາງທີ່ທ່ານໃສ່ສູດ. , [if_empty])
Where:
- Array (required) - ໄລຍະ ຫຼື array ຂອງຄ່າທີ່ທ່ານຕ້ອງການກັ່ນຕອງ.
- ລວມເອົາ (ຕ້ອງການ) - ມາດຖານສະຫນອງໃຫ້ເປັນ array Boolean (ຄ່າ TRUE ແລະ FALSE).
ມັນ.ແມ້ແຕ່ຫຼາຍຮ້ອຍຖັນ, ແນ່ນອນເຈົ້າອາດຈະຕ້ອງການຈຳກັດຜົນໄດ້ຮັບເປັນບາງອັນທີ່ສຳຄັນທີ່ສຸດ.
ຕົວຢ່າງ 1. ກັ່ນຕອງບາງຖັນທີ່ຢູ່ຕິດກັນ
ໃນສະຖານະການທີ່ທ່ານຕ້ອງການໃຫ້ບາງຖັນໃກ້ຄຽງປາກົດຢູ່ໃນ ຜົນໄດ້ຮັບຂອງ FILTER, ໃຫ້ລວມເອົາແຕ່ຖັນເຫຼົ່ານັ້ນຢູ່ໃນ ອາເຣ ເພາະວ່າມັນເປັນອາກິວເມັນທີ່ກຳນົດວ່າຈະສົ່ງຄືນຖັນໃດ.
ໃນຕົວຢ່າງສູດ FILTER ພື້ນຖານ, ສົມມຸດວ່າທ່ານຕ້ອງການສົ່ງຄືນ 2 ຖັນທຳອິດ. ( ຊື່ ແລະ ກຸ່ມ ). ດັ່ງນັ້ນ, ທ່ານສະຫນອງ A2:B13 ສໍາລັບ array argument:
=FILTER(A2:B13, B2:B13=F1, "No results")
ດັ່ງນັ້ນ, ພວກເຮົາໄດ້ຮັບບັນຊີລາຍຊື່ຂອງຜູ້ເຂົ້າຮ່ວມຂອງກຸ່ມເປົ້າຫມາຍທີ່ກໍານົດໄວ້ໃນ F1:
ຕົວຢ່າງ 2. ການກັ່ນຕອງຖັນທີ່ບໍ່ຕິດກັນ
ເພື່ອເຮັດໃຫ້ຟັງຊັນ FILTER ສົ່ງຄືນຖັນທີ່ບໍ່ຕິດກັນ, ໃຫ້ໃຊ້ເຄັດລັບທີ່ສະຫລາດນີ້:
- ສ້າງສູດ FILTER ທີ່ມີເງື່ອນໄຂທີ່ຕ້ອງການໂດຍໃຊ້ຕາຕະລາງທັງຫມົດສໍາລັບ array .
- ວາງສູດຂ້າງເທິງຢູ່ໃນຟັງຊັນ FILTER ອື່ນ. ເພື່ອກຳນົດຄ່າຟັງຊັນ "wrapper", ໃຫ້ໃຊ້ຄ່າຄົງທີ່ຂອງອາເຣຂອງຄ່າ TRUE ແລະ FALSE ຫຼື 1's ແລະ 0's ສໍາລັບອາກິວເມັນ include , ບ່ອນທີ່ TRUE (1) ໝາຍໃສ່ຖັນທີ່ເກັບໄວ້ ແລະ FALSE (0) ໝາຍເຖິງ. ຖັນທີ່ຈະຖືກຍົກເວັ້ນ.
ຕົວຢ່າງ, ເພື່ອສົ່ງຄືນພຽງແຕ່ ຊື່ (ຖັນທີ 1) ແລະ Wins (ຖັນທີ 3), ພວກເຮົາກຳລັງໃຊ້ {1, 0,1} ຫຼື {TRUE,FALSE,TRUE} ສໍາລັບ ລວມເອົາ ອາກິວເມັນຂອງຟັງຊັນ FILTER ພາຍນອກ:
=FILTER(FILTER(A2:C13, B2:B13=F1), {1,0,1})
ຫຼື
=FILTER(FILTER(A2:C13, B2:B13=F1), {TRUE,FALSE,TRUE})
ວິທີຈຳກັດຈໍານວນແຖວທີ່ສົ່ງຄືນໂດຍຟັງຊັນ FILTER
ຖ້າສູດ FILTER ຂອງທ່ານພົບຜົນໄດ້ຮັບຫຼາຍ, ແຕ່ແຜ່ນວຽກຂອງທ່ານມີພື້ນທີ່ຈໍາກັດແລະທ່ານບໍ່ສາມາດລຶບຂໍ້ມູນຂ້າງລຸ່ມນີ້, ຫຼັງຈາກນັ້ນທ່ານສາມາດຈໍາກັດຈໍານວນແຖວທີ່ຟັງຊັນ FILTER ກັບຄືນມາ. .
ລອງເບິ່ງວ່າມັນເຮັດວຽກແນວໃດໃນຕົວຢ່າງຂອງສູດງ່າຍໆທີ່ດຶງຜູ້ຫຼິ້ນຈາກກຸ່ມເປົ້າໝາຍໃນ F1:
=FILTER(A2:C13, B2:B13=F1)
ສູດຂ້າງເທິງນີ້ໃຫ້ຜົນບັນທຶກທັງໝົດທີ່ ມັນພົບເຫັນ, 4 ແຖວໃນກໍລະນີຂອງພວກເຮົາ. ແຕ່ສົມມຸດວ່າທ່ານພຽງແຕ່ມີພື້ນທີ່ສໍາລັບສອງ. ເພື່ອສົ່ງອອກພຽງແຕ່ 2 ແຖວທໍາອິດທີ່ພົບເຫັນ, ນີ້ແມ່ນສິ່ງທີ່ທ່ານຕ້ອງເຮັດ:
- ສຽບສູດ FILTER ເຂົ້າໄປໃນອາກິວເມັນ ອາເຣ ຂອງຟັງຊັນ INDEX.
- ສຳລັບອາກິວເມັນ row_num ຂອງ INDEX, ໃຫ້ໃຊ້ອະເຣແນວຕັ້ງຄົງທີ່ຄື {1;2}. ມັນກໍານົດຈໍານວນແຖວທີ່ຈະກັບຄືນ (2 ໃນກໍລະນີຂອງພວກເຮົາ).
- ສຳລັບອາກິວເມັນ column_num , ໃຫ້ໃຊ້ອະເຣແນວນອນຄົງທີ່ຄື {1,2,3}. ມັນລະບຸວ່າຖັນໃດທີ່ຈະສົ່ງຄືນ (3 ຖັນທຳອິດໃນຕົວຢ່າງນີ້).
- ເພື່ອເບິ່ງແຍງຄວາມຜິດພາດທີ່ເປັນໄປໄດ້ເມື່ອບໍ່ພົບຂໍ້ມູນກົງກັບເກນຂອງທ່ານ, ທ່ານສາມາດຫໍ່ສູດຂອງທ່ານໃນຟັງຊັນ IFERROR.
ສູດສົມບູນໃຊ້ແບບຟອມນີ້:
=IFERROR(INDEX(FILTER(A2:C13, B2:B13=F1), {1;2}, {1,2,3}), "No result")
ເມື່ອເຮັດວຽກກັບຕາຕະລາງໃຫຍ່, ການຂຽນຄ່າຄົງທີ່ array ດ້ວຍຕົນເອງອາດຈະເປັນ ຂ້ອນຂ້າງຫຍຸ້ງຍາກ. ບໍ່ມີບັນຫາ, ຟັງຊັນ SEQUENCE ສາມາດສ້າງຕົວເລກຕາມລໍາດັບໃຫ້ທ່ານໂດຍອັດຕະໂນມັດ:
=IFERROR(INDEX(FILTER(A2:C13, B2:B13=F1), SEQUENCE(2), SEQUENCE(1, COLUMNS(A2:C13))), "No result")
SEQUENCE ທໍາອິດສ້າງອາເຣແນວຕັ້ງມີຕົວເລກຕາມລໍາດັບຫຼາຍເທົ່າທີ່ລະບຸໄວ້ໃນອາກິວເມັນທຳອິດ (ແລະເທົ່ານັ້ນ). SEQUENCE ທີສອງໃຊ້ຟັງຊັນ COLUMNS ເພື່ອນັບຈໍານວນຖັນໃນຊຸດຂໍ້ມູນ ແລະສ້າງອາເຣແນວນອນທີ່ທຽບເທົ່າ.
ເຄັດລັບ. ເພື່ອສົ່ງຄືນຂໍ້ມູນຈາກ ຖັນສະເພາະ , ບໍ່ແມ່ນຖັນທັງໝົດ, ໃນແຖວແຖວຄົງທີ່ທີ່ເຈົ້າໃຊ້ສຳລັບອາກິວເມັນ column_num ຂອງ INDEX, ໃຫ້ໃສ່ສະເພາະຕົວເລກສະເພາະເຫຼົ່ານັ້ນເທົ່ານັ້ນ. ຕົວຢ່າງ, ເພື່ອແຍກຂໍ້ມູນຈາກຖັນທີ 1 ແລະ 3, ໃຫ້ໃຊ້ {1,3}.
ຟັງຊັນ Excel FILTER ບໍ່ເຮັດວຽກ
ໃນສະຖານະການທີ່ສູດ Excel FILTER ຂອງທ່ານເຮັດໃຫ້ເກີດຄວາມຜິດພາດ, ສ່ວນຫຼາຍອາດຈະເປັນອັນນຶ່ງຕໍ່ໄປນີ້:
#CALC! ຄວາມຜິດພາດ
ເກີດຂຶ້ນຖ້າຫາກວ່າທາງເລືອກ if_empty argument ຖືກລະເວັ້ນ, ແລະບໍ່ພົບຜົນໄດ້ຮັບທີ່ກົງກັບເງື່ອນໄຂ. ເຫດຜົນແມ່ນວ່າໃນປັດຈຸບັນ Excel ບໍ່ສະຫນັບສະຫນູນ array ຫວ່າງເປົ່າ. ເພື່ອປ້ອງກັນຄວາມຜິດພາດດັ່ງກ່າວ, ໃຫ້ແນ່ໃຈວ່າກໍານົດຄ່າ if_empty ໃນສູດຄຳນວນຂອງທ່ານສະເໝີ.
#VALUE ຂໍ້ຜິດພາດ
ເກີດຂຶ້ນເມື່ອ ອາເຣ ແລະ include argument ມີຂະໜາດທີ່ບໍ່ເຂົ້າກັນໄດ້.
#N/A, #VALUE, ຯລຯ.
ຄວາມຜິດພາດທີ່ຕ່າງກັນອາດຈະເກີດຂຶ້ນຖ້າຄ່າບາງຢ່າງໃນ include argument ເປັນຂໍ້ຜິດພາດ ຫຼືບໍ່ສາມາດປ່ຽນເປັນຄ່າ Boolean ໄດ້.
#NAME error
ເກີດຂຶ້ນເມື່ອພະຍາຍາມໃຊ້ FILTER ໃນ Excel ເວີຊັນເກົ່າກວ່າ. ກະລຸນາຈື່ໄວ້ວ່າມັນເປັນຟັງຊັນໃໝ່, ເຊິ່ງມີຢູ່ໃນ Office 365 ແລະ Excel 2021 ເທົ່ານັ້ນ.
ໃນໃໝ່ Excel, ຂໍ້ຜິດພາດ #NAME ເກີດຂຶ້ນຖ້າທ່ານສະກົດຊື່ຂອງຟັງຊັນຜິດໂດຍບັງເອີນ.
ຄວາມຜິດພາດ #SPILL
ສ່ວນຫຼາຍແລ້ວ, ຄວາມຜິດພາດນີ້ເກີດຂຶ້ນຖ້າໜຶ່ງ ຫຼືຫຼາຍເຊລໃນໄລຍະການຮົ່ວໄຫຼບໍ່ຫວ່າງໝົດ. . ເພື່ອແກ້ໄຂມັນ, ພຽງແຕ່ລຶບ ຫຼືລຶບຕາລາງທີ່ບໍ່ຫວ່າງເປົ່າອອກ. ເພື່ອສືບສວນ ແລະແກ້ໄຂກໍລະນີອື່ນໆ, ກະລຸນາເບິ່ງ #SPILL! ຂໍ້ຜິດພາດໃນ Excel: ມັນຫມາຍຄວາມວ່າແນວໃດແລະວິທີການແກ້ໄຂ.
#REF! ຄວາມຜິດພາດ
ເກີດຂຶ້ນເມື່ອສູດ FILTER ຖືກໃຊ້ລະຫວ່າງປຶ້ມວຽກຕ່າງໆ, ແລະປຶ້ມວຽກຕົ້ນສະບັບຖືກປິດລົງ.
ນັ້ນຄືວິທີການສົ່ງຂໍ້ມູນໃນ Excel ແບບໄດນາມິກ. ຂ້າພະເຈົ້າຂໍຂອບໃຈທ່ານສໍາລັບການອ່ານແລະຫວັງວ່າຈະໄດ້ພົບທ່ານໃນ blog ຂອງພວກເຮົາໃນອາທິດຕໍ່ໄປ!
ດາວໂຫລດປື້ມຄູ່ມືການປະຕິບັດ
ການກັ່ນຕອງໃນ Excel ດ້ວຍສູດ (ໄຟລ໌ .xlsx)
ຄວາມສູງ (ເມື່ອຂໍ້ມູນຢູ່ໃນຖັນ) ຫຼືຄວາມກວ້າງ (ເມື່ອຂໍ້ມູນຢູ່ໃນແຖວ) ຕ້ອງເທົ່າກັບຂອງອາກິວເມັນ ອາເຣ.ຟັງຊັນ FILTER ສາມາດໃຊ້ໄດ້ໃນ Excel ສໍາລັບ Microsoft ເທົ່ານັ້ນ 365 ແລະ Excel 2021. ໃນ Excel 2019, Excel 2016 ແລະຮຸ່ນກ່ອນຫນ້າ, ມັນບໍ່ໄດ້ຮັບການສະຫນັບສະຫນູນ.
ສູດການກັ່ນຕອງ Excel ພື້ນຖານ
ສໍາລັບການເລີ່ມຕົ້ນ, ໃຫ້ພວກເຮົາປຶກສາຫາລືບາງກໍລະນີທີ່ງ່າຍດາຍຫຼາຍພຽງແຕ່ເພື່ອໃຫ້ໄດ້ຮັບ. ມີຄວາມເຂົ້າໃຈຫຼາຍຂຶ້ນວ່າສູດ Excel ໃນການກັ່ນຕອງຂໍ້ມູນເຮັດວຽກແນວໃດ.
ຈາກຊຸດຂໍ້ມູນຂ້າງລຸ່ມນີ້, ສົມມຸດວ່າທ່ານຕ້ອງການສະກັດບັນທຶກດ້ວຍຄ່າສະເພາະໃນ ກຸ່ມ , ຖັນ, ເວົ້າວ່າກຸ່ມ C. ເພື່ອເຮັດມັນໃຫ້ສຳເລັດ, ພວກເຮົາສະໜອງການສະແດງອອກ B2:B13="C" ໃຫ້ກັບ argument include , ເຊິ່ງຈະຜະລິດ array Boolean ທີ່ຕ້ອງການ, ໂດຍມີ TRUE ກົງກັບຄ່າ "C".
=FILTER(A2:C13, B2:B13="C", "No results")
ໃນທາງປະຕິບັດ, ມັນສະດວກກວ່າທີ່ຈະໃສ່ເງື່ອນໄຂໃນຕາລາງແຍກຕ່າງຫາກ, ເຊັ່ນ:. F1, ແລະໃຊ້ການອ້າງອີງເຊລແທນ hardcoding ຄ່າໂດຍກົງໃນສູດ:
=FILTER(A2:C13, B2:B13=F1, "No results")
ບໍ່ຄືກັບຄຸນສົມບັດການກັ່ນຕອງຂອງ Excel, ຟັງຊັນບໍ່ປ່ຽນແປງຂໍ້ມູນຕົ້ນສະບັບ. ມັນສະກັດບັນທຶກທີ່ຖືກກັ່ນຕອງເຂົ້າໄປໃນອັນທີ່ເອີ້ນວ່າໄລຍະການຮົ່ວໄຫຼ (E4:G7 ໃນພາບຫນ້າຈໍຂ້າງລຸ່ມນີ້), ເລີ່ມຕົ້ນໃນຕາລາງທີ່ສູດຖືກປ້ອນ:
ຖ້າບໍ່ມີບັນທຶກ ກົງກັບເງື່ອນໄຂທີ່ລະບຸໄວ້, ສູດຕອບຄ່າທີ່ທ່ານໃສ່ໃນ if_empty argument, "ບໍ່ມີຜົນໄດ້ຮັບ" ໃນຕົວຢ່າງນີ້:
ຖ້າທ່ານຕ້ອງການ ບໍ່ມີຫຍັງກັບຄືນ ໃນກໍລະນີນີ້, ຫຼັງຈາກນັ້ນ. ສະໜອງສະຕຣິງຫວ່າງເປົ່າ ("") ສໍາລັບອາກິວເມັນສຸດທ້າຍ:
=FILTER(A2:C13, B2:B13=F1, "")
ໃນກໍລະນີທີ່ຂໍ້ມູນຂອງທ່ານຖືກຈັດລຽງ ແນວນອນ ຈາກຊ້າຍຫາຂວາ ດັ່ງທີ່ສະແດງຢູ່ໃນຮູບໜ້າຈໍຂ້າງລຸ່ມນີ້, ຟັງຊັນ FILTER ຈະເຮັດວຽກໄດ້ດີຄືກັນ. ພຽງແຕ່ໃຫ້ແນ່ໃຈວ່າທ່ານກໍານົດຂອບເຂດທີ່ເຫມາະສົມສໍາລັບ array ແລະ include arguments, ດັ່ງນັ້ນ array ແຫຼ່ງແລະ array Boolean ມີຄວາມກວ້າງດຽວກັນ:
=FILTER(B2:M4, B3:M3= B7, "No results")
ຟັງຊັນ Excel FILTER - ບັນທຶກການນຳໃຊ້
ເພື່ອກັ່ນຕອງໃນ Excel ດ້ວຍສູດຢ່າງມີປະສິດທິພາບ, ນີ້ແມ່ນບາງຈຸດສຳຄັນທີ່ຄວນສັງເກດ:
- ຟັງຊັນ FILTER ອັດຕະໂນມັດເຮັດໃຫ້ຜົນໄດ້ຮັບໃນແນວຕັ້ງ ຫຼືແນວນອນຢູ່ໃນແຜ່ນວຽກ, ຂຶ້ນກັບການຈັດລຽງຂໍ້ມູນຕົ້ນສະບັບຂອງທ່ານ. ດັ່ງນັ້ນ, ກະລຸນາໃຫ້ແນ່ໃຈວ່າທ່ານມີຕາລາງຫວ່າງພຽງພໍຢູ່ສະເໝີ ແລະໄປທາງຂວາ, ຖ້າບໍ່ດັ່ງນັ້ນ ທ່ານຈະໄດ້ຮັບຂໍ້ຜິດພາດ #SPILL.
- ຜົນໄດ້ຮັບຂອງຟັງຊັນ Excel FILTER ແມ່ນແບບເຄື່ອນໄຫວ, ຊຶ່ງຫມາຍຄວາມວ່າພວກມັນຈະອັບເດດອັດຕະໂນມັດເມື່ອຄ່າໃນ ການປ່ຽນແປງຊຸດຂໍ້ມູນຕົ້ນສະບັບ. ແນວໃດກໍ່ຕາມ, ຊ່ວງທີ່ສະໜອງໃຫ້ສຳລັບອາກິວເມັນ array ບໍ່ໄດ້ຖືກປັບປຸງເມື່ອມີການເພີ່ມຂໍ້ມູນໃໝ່ໃສ່ແຫຼ່ງຂໍ້ມູນ. ຖ້າທ່ານຕ້ອງການໃຫ້ array ປັບຂະໜາດອັດຕະໂນມັດ, ຈາກນັ້ນປ່ຽນເປັນຕາຕະລາງ Excel ແລະສ້າງສູດການອ້າງອີງທີ່ມີໂຄງສ້າງ, ຫຼືສ້າງໄລຍະທີ່ມີຊື່ແບບໄດນາມິກ.
ວິທີການກັ່ນຕອງໃນ Excel -ຕົວຢ່າງສູດ
ຕອນນີ້ເຈົ້າຮູ້ວ່າສູດການກັ່ນຕອງ Excel ພື້ນຖານເຮັດວຽກແນວໃດ, ມັນເຖິງເວລາແລ້ວທີ່ຈະໃຫ້ຄວາມເຂົ້າໃຈບາງຢ່າງກ່ຽວກັບວິທີທີ່ມັນສາມາດຂະຫຍາຍອອກໄດ້ເພື່ອແກ້ໄຂວຽກງານທີ່ຊັບຊ້ອນຫຼາຍຂຶ້ນ.
ການກັ່ນຕອງດ້ວຍຫຼາຍເງື່ອນໄຂ (AND logic)
ເພື່ອກັ່ນຕອງຂໍ້ມູນທີ່ມີຫຼາຍເງື່ອນໄຂ, ໃຫ້ທ່ານສະໜອງການສະແດງອອກທາງເຫດຜົນສອງຢ່າງ ຫຼືຫຼາຍກວ່ານັ້ນສໍາລັບ include argument:
FILTER(array, ( range1= criteria1) * ( range2= criteria2), "ບໍ່ມີຜົນໄດ້ຮັບ")ການດໍາເນີນງານການຄູນປະມວນຜົນ arrays ດ້ວຍ AND logic , ຮັບປະກັນວ່າບັນທຶກທີ່ກົງກັບ ເງື່ອນໄຂທັງໝົດ ເທົ່ານັ້ນທີ່ຖືກສົ່ງຄືນ. ທາງດ້ານເທກນິກ, ມັນເຮັດວຽກແບບນີ້:
ຜົນຂອງແຕ່ລະການສະແດງອອກທາງໂລຈິກແມ່ນ array ຂອງຄ່າ Boolean, ເຊິ່ງ TRUE ເທົ່າກັບ 1 ແລະ FALSE ຫາ 0. ຈາກນັ້ນ, ອົງປະກອບຂອງອາເຣທັງໝົດທີ່ຢູ່ໃນຕຳແໜ່ງດຽວກັນຈະຖືກຄູນ. . ເນື່ອງຈາກການຄູນດ້ວຍສູນຈະໃຫ້ສູນສະເໝີ, ສະເພາະລາຍການທີ່ເງື່ອນໄຂທັງໝົດເປັນ TRUE ເຂົ້າໄປໃນອາເຣທີ່ໄດ້ຮັບຜົນ, ແລະດັ່ງນັ້ນຈຶ່ງໄດ້ແຍກລາຍການເຫຼົ່ານັ້ນເທົ່ານັ້ນ.
ຕົວຢ່າງລຸ່ມນີ້ສະແດງສູດທົ່ວໄປນີ້ໃນການປະຕິບັດ.<3
ຕົວຢ່າງ 1. ການກັ່ນຕອງຫຼາຍຖັນໃນ Excel
ການຂະຫຍາຍສູດ Excel FILTER ພື້ນຖານຂອງພວກເຮົາຕື່ມອີກໜ້ອຍໜຶ່ງ, ໃຫ້ເຮົາກັ່ນຕອງຂໍ້ມູນດ້ວຍສອງຖັນ: ກຸ່ມ (ຖັນ B) ແລະ Wins (ຖັນ C).
ສຳລັບອັນນີ້, ພວກເຮົາຕັ້ງເງື່ອນໄຂຕໍ່ໄປນີ້: ພິມຊື່ຂອງກຸ່ມເປົ້າໝາຍໃນ F2 ( criteria1 ) ແລະຈຳນວນຕໍາ່ສຸດທີ່ຕ້ອງການຂອງຊະນະໃນ F3 ( criteria2 ).
ເນື່ອງຈາກຂໍ້ມູນແຫຼ່ງຂອງພວກເຮົາຢູ່ໃນ A2:C13 ( array ), ກຸ່ມຢູ່ໃນ B2:B13 ( range1. ) ແລະການຊະນະແມ່ນຢູ່ໃນ C2:C13 ( range2 ), ສູດໃຊ້ແບບຟອມນີ້:
=FILTER(A2:C13, (B2:B13=F2) * (C2:C13>=F3), "No results")
ຜົນ, ທ່ານໄດ້ຮັບລາຍຊື່ຜູ້ຫຼິ້ນ. ໃນກຸ່ມ A ຜູ້ທີ່ໄດ້ຊະນະ 2 ຫຼືຫຼາຍກວ່ານັ້ນ:
ຕົວຢ່າງ 2. ກັ່ນຕອງຂໍ້ມູນລະຫວ່າງວັນທີ
ກ່ອນອື່ນໝົດ, ຄວນສັງເກດວ່າມັນເປັນໄປບໍ່ໄດ້. ເພື່ອສ້າງສູດທົ່ວໄປເພື່ອກັ່ນຕອງຕາມວັນທີໃນ Excel. ໃນສະຖານະການທີ່ແຕກຕ່າງກັນ, ທ່ານຈະຕ້ອງສ້າງເງື່ອນໄຂທີ່ແຕກຕ່າງກັນ, ຂຶ້ນກັບວ່າທ່ານຕ້ອງການການກັ່ນຕອງໂດຍວັນທີສະເພາະ, ເດືອນ, ຫຼືປີ. ຈຸດປະສົງຂອງຕົວຢ່າງນີ້ແມ່ນເພື່ອສະແດງໃຫ້ເຫັນວິທີການທົ່ວໄປ.
ໃນຂໍ້ມູນຕົວຢ່າງຂອງພວກເຮົາ, ພວກເຮົາເພີ່ມຫນຶ່ງຖັນເພີ່ມເຕີມທີ່ມີວັນທີຂອງການຊະນະສຸດທ້າຍ (ຖັນ D). ແລະໃນປັດຈຸບັນ, ພວກເຮົາຈະສະກັດເອົາໄຊຊະນະທີ່ເກີດຂຶ້ນໃນໄລຍະເວລາສະເພາະ, ເວົ້າວ່າໃນລະຫວ່າງເດືອນພຶດສະພາ 17 ຫາ 31 ພຶດສະພາ.
ກະລຸນາສັງເກດວ່າໃນກໍລະນີນີ້, ທັງສອງເງື່ອນໄຂໃຊ້ກັບໄລຍະດຽວກັນ:
=FILTER(A2:D13, (D2:D13>=G2) * (D2:D13<=G3), "No results")
ບ່ອນທີ່ G2 ແລະ G3 ເປັນວັນທີທີ່ຈະກັ່ນຕອງລະຫວ່າງ.
ການກັ່ນຕອງດ້ວຍຫຼາຍເງື່ອນໄຂ (ຫຼືເຫດຜົນ)
ເພື່ອສະກັດຂໍ້ມູນ ອີງຕາມເງື່ອນໄຂ OR ຫຼາຍ, ທ່ານຍັງໃຊ້ການສະແດງອອກຢ່າງມີເຫດຜົນເຊັ່ນວ່າສະແດງຢູ່ໃນຕົວຢ່າງທີ່ຜ່ານມາ, ແຕ່ແທນທີ່ຈະຄູນ, ທ່ານເພີ່ມພວກມັນ. ເມື່ອ arrays Boolean ສົ່ງຄືນໂດຍ expressions ໄດ້ຖືກສະຫຼຸບ, array ຜົນໄດ້ຮັບຈະມີ 0 ສໍາລັບລາຍການທີ່ບໍ່ກົງກັບເງື່ອນໄຂໃດໆ (i.e. ທັງຫມົດ.ເງື່ອນໄຂແມ່ນ FALSE), ແລະລາຍການດັ່ງກ່າວຈະຖືກກັ່ນຕອງອອກ. ລາຍການທີ່ຢ່າງໜ້ອຍໜຶ່ງມາດຖານແມ່ນ TRUE ຈະຖືກແຍກອອກ.
ນີ້ແມ່ນສູດທົ່ວໄປເພື່ອກັ່ນຕອງຖັນດ້ວຍ OR logic:
FILTER(array, ( range1 =<1)>criteria1 ) + ( range2 = criteria2 ), "ບໍ່ມີຜົນໄດ້ຮັບ")ເປັນຕົວຢ່າງ, ໃຫ້ເຮົາແຍກລາຍຊື່ຜູ້ຫຼິ້ນທີ່ມີ ອັນນີ້ ຫຼື ວ່າ ຈໍານວນການຊະນະ.
ສົມມຸດວ່າຂໍ້ມູນແຫຼ່ງແມ່ນຢູ່ໃນ A2:C13, ການຊະນະແມ່ນຢູ່ໃນ C2:C13, ແລະຈໍານວນການຊະນະຂອງຄວາມສົນໃຈແມ່ນຢູ່ໃນ F2 ແລະ F3, ສູດຈະໄປດັ່ງຕໍ່ໄປນີ້:
=FILTER(A2:C13, (C2:C13=F2) + (C2:C13=F3), "No results")
ຈາກຜົນນັ້ນ, ເຈົ້າຮູ້ວ່າຜູ້ຫຼິ້ນຄົນໃດຊະນະທັງໝົດ (4) ເກມ ແລະ ອັນໃດບໍ່ຊະນະ (0):
ການກັ່ນຕອງໂດຍອີງໃສ່ຫຼາຍ AND ເຊັ່ນດຽວກັບ OR ເງື່ອນໄຂ
ໃນສະຖານະການທີ່ທ່ານຕ້ອງການນໍາໃຊ້ທັງສອງປະເພດເງື່ອນໄຂ, ຈື່ກົດລະບຽບງ່າຍໆນີ້: ເຂົ້າຮ່ວມເງື່ອນໄຂ AND ກັບດາວ (*) ແລະ OR ມາດຖານທີ່ມີບວກ. ເຊັນ (+).
ຕົວຢ່າງ, ເພື່ອສົ່ງຄືນລາຍຊື່ຜູ້ຫຼິ້ນທີ່ມີຈໍານວນໄຊຊະນະ (F2) ແລະເປັນຂອງກຸ່ມທີ່ໄດ້ກ່າວມາໃນ E2 ຫຼື E3, ສ້າງຕ່ອງໂສ້ຂອງເຫດຜົນຕໍ່ໄປນີ້. expressions:
=FILTER(A2:C13, (C2:C13=F2) * ((B2:B13=E2) + (B2:B13=E3)), "No results")
ແລະ ທ່ານຈະໄດ້ຮັບຜົນຕໍ່ໄປນີ້:
ວິທີການກັ່ນຕອງຊໍ້າກັນໃນ Excel
ເມື່ອເຮັດວຽກກັບແຜ່ນວຽກຂະໜາດໃຫຍ່ ຫຼືການລວມຂໍ້ມູນຈາກແຫຼ່ງຕ່າງໆ, ມັກຈະມີຄວາມເປັນໄປໄດ້ທີ່ຊໍ້າກັນບາງອັນຈະເຂົ້າມາ.
ຖ້າທ່ານກໍາລັງຊອກຫາ ການກັ່ນຕອງອອກ ຊໍ້າກັນ ແລະ ສານສະກັດຈາກລາຍການທີ່ເປັນເອກະລັກ, ຈາກນັ້ນໃຊ້ຟັງຊັນ UNIQUE ຕາມທີ່ໄດ້ອະທິບາຍໄວ້ໃນບົດສອນທີ່ເຊື່ອມໂຍງຂ້າງເທິງ.
ຖ້າເປົ້າໝາຍຂອງທ່ານແມ່ນເພື່ອ ການກັ່ນຕອງການຊໍ້າກັນ , ເຊັ່ນ: ແຍກລາຍການທີ່ເກີດຂຶ້ນຫຼາຍກວ່າຫນຶ່ງຄັ້ງ, ຈາກນັ້ນໃຊ້ຟັງຊັນ FILTER. ຮ່ວມກັນກັບ COUNTIFS.
ແນວຄວາມຄິດແມ່ນເພື່ອເອົາການນັບການປະກົດຕົວຂອງບັນທຶກທັງໝົດ ແລະສະກັດເອົາອັນທີ່ໃຫຍ່ກວ່າ 1 ອອກ. ເພື່ອຮັບການນັບ, ທ່ານສະໜອງໄລຍະດຽວກັນສຳລັບແຕ່ລະ ໄລຍະ_ເງື່ອນໄຂ / ເງື່ອນໄຂ ຄູ່ COUNTIFS ແບບນີ້:
FILTER( array , COUNTIFS( column1 , column1, column2 ) , column2 )>1, "ບໍ່ມີຜົນໄດ້ຮັບ")ຕົວຢ່າງ, ເພື່ອກັ່ນຕອງແຖວທີ່ຊ້ຳກັນຈາກຂໍ້ມູນໃນ A2:C20 ໂດຍອີງໃສ່ຄ່າໃນທັງໝົດ 3 ຖັນ, ນີ້ແມ່ນສູດຄຳນວນທີ່ໃຊ້:
=FILTER(A2:C20, COUNTIFS(A2:A20, A2:A20, B2:B20, B2:B20, C2:C20, C2:C20)>1, "No results")
ເຄັດລັບ. ເພື່ອກັ່ນຕອງການຊໍ້າກັນໂດຍອີງໃສ່ຄ່າໃນ ຖັນຫຼັກ , ໃຫ້ລວມເອົາສະເພາະຖັນສະເພາະເຫຼົ່ານັ້ນຢູ່ໃນຟັງຊັນ COUNTIFS.
ວິທີການກັ່ນຕອງອອກໃນ Excel
ສູດສໍາລັບການກັ່ນຕອງອອກຈຸລັງເປົ່າແມ່ນ, ໃນຄວາມເປັນຈິງ, ການປ່ຽນແປງຂອງສູດ Excel FILTER ທີ່ມີຫຼາຍເງື່ອນໄຂ AND. ໃນກໍລະນີນີ້, ພວກເຮົາກວດສອບວ່າທັງຫມົດ (ຫຼືໂດຍສະເພາະ) ຖັນມີຂໍ້ມູນໃດຫນຶ່ງໃນພວກເຂົາແລະຍົກເວັ້ນແຖວທີ່ຢ່າງຫນ້ອຍຫນຶ່ງເຊລແມ່ນຫວ່າງເປົ່າ. ເພື່ອລະບຸຕາລາງທີ່ບໍ່ແມ່ນຊ່ອງຫວ່າງ, ທ່ານໃຊ້ຕົວປະຕິບັດການ "ບໍ່ເທົ່າກັບ" () ຮ່ວມກັບສະຕຣິງຫວ່າງເປົ່າ ("") ແບບນີ້:
FILTER(array, ( column1 "") * ( column2 =""), "ບໍ່ມີຜົນໄດ້ຮັບ")ດ້ວຍແຫຼ່ງຂໍ້ມູນໃນ A2:C12, ເພື່ອກັ່ນຕອງແຖວອອກປະກອບມີໜຶ່ງ ຫຼືຫຼາຍຕາລາງຫວ່າງເປົ່າ, ສູດຄຳນວນຕໍ່ໄປນີ້ຖືກໃສ່ໃນ E3:
ກັ່ນຕອງເຊລທີ່ມີຂໍ້ຄວາມສະເພາະ
ເພື່ອແຍກເຊວທີ່ມີຂໍ້ຄວາມສະເພາະ, ທ່ານ ສາມາດໃຊ້ຟັງຊັນ FILTER ຮ່ວມກັບແບບຄລາສສິກ ຖ້າຕາລາງມີສູດ:
FILTER(array, ISNUMBER(SEARCH(" text ", range )), "ບໍ່ມີຜົນໄດ້ຮັບ")ນີ້ແມ່ນວິທີທີ່ມັນເຮັດວຽກ:
- ຟັງຊັນ SEARCH ຊອກຫາສະຕຣິງຂໍ້ຄວາມທີ່ລະບຸໄວ້ໃນຂອບເຂດທີ່ໃຫ້ໄວ້ ແລະສົ່ງຄືນຕົວເລກ (ຕຳແໜ່ງຂອງຕົວອັກສອນທຳອິດ) ຫຼື #VALUE! error (ບໍ່ພົບຂໍ້ຄວາມ).
- ຟັງຊັນ ISNUMBER ຈະປ່ຽນຕົວເລກທັງໝົດເປັນ TRUE ແລະຄວາມຜິດພາດເປັນ FALSE ແລະສົ່ງຕໍ່ອາເຣ Boolean ທີ່ເປັນຜົນໃຫ້ include argument ຂອງຟັງຊັນ FILTER.
ຕົວຢ່າງນີ້, ພວກເຮົາໄດ້ເພີ່ມ ນາມສະກຸນ ຂອງຜູ້ຫຼິ້ນໃນ B2:B13, ພິມສ່ວນຂອງຊື່ທີ່ພວກເຮົາຕ້ອງການຊອກຫາໃນ G2, ແລະຈາກນັ້ນໃຊ້ສູດຕໍ່ໄປນີ້ເພື່ອ ກັ່ນຕອງຂໍ້ມູນ:
=FILTER(A2:D13, ISNUMBER(SEARCH(G2, B2:B13)), "No results")
ຕາມຜົນ, ສູດການດຶງເອົາສອງນາມສະກຸນທີ່ມີ "han":
ກັ່ນຕອງ ແລະຄິດໄລ່ (Sum, Average, Min, Max, ແລະອື່ນໆ.)
ສິ່ງທີ່ດີກ່ຽວກັບຟັງຊັນ Excel FILTER ແມ່ນວ່າມັນບໍ່ພຽງແຕ່ສາມາດສະກັດຄ່າທີ່ມີເງື່ອນໄຂ, ແຕ່ຍັງສະຫຼຸບຂໍ້ມູນການກັ່ນຕອງ. ສໍາລັບການນີ້, ສົມທົບ FILTER ກັບຟັງຊັນການລວບລວມເຊັ່ນ SUM, AVERAGE, COUNT, MAX ຫຼື MIN.
ຕົວຢ່າງ, ເພື່ອລວບລວມຂໍ້ມູນສໍາລັບກຸ່ມສະເພາະໃນ F1, ໃຊ້ສິ່ງຕໍ່ໄປນີ້.ສູດ:
ຊະນະທັງໝົດ:
=SUM(FILTER(C2:C13, B2:B13=F1, 0))
ຊະນະສະເລ່ຍ:
=AVERAGE(FILTER(C2:C13, B2:B13=F1, 0))
ຊະນະສູງສຸດ:
=MAX(FILTER(C2:C13, B2:B13=F1, 0))
ຊະນະຂັ້ນຕ່ຳ:
=MIN(FILTER(C2:C13, B2:B13=F1, 0))
ກະລຸນາໃສ່ໃຈວ່າ, ໃນສູດທັງໝົດ, ພວກເຮົາໃຊ້ສູນສຳລັບອາກິວເມັນ if_empty , ສະນັ້ນ ສູດຕ່າງໆຈະ ຕອບ 0 ຖ້າບໍ່ພົບຄ່າທີ່ກົງກັບເງື່ອນໄຂ. ການສະໜອງຂໍ້ຄວາມໃດໆກໍຕາມ ເຊັ່ນ: “ບໍ່ມີຜົນໄດ້ຮັບ” ຈະສົ່ງຜົນໃຫ້ເກີດຄວາມຜິດພາດ #VALUE, ເຊິ່ງແນ່ນອນແມ່ນສິ່ງສຸດທ້າຍທີ່ທ່ານຕ້ອງການ :)
ສູດການກັ່ນຕອງຕົວພິມນ້ອຍໃຫຍ່
ສູດການກັ່ນຕອງ Excel ມາດຕະຖານແມ່ນຕົວພິມນ້ອຍ, ຊຶ່ງຫມາຍຄວາມວ່າມັນເຮັດໃຫ້ບໍ່ມີຄວາມແຕກຕ່າງລະຫວ່າງຕົວພິມນ້ອຍ ແລະ ຕົວພິມໃຫຍ່. ເພື່ອແຍກແຍະຕົວພິມໃຫຍ່ຂໍ້ຄວາມ, ວາງຟັງຊັນ EXACT ຢູ່ໃນອາກິວເມັນ ຮວມ . ນີ້ຈະບັງຄັບໃຫ້ FILTER ເຮັດການທົດສອບຕາມເຫດຜົນໃນລັກສະນະທີ່ລະອຽດອ່ອນ:
FILTER(array, EXACT( range , criteria ), "No results")ສົມມຸດວ່າ , ທ່ານມີທັງສອງກຸ່ມ A ແລະ a ແລະຕ້ອງການສະກັດບັນທຶກທີ່ກຸ່ມເປັນຕົວພິມນ້ອຍ "a". ເພື່ອໃຫ້ມັນເຮັດໄດ້, ໃຫ້ໃຊ້ສູດຕໍ່ໄປນີ້, ເຊິ່ງ A2:C13 ແມ່ນແຫຼ່ງຂໍ້ມູນ ແລະ B2:B13 ແມ່ນກຸ່ມເພື່ອກັ່ນຕອງ:
=FILTER(A2:C13, EXACT(B2:B13, "a"), "No results")
ຕາມປົກກະຕິ, ທ່ານສາມາດປ້ອນກຸ່ມເປົ້າໝາຍເຂົ້າໃນ ຕາລາງທີ່ກຳນົດໄວ້ລ່ວງໜ້າ, ເວົ້າວ່າ F1, ແລະໃຊ້ການອ້າງອີງເຊລນັ້ນແທນຂໍ້ຄວາມທີ່ຂຽນລະຫັດຍາກ:
=FILTER(A2:C13, EXACT(B2:B13, F1), "No results")
ວິທີການກັ່ນຕອງຂໍ້ມູນ ແລະສົ່ງຄືນສະເພາະຖັນສະເພາະ
ສ່ວນໃຫຍ່ແລ້ວ, ການກັ່ນຕອງຖັນທັງໝົດດ້ວຍສູດດຽວແມ່ນສິ່ງທີ່ຜູ້ໃຊ້ Excel ຕ້ອງການ. ແຕ່ຖ້າຕາຕະລາງແຫຼ່ງຂອງທ່ານມີສິບຫຼື