ພວກເຮົາມີລາຍຊື່ຄໍາສັ່ງທີ່ມີຕົວເລກແລະຊື່ຂອງສິນຄ້າ. ຕົວຢ່າງ, ຂ້ອຍຕ້ອງການດຶງອອກຈາກຕາຕະລາງໂດຍລໍາດັບສິນຄ້າທັງຫມົດທີ່ລວມຢູ່ໃນນັ້ນ. ຫຼາຍຫຼືຫນ້ອຍເຊັ່ນນີ້:
ຄຸນນະສົມບັດທີ່ຍິ່ງໃຫຍ່ VLOOKUP (VLOOKUP) ໃນສະຖານະການດັ່ງກ່າວມັນຈະຊ່ວຍໄດ້ພຽງແຕ່ບາງສ່ວນ, ເພາະວ່າສາມາດສະກັດຂໍ້ມູນໄດ້ໂດຍການຈັບຄູ່ທໍາອິດທີ່ພົບ, ຫມາຍຄວາມວ່າພຽງແຕ່ຈະໃຫ້ພວກເຮົາ. ຈາກຫນາກແອບເປີ. ເພື່ອຊອກຫາແລະສະກັດລາຍການທັງຫມົດອອກຈາກຕາຕະລາງ, ມັນດີກວ່າທີ່ຈະໃຊ້ສູດອາເລ. ມັກອັນນີ້:
=INDEX($B$2:$B$16;LEAST(IF($E$2=A2:A16;LINE(B2:B16)-1;»»);LINE()-5))
ມັນຕ້ອງຖືກໃສ່ດັ່ງຕໍ່ໄປນີ້:
- ເລືອກຕາລາງທີ່ຜົນໄດ້ຮັບຄວນຈະຖືກສະແດງ (ໃນຕົວຢ່າງຂອງພວກເຮົາ, ນີ້ແມ່ນຊ່ວງ D6:D20)
- enter (ຄັດລອກສູດເຂົ້າໄປໃນເຊລທໍາອິດ) ຂອງໄລຍະ
- ກົດ Ctrl + ການປ່ຽນແປງ + ກະລຸນາໃສ່
ການລົບຫົວໜ່ວຍເປັນຊິ້ນສ່ວນ STRING(B2:B16)-1 ແມ່ນເຮັດໄດ້ເນື່ອງຈາກຫົວຂໍ້ຕາຕະລາງ. ສໍາລັບເຫດຜົນດຽວກັນ, ເພື່ອຊົດເຊີຍການປ່ຽນແປງໃນຂອບເຂດຜົນໄດ້ຮັບທີ່ກ່ຽວຂ້ອງກັບຕົ້ນສະບັບ, ຕົວເລກຫ້າໃນຊິ້ນສ່ວນໄດ້ຖືກຫັກອອກ. STRING()-5
ເພື່ອເຊື່ອງ #NUM! ຄວາມຜິດພາດທີ່ຈະປາກົດຢູ່ໃນຈຸລັງເປົ່າຫວ່າງໃນໄລຍະຜົນໄດ້ຮັບ D6: D20, ທ່ານສາມາດນໍາໃຊ້ການກວດສອບການຜິດພາດ IF ແລະ EOSH, ການທົດແທນສູດຂອງພວກເຮົາທີ່ມີຄວາມສັບສົນເລັກນ້ອຍ:
=IF(EOSH(ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;»»);СТРОКА()-5)));»»;ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;»»);СТРОКА()-5)))
ໃນ Excel 2007, ຟັງຊັນ IFERROR ທີ່ສະດວກກວ່າປາກົດ - ມັນຊ່ວຍໃຫ້ທ່ານສາມາດແກ້ໄຂບັນຫາໄດ້ຫນາແຫນ້ນກວ່າ:
=IFERROR(ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;»»);СТРОКА()-5));»»)
PS
ໃນສະບັບພາສາອັງກິດຂອງ Excel, ຫນ້າທີ່ເຫຼົ່ານີ້ຈະເບິ່ງຄືນີ້:
=INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5))
=IF(ISERR(INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5))),»»,INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5)))
=IFERROR(INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5)),»»)
- ການນໍາໃຊ້ຟັງຊັນ VLOOKUP ເພື່ອຊອກຫາຂໍ້ມູນໃນຕາຕະລາງ
- ສະບັບປັບປຸງຂອງຟັງຊັນ VLOOKUP2 ທີ່ສາມາດຄົ້ນຫາໃນຄໍລໍາໃດກໍ່ໄດ້ແລະບໍ່ພຽງແຕ່ຄ່າທໍາອິດ
- ຟັງຊັນ VLOOKUP2 ແລະ VLOOKUP3 ຈາກ PLEX add-on
- ສູດອາເຣແມ່ນຫຍັງ ແລະໃຊ້ເພື່ອຫຍັງ?