ສາລະບານ
ເມື່ອພວກເຮົາມີຂໍ້ມູນຈຳນວນຫຼວງຫຼາຍແລ້ວ ບາງຄັ້ງມັນຍາກທີ່ຈະດຶງຂໍ້ມູນສະເພາະໃດໆອອກຈາກຊຸດຂໍ້ມູນ. ຮ່ວມກັນກັບຟັງຊັນ INDEX ແລະ MATCH ຂອງ Excel ສາມາດດຶງຂໍ້ມູນປະເພດໃດກໍໄດ້ ແມ້ແຕ່ຢູ່ໃນຊຸດຂໍ້ມູນຂະໜາດໃຫຍ່. ການປະຕິບັດ VBA ແມ່ນວິທີທີ່ມີປະສິດທິພາບທີ່ສຸດ, ໄວທີ່ສຸດ, ແລະປອດໄພທີ່ສຸດເພື່ອດໍາເນີນການໃດໆໃນ Excel. ໃນບົດຄວາມນີ້, ພວກເຮົາຈະສະແດງໃຫ້ທ່ານເຫັນ 3 ວິທີການທີ່ແຕກຕ່າງກັນກ່ຽວກັບວິທີການປະຕິບັດ INDEX MATCH ໂດຍອີງໃສ່ຫຼາຍມາດຖານ ໃນ Excel ກັບ VBA macro .
ດາວໂຫຼດ ປື້ມບັນທຶກວຽກ
ທ່ານສາມາດດາວໂຫຼດປຶ້ມວຽກ Excel ແບບປະຕິບັດໄດ້ຟຣີຈາກບ່ອນນີ້.
VBA INDEX MATCH ອີງໃສ່ຫຼາຍເງື່ອນໄຂ.xlsm<4 3 ວິທີການກັບ VBA INDEX MATCH ໂດຍອີງໃສ່ຫຼາຍເງື່ອນໄຂໃນ Excel
ໃນພາກຕໍ່ໄປນີ້, ພວກເຮົາຈະສະແດງໃຫ້ທ່ານເຫັນວິທີການປະຕິບັດ INDEX MATCH ໂດຍອີງໃສ່ຫຼາຍເງື່ອນໄຂສໍາລັບໄລຍະໃດຫນຶ່ງ , ສໍາລັບການເລືອກສະເພາະ ແລະ ສໍາລັບຕາຕະລາງ ໃນ Excel ດ້ວຍ VBA .
ຂ້າງເທິງ ພວກເຮົາມີຊຸດຂໍ້ມູນທີ່ບົດຄວາມນີ້ຈະປະຕິບັດຕາມ. ພວກເຮົາມີ ຊື່ນັກຮຽນ , ID ນັກຮຽນ, ແລະ ເຄື່ອງໝາຍສອບເສັງ ຂອງນັກຮຽນແຕ່ລະຄົນໃນຊຸດຂໍ້ມູນ. ພວກເຮົາຈະສະກັດຜົນໄດ້ຮັບທີ່ແນ່ນອນຢູ່ໃນຖັນຫນຶ່ງໂດຍອີງຕາມເງື່ອນໄຂຈາກສອງຖັນອື່ນໆ.
ເງື່ອນໄຂ – 1: ຝັງ VBA ກັບ INDEX MATCH ສໍາລັບການຊອກຫາຫຼາຍມິຕິ (ສອງ) ໃນ Excel
ພິຈາລະນາຮູບພາບຕໍ່ໄປນີ້. ພວກເຮົາໄດ້ບັນທຶກຊື່ຂອງນັກຮຽນສະເພາະ “ Edge” ໃນ CellG4 ; ແລະຖັນທີ່ພວກເຮົາຈະຊອກຫາ ຜົນໄດ້ຮັບ ໃນ, ເຄື່ອງໝາຍການສອບເສັງ , ຖືກເກັບໄວ້ໃນ Cell G5 . ພວກເຮົາຈະຄົ້ນຫາຢູ່ໃນຖັນ ເຄື່ອງໝາຍການສອບເສັງ ແລະເກັບຮັກສາ ເຄື່ອງໝາຍ ທີ່ “ Edge” ໄດ້ເຂົ້າມາໃນ Cell G6 .
<0ຂັ້ນຕອນໃນການຊອກຫາຜົນໃນ ອາເຣສອງມິຕິ ກັບ INDEX ແລະ MATCH ໃນ Excel ດ້ວຍ VBA ແມ່ນໃຫ້ຢູ່ລຸ່ມນີ້.
ຂັ້ນຕອນ:
- ໃນຕອນເລີ່ມຕົ້ນ, ກົດ Alt + F11 ເທິງແປ້ນພິມຂອງທ່ານ ຫຼືໄປທີ່ ແຖບ ຜູ້ພັດທະນາ -> Visual Basic ເພື່ອເປີດ Visual Basic Editor .
- ຕໍ່ໄປ, ໃນປ່ອງຢ້ຽມປ໊ອບອັບ, ຈາກປຸ່ມ ແຖບເມນູ, ຄລິກ Insert -> ໂມດູນ .
- ຈາກນັ້ນ, ສຳເນົາ ລະຫັດຕໍ່ໄປນີ້ ແລະ ວາງ ມັນໃສ່ໃນລະຫັດ ປ່ອງຢ້ຽມ.
2567
ຕອນນີ້ລະຫັດຂອງເຈົ້າພ້ອມແລ່ນແລ້ວ.
- ດຽວນີ້, ກົດ F5 ເທິງເຄື່ອງຂອງເຈົ້າ. ແປ້ນພິມ ຫຼືຈາກແຖບເມນູເລືອກ Run -> ດໍາເນີນການ Sub/UserForm . ນອກນັ້ນທ່ານຍັງສາມາດຄລິກໃສ່ ໄອຄອນການດໍາເນີນການຂະຫນາດນ້ອຍ ໃນແຖບເມນູຍ່ອຍເພື່ອດໍາເນີນການ macro ໄດ້.
ຫຼັງຈາກການປະຕິບັດລະຫັດ, ເບິ່ງ gif ຂ້າງລຸ່ມນີ້ເພື່ອເບິ່ງຜົນໄດ້ຮັບ.
ດັ່ງນັ້ນ, ເຄື່ອງໝາຍ ທີ່ “ Edge” ໄດ້ຮັບໃນ ການສອບເສັງ, 67 , ຖືກດຶງຂໍ້ມູນໃນ Cell G7 .
ຄຳອະທິບາຍລະຫັດ VBA
7272
ການກໍານົດຕົວແປຂອງ Worksheet.
1737
ເກັບຮັກສາຊື່ແຜ່ນງານ. ຊື່ຂອງເອກະສານຂອງພວກເຮົາແມ່ນ "ສອງມິຕິ", ທ່ານຄວນໃຫ້ຊື່ຕາມສະເປຣດຊີດຂອງເຈົ້າ.
5471
ລະຫັດນີ້ເລືອກໄລຍະ C5:D14 ເປັນໄລຍະການຊອກຫາ. ຈາກນັ້ນຊອກຫາການຈັບຄູ່ທີ່ເກັບໄວ້ໃນເຊລ G4 ໃນໄລຍະ B5:B14 ແລະຄົ້ນຫາການຈັບຄູ່ທີ່ເກັບໄວ້ໃນເຊລ G5 ໃນໄລຍະ C4:D4 ແລະສົ່ງຜົນໄດ້ຮັບໄປຫາຕາລາງ G6 .
ອ່ານເພີ່ມເຕີມ: ວິທີໃຊ້ INDEX MATCH ທີ່ມີຫຼາຍເງື່ອນໄຂສໍາລັບຊ່ວງວັນທີ
ເງື່ອນໄຂ – 2: ນຳໃຊ້ Macro ເພື່ອຊອກຫາຄ່າ MATCH ໂດຍ INDEX ດ້ວຍຟັງຊັນທີ່ຜູ້ໃຊ້ກຳນົດເອງ (UDF)
ທ່ານສາມາດແຍກຄ່າທີ່ກົງກັນຈາກຊຸດຂໍ້ມູນດ້ວຍ ຟັງຊັນທີ່ຜູ້ໃຊ້ກຳນົດເອງ (UDF) . ຈາກຮູບຕໍ່ໄປນີ້, ສິ່ງທີ່ພວກເຮົາຈະເຮັດແມ່ນ, ພວກເຮົາຈະຜ່ານ ລະຫັດນັກຮຽນ ແລະ ເຄື່ອງໝາຍສອບເສັງ ຂອງນັກຮຽນທີ່ແນ່ນອນ ແລະຟັງຊັນຈະຖິ້ມ ຊື່ ຂອງນັກຮຽນສະເພາະນັ້ນ.
ລອງເບິ່ງວິທີການບັນລຸສິ່ງນັ້ນສໍາລັບ ຊື່ນັກຮຽນ “Finn” ດ້ວຍ VBA .
ຂັ້ນຕອນ:
- ດັ່ງທີ່ສະແດງກ່ອນ, ເປີດ Visual Basic Editor ຈາກແຖບ ຜູ້ພັດທະນາ ແລະ ແຊກ a ໂມດູນ ໃນປ່ອງຢ້ຽມລະຫັດ.
- ຈາກນັ້ນ, ໃນປ່ອງຢ້ຽມລະຫັດ, ສຳເນົາ ລະຫັດຕໍ່ໄປນີ້ ແລະ ວາງ ມັນ.
4807
- ຢ່າແລ່ນ ລະຫັດນີ້, ບັນທຶກ ມັນ.
- ດຽວນີ້, ກັບໄປຫາແຜ່ນວຽກ ທີ່ສົນໃຈ. ເລືອກຕາລາງໃດນຶ່ງ ທີ່ທ່ານຕ້ອງການເກັບຜົນໄດ້ຮັບ. ໃນກໍລະນີຂອງພວກເຮົາ, ມັນແມ່ນ Cell F5 .
- ໃນຕາລາງນັ້ນ, ຂຽນ UDF ທ່ານໄດ້ສ້າງລະຫັດ ( MatchByIndex ) ແລະ ຜ່ານ ID ນັກຮຽນ ແລະເຄື່ອງໝາຍການສອບເສັງ ຂອງນັກຮຽນສະເພາະພາຍໃນວົງເລັບຂອງຟັງຊັນ.
ດັ່ງ ພວກເຮົາພະຍາຍາມເອົາຊື່ “ Finn” ອອກຈາກ ID (105) ແລະ Marks (84) ຂອງລາວ, ດັ່ງນັ້ນສໍາລັບກໍລະນີຂອງພວກເຮົາ ສູດຈະກາຍເປັນ,<3 =MatchByIndex(105,84)
- ຈາກນັ້ນ, ກົດ Enter .
ເບິ່ງຮູບຕໍ່ໄປນີ້.
ໃນ Cell F5 , ພວກເຮົາໄດ້ດຶງເອົາຊື່ “ Finn”<2 ສຳເລັດແລ້ວ> ໂດຍພຽງແຕ່ຜ່ານ ID ແລະ Marks ຂອງລາວພາຍໃນຟັງຊັນທີ່ພວກເຮົາສ້າງຂຶ້ນໃນລະຫັດ VBA .
ການອະທິບາຍລະຫັດ VBA
8358
ການສ້າງຟັງຊັນໃໝ່ ແລະຖ່າຍທອດຕົວແປພາຍໃນມັນ. ທ່ານສາມາດກຳນົດຊື່ໃດນຶ່ງໃຫ້ກັບຟັງຊັນໄດ້.
6725
ແຖວຂອງພວກເຮົາເລີ່ມຕົ້ນຈາກແຖວທີ 4. ທ່ານຕ້ອງໃຫ້ໝາຍເລກແຖວທີ່ຊຸດຂໍ້ມູນຂອງທ່ານເລີ່ມຈາກ.
7133
ການກຳນົດຕົວແປ.
2665
ທຳອິດ, ກຳນົດແຜ່ນງານທີ່ຈະເຮັດວຽກນຳ. ຊື່ຂອງເອກະສານຂອງພວກເຮົາແມ່ນ "UDF", ທ່ານຄວນລະບຸຊື່ຕາມຕາຕະລາງຂອງທ່ານ. ຫຼັງຈາກນັ້ນ, ເລີ່ມການຄົ້ນຫາໃນໄລຍະ C:D ຈາກແຖວທໍາອິດທີ່ພວກເຮົາກໍານົດໄປຫາແຖວສຸດທ້າຍ. ຖ້າຄ່າທໍາອິດທີ່ພວກເຮົາຈະຜ່ານພາຍໃນຟັງຊັນຕົກຢູ່ໃນຖັນ C ແລະຖ້າຄ່າທີສອງທີ່ພວກເຮົາຈະຜ່ານພາຍໃນຟັງຊັນຕົກຢູ່ໃນຖັນ D , ມັນຈະກັບຄືນມາ. ໄດ້ຈັບຄູ່ຈາກຖັນ B . ຖ້າບໍ່ດັ່ງນັ້ນ, ອອກຈາກຟັງຊັນ, ສິ້ນສຸດຄໍາຖະແຫຼງການທັງຫມົດ, ແລະໄປແຖວຕໍ່ໄປ.
2638
ຖ້າເງື່ອນໄຂທີ່ຜ່ານມາບໍ່ສໍາເລັດໃນຂະນະທີ່ປະຕິບັດ, ຫຼັງຈາກນັ້ນຂໍ້ຄວາມ "ບໍ່ພົບຂໍ້ມູນ" ຈະຖືກສົ່ງຄືນແລະ ລະຫັດຈະອອກຈາກຟັງຊັນ.
ອ່ານເພີ່ມເຕີມ: INDEX-MATCH ທີ່ມີຫຼາຍເງື່ອນໄຂສໍາລັບຂໍ້ຄວາມບາງສ່ວນໃນ Excel (2 ວິທີ)
ເງື່ອນໄຂ – 3: ປະຕິບັດ VBA ເພື່ອສົ່ງຄືນຄ່າ MATCH ຈາກຕາຕະລາງທີ່ມີຂໍ້ມູນຫຼາຍອັນໃນ Excel
ໃນພາກນີ້, ພວກເຮົາຈະຮຽນຮູ້ວິທີ ຄືນຄ່າທີ່ກົງກັນໂດຍດັດຊະນີຈາກຕາຕະລາງ. ໃນ MsgBox ໃນ VBA Excel.
ໃຫ້ພວກເຮົາເບິ່ງວິທີການສະກັດ ເຄື່ອງຫມາຍ ຈາກຕາຕະລາງທີ່ສະແດງຢູ່ໃນຂອງພວກເຮົາ. ຊຸດຂໍ້ມູນ ( T ຊື່ສາມາດ: TableMatch ) ຂອງນັກຮຽນສະເພາະໂດຍການໃຫ້ ຊື່ ແລະ ID ພາຍໃນລະຫັດ. ສໍາລັບກໍລະນີຂອງພວກເຮົາ, ຊື່ ແລະ ID ຈະເປັນ Finn ແລະ 105 ຕາມລໍາດັບ.
ຂັ້ນຕອນ :
- ທຳອິດ, ເປີດ ຕົວແກ້ໄຂ Visual Basic ຈາກແຖບ ຜູ້ພັດທະນາ ແລະ ແຊກ a ໂມດູນ ຢູ່ໃນປ່ອງຢ້ຽມລະຫັດ.
- ຈາກນັ້ນ, ສຳເນົາ ລະຫັດຕໍ່ໄປນີ້ ແລະ ວາງ ມັນໃສ່ໃນປ່ອງຢ້ຽມລະຫັດ.
4278
ລະຫັດຂອງທ່ານ ຕອນນີ້ພ້ອມທີ່ຈະເປີດໃຊ້ແລ້ວ.
- ຕໍ່ມາ, ແລ່ນ ລະຫັດນີ້ ແລະເບິ່ງຮູບຕໍ່ໄປນີ້ເພື່ອເບິ່ງວ່າເກີດຫຍັງຂຶ້ນ.
ດັ່ງທີ່ທ່ານສາມາດເບິ່ງຈາກຮູບຂ້າງເທິງນີ້, ມີ Microsoft Excel pop-ເທິງກ່ອງຂໍ້ຄວາມສະແດງໃຫ້ທ່ານເຫັນ ເຄື່ອງໝາຍ: 84 ຂອງ ID: 105 ແລະ ຊື່: Finn ທີ່ພວກເຮົາໃຫ້ຢູ່ໃນລະຫັດ.
<7ການອະທິບາຍລະຫັດ VBA
4766
ການກຳນົດຕົວແປ.
9307
ການຕັ້ງຊື່ແຜ່ນງານ ແລະຊື່ຕາຕະລາງພາຍໃນຕົວແປ.
2960
ການເກັບຮັກສາ ຄ່າຊອກຫາ ແລະຄໍລຳຊອກຫາເພື່ອຄົ້ນຫາ.
6408
ລະຫັດນີ້ສະແກນຈາກຈຸດເລີ່ມຕົ້ນຈົນຮອດທ້າຍຂອງຕົວໜັງສືຍ່ອຍ ແລະຖ້າມັນພົບຄວາມກົງກັນຂອງ ID ທີ່ກຳນົດໄວ້ ແລະຊື່ໃນຄໍລຳຄົ້ນຫາແລ້ວ. ເກັບຮັກສາຜົນໄດ້ຮັບແລະປິດຄໍາຖະແຫຼງການທັງຫມົດ. ນອກຈາກນັ້ນ, ອອກຈາກການຊໍ້າຄືນ ແລະໄປທີ່ສ່ວນຕໍ່ໄປຂອງລະຫັດ.
4640
ຖິ້ມຜົນໄດ້ຮັບໃນ MsgBox.
ອ່ານເພີ່ມເຕີມ: ຊອກຫາ ແລະກັບຄືນ. ຫຼາຍຄ່າລວມເຂົ້າກັນເປັນເຊລດຽວໃນ Excel
ສະຫຼຸບ
ເພື່ອສະຫຼຸບ, ບົດຄວາມນີ້ໄດ້ສະແດງໃຫ້ທ່ານເຫັນ 3 ວິທີທີ່ແຕກຕ່າງກັນກ່ຽວກັບວິທີປະຕິບັດ INDEX MATCH ໂດຍອີງໃສ່ ໃນຫຼາຍເງື່ອນໄຂ ໃນ Excel ດ້ວຍ VBA macro . ຂ້າພະເຈົ້າຫວັງວ່າບົດຄວາມນີ້ຈະເປັນປະໂຫຍດຫຼາຍສໍາລັບທ່ານ. ທ່ານສາມາດຖາມຄໍາຖາມໃດໆກ່ຽວກັບຫົວຂໍ້.