VLOOKUP ຜ່ານຫຼາຍແຜ່ນໃນ Excel ດ້ວຍຕົວຢ່າງ

  • ແບ່ງປັນນີ້
Michael Brown

ບົດສອນສະແດງວິທີການໃຊ້ຟັງຊັນ VLOOKUP ເພື່ອສຳເນົາຂໍ້ມູນຈາກແຜ່ນວຽກອື່ນ ຫຼື ປຶ້ມວຽກອື່ນ, Vlookup ໃນຫຼາຍແຜ່ນ ແລະຊອກຫາແບບໄດນາມິກເພື່ອສົ່ງຄ່າຈາກແຜ່ນງານຕ່າງໆໄປສູ່ເຊວຕ່າງໆ.

ເມື່ອຊອກຫາຂໍ້ມູນບາງຢ່າງໃນ Excel, ມັນເປັນກໍລະນີທີ່ຫາຍາກເມື່ອຂໍ້ມູນທັງໝົດຢູ່ໃນແຜ່ນດຽວກັນ. ເລື້ອຍໆ, ທ່ານຈະຕ້ອງຄົ້ນຫາຜ່ານຫຼາຍແຜ່ນຫຼືແມ້ກະທັ້ງປື້ມວຽກທີ່ແຕກຕ່າງກັນ. ຂ່າວດີແມ່ນວ່າ Microsoft Excel ໃຫ້ຫຼາຍກວ່າຫນຶ່ງວິທີທີ່ຈະເຮັດສິ່ງນີ້, ແລະຂ່າວບໍ່ດີແມ່ນວ່າວິທີການທັງຫມົດແມ່ນສັບສົນຫຼາຍກ່ວາສູດ VLOOKUP ມາດຕະຖານເລັກນ້ອຍ. ແຕ່ດ້ວຍຄວາມອົດທົນພຽງໜ້ອຍດຽວ, ພວກເຮົາຈະຊອກຫາພວກມັນອອກໄດ້ :)

    ວິທີ VLOOKUP ລະຫວ່າງສອງແຜ່ນ

    ສຳລັບການເລີ່ມຕົ້ນ, ໃຫ້ເຮົາພິຈາລະນາກໍລະນີທີ່ງ່າຍທີ່ສຸດ - ໂດຍໃຊ້ VLOOKUP ເພື່ອ ສຳເນົາຂໍ້ມູນຈາກແຜ່ນວຽກອື່ນ. ມັນຄ້າຍຄືກັນກັບສູດ VLOOKUP ປົກກະຕິທີ່ຄົ້ນຫາຢູ່ໃນແຜ່ນວຽກດຽວກັນ. ຄວາມແຕກຕ່າງແມ່ນວ່າທ່ານລວມເອົາຊື່ແຜ່ນງານໃນອາກິວເມັນ table_array ເພື່ອບອກສູດຄຳນວນຂອງທ່ານໃນແຜ່ນວຽກທີ່ໄລຍະຊອກຫາຢູ່.

    ສູດທົ່ວໄປເພື່ອ VLOOKUP ຈາກແຜ່ນອື່ນມີດັ່ງນີ້:

    VLOOKUP(lookup_value, Sheet!range, col_index_num, [range_lookup])

    ເປັນຕົວຢ່າງ, ໃຫ້ເຮົາດຶງຕົວເລກການຂາຍຈາກ Jan ລາຍງານໄປທີ່ ສະຫຼຸບ ແຜ່ນ. ສໍາລັບການນີ້, ພວກເຮົາກໍານົດ arguments ຕໍ່ໄປນີ້:

    • Lookup_values ຢູ່ໃນຖັນ A ໃນແຜ່ນ ສະຫຼຸບ , ແລະພວກເຮົາVLOOKUP:

      VLOOKUP($A2, 'West'!$A$2:$C$6 , 2, FALSE)

      ສຸດທ້າຍ, ສູດ VLOOKUP ມາດຕະຖານຫຼາຍນີ້ຊອກຫາຄ່າ A2 ໃນຖັນທໍາອິດຂອງໄລຍະ A2:C6 ຢູ່ໃນແຜ່ນ ຕາເວັນຕົກ ແລະສົ່ງຄືນ a ກົງກັນຈາກຖັນທີ 2. ນັ້ນເອງ!

      Dynamic VLOOKUP ເພື່ອສົ່ງຄືນຂໍ້ມູນຈາກຫຼາຍຊີດເຂົ້າໄປໃນເຊລຕ່າງໆ

      ກ່ອນອື່ນໝົດ, ໃຫ້ເຮົາກຳນົດວ່າຄຳວ່າ "ໄດນາມິກ" ມີຄວາມໝາຍແນວໃດໃນສະພາບການນີ້ ແລະສູດຄຳນວນນີ້ຈະເປັນແນວໃດ. ແຕກຕ່າງຈາກອັນກ່ອນໜ້ານີ້.

      ໃນກໍລະນີທີ່ທ່ານມີຂໍ້ມູນຂະໜາດໃຫຍ່ໃນຮູບແບບດຽວກັນທີ່ແບ່ງອອກເປັນຫຼາຍສະເປຣດຊີດ, ທ່ານອາດຈະຕ້ອງການແຍກຂໍ້ມູນຈາກແຜ່ນງານຕ່າງໆເຂົ້າໄປໃນເຊວຕ່າງໆ. ຮູບພາບຂ້າງລຸ່ມນີ້ສະແດງໃຫ້ເຫັນເຖິງແນວຄວາມຄິດ:

      ແຕກຕ່າງຈາກສູດກ່ອນໜ້ານີ້ທີ່ດຶງເອົາຄ່າຈາກຊີດສະເພາະໃດໜຶ່ງໂດຍອີງໃສ່ຕົວລະບຸທີ່ເປັນເອກະລັກ, ເວລານີ້ພວກເຮົາກຳລັງຊອກຫາການດຶງຄ່າຈາກຫຼາຍແຜ່ນຢູ່ທີ່ ເວລາ.

      ມີສອງວິທີແກ້ໄຂທີ່ແຕກຕ່າງກັນສໍາລັບວຽກງານນີ້. ໃນທັງສອງກໍລະນີ, ທ່ານຈໍາເປັນຕ້ອງເຮັດວຽກກະກຽມເລັກນ້ອຍແລະສ້າງຂອບເຂດທີ່ມີຊື່ສໍາລັບຈຸລັງຂໍ້ມູນໃນແຕ່ລະເອກະສານຊອກຫາ. ຕົວຢ່າງນີ້, ພວກເຮົາໄດ້ກໍານົດຂອບເຂດຕໍ່ໄປນີ້:

      • East_Sales - A2:B6 ໃນແຜ່ນຕາເວັນອອກ
      • North_Sales - A2: B6 ຢູ່​ໃນ​ແຜ່ນ​ຕາ​ເວັນ​ຕົກ
      • South_Sales - A2:B6 ຢູ່​ໃນ​ແຜ່ນ​ຕາ​ເວັນ​ຕົກ
      • West_Sales - A2:B6 ຢູ່​ໃນ​ແຜ່ນ​ຕາ​ເວັນ​ຕົກ

      VLOOKUP ແລະ IFs ທີ່ຖືກວາງໄວ້

      ຫາກທ່ານມີຈຳນວນທີ່ສົມເຫດສົມຜົນຂອງຊີດທີ່ຈະຊອກຫາ, ທ່ານສາມາດໃຊ້ຟັງຊັນ IF ທີ່ຖືກວາງໄວ້.ເພື່ອເລືອກຊີດໂດຍອີງໃສ່ຄໍາທີ່ຢູ່ໃນເຊລທີ່ກໍານົດໄວ້ກ່ອນ (ເຊລ B1 ເຖິງ D1 ໃນກໍລະນີຂອງພວກເຮົາ).

      ແປເປັນພາສາອັງກິດ, ສ່ວນ IF ອ່ານວ່າ:

      ຖ້າ B1 ແມ່ນ ຕາເວັນອອກ , ໃຫ້ເບິ່ງໃນຂອບເຂດຊື່ East_Sales ; ຖ້າ B1 ແມ່ນ North , ເບິ່ງໃນຂອບເຂດທີ່ມີຊື່ວ່າ North_Sales ; ຖ້າ B1 ແມ່ນ South , ເບິ່ງໃນຂອບເຂດທີ່ມີຊື່ South_Sales ; ແລະຖ້າ B1 ແມ່ນ West , ໃຫ້ເບິ່ງໃນໄລຍະທີ່ມີຊື່ West_Sales .

      ໄລຍະທີ່ສົ່ງກັບໂດຍ IF ໄປຫາ table_array ຂອງ VLOOKUP, ເຊິ່ງດຶງ ຄ່າທີ່ກົງກັນຈາກຖັນທີ 2 ຢູ່ໃນຊີດທີ່ສອດຄ້ອງກັນ.

      ການນຳໃຊ້ທີ່ສະຫຼາດຂອງການອ້າງອີງແບບປະສົມສຳລັບຄ່າການຊອກຫາ ($A2 - ຖັນຢ່າງແທ້ຈິງ ແລະແຖວທີ່ສົມທຽບ) ແລະການທົດສອບທາງເຫດຜົນຂອງ IF (B$1 - ຖັນທີ່ສົມທຽບ ແລະແຖວຢ່າງແທ້ຈິງ) ອະນຸຍາດໃຫ້ຄັດລອກສູດໄປຫາເຊລອື່ນໂດຍບໍ່ມີການປ່ຽນແປງ - Excel ປັບການອ້າງອີງອັດຕະໂນມັດໂດຍອີງໃສ່ຕໍາແຫນ່ງທີ່ກ່ຽວຂ້ອງຂອງແຖວແລະຖັນ.

      ດັ່ງນັ້ນ, ພວກເຮົາໃສ່ສູດໃນ B2, ຄັດລອກມັນຂວາແລະ ລົງເປັນຖັນ ແລະແຖວຫຼາຍເທົ່າທີ່ຕ້ອງການ, ແລະໄດ້ຜົນຕໍ່ໄປນີ້:

      ພາບໂດຍພາຍໃນ

      ເມື່ອເຮັດວຽກກັບຫຼາຍແຜ່ນ, ຫຼາຍລະດັບທີ່ຊ້ອນກັນສາມາດເຮັດໃຫ້ສູດໄດ້ຄືກັນ. ຍາວ​ແລະ​ຍາກ​ທີ່​ຈະ​ອ່ານ​. ວິທີທີ່ດີກວ່າແມ່ນການສ້າງ ໄລຍະ vlookup ແບບໄດນາມິກ ດ້ວຍການຊ່ວຍເຫຼືອຂອງ INDIRECT:

      =VLOOKUP($A2, INDIRECT(B$1&"_Sales"), 2, FALSE)

      ຢູ່ນີ້, ພວກເຮົາປະກອບການອ້າງອີງເຖິງຕາລາງທີ່ປະກອບດ້ວຍສ່ວນທີ່ເປັນເອກະລັກຂອງຊ່ວງທີ່ມີຊື່ (B1) ແລະສ່ວນທົ່ວໄປ (_Sales). ອັນນີ້ສ້າງສະຕຣິງຂໍ້ຄວາມເຊັ່ນ "East_Sales", ເຊິ່ງ INDIRECT ຈະປ່ຽນເປັນຊື່ໄລຍະທີ່ເຂົ້າໃຈໄດ້ໂດຍ Excel.

      ດ້ວຍເຫດນັ້ນ, ທ່ານໄດ້ຮັບສູດຂະໜາດກະທັດຮັດທີ່ເຮັດວຽກໄດ້ສວຍງາມໃນທຸກແຜ່ນງານ:

      <0

      ນັ້ນຄືວິທີການ Vlookup ລະຫວ່າງແຜ່ນງານ ແລະໄຟລ໌ໃນ Excel. ຂ້າພະເຈົ້າຂໍຂອບໃຈທ່ານສໍາລັບການອ່ານແລະຫວັງວ່າຈະໄດ້ພົບທ່ານໃນ blog ຂອງພວກເຮົາໃນອາທິດຕໍ່ໄປ!

      ປື້ມຄູ່ມືການປະຕິບັດສໍາລັບການດາວໂຫຼດ

      ເບິ່ງຕົວຢ່າງຫຼາຍແຜ່ນ (ໄຟລ໌ .xlsx)

      ອ້າງອີງເຖິງຕາລາງຂໍ້ມູນທຳອິດ, ເຊິ່ງແມ່ນ A2.
    • Table_array ແມ່ນໄລຍະ A2:B6 ໃນແຜ່ນ Jan. ເພື່ອອ້າງເຖິງມັນ, ໃຫ້ນຳໜ້າການອ້າງອີງໄລຍະດ້ວຍຊື່ແຜ່ນງານຕາມດ້ວຍເຄື່ອງໝາຍ exclamation: Jan!$A$2:$B$6.

      ກະລຸນາໃສ່ໃຈວ່າພວກເຮົາລັອກໄລຍະດ້ວຍການອ້າງອີງເຊລແບບສົມບູນເພື່ອປ້ອງກັນບໍ່ໃຫ້ມັນປ່ຽນແປງເມື່ອສຳເນົາສູດຄຳນວນໄປໃສ່ຕາລາງອື່ນ.

      Col_index_num ແມ່ນ 2 ເພາະວ່າພວກເຮົາຕ້ອງການສຳເນົາຄ່າໃດໜຶ່ງ. ຈາກຖັນ B, ເຊິ່ງເປັນຖັນທີ 2 ໃນອາເຣຕາຕາລາງ.

    • Range_lookup ຖືກຕັ້ງເປັນ FALSE ເພື່ອຊອກຫາການຈັບຄູ່ທີ່ແນ່ນອນ.

    ການວາງ arguments ຮ່ວມກັນ, ພວກເຮົາໄດ້ຮັບສູດນີ້:

    =VLOOKUP(A2, Jan!$A$2:$B$6, 2, FALSE)

    ລາກສູດລົງຖັນແລະທ່ານຈະໄດ້ຮັບຜົນໄດ້ຮັບນີ້:

    ໃນ ລັກສະນະຄ້າຍຄືກັນ, ທ່ານສາມາດ Vlookup ຂໍ້ມູນຈາກ Feb ແລະ Mar sheets:

    =VLOOKUP(A2, Feb!$A$2:$B$6, 2, FALSE)

    =VLOOKUP(A2, Mar!$A$2:$B$6, 2, FALSE)

    ເຄັດລັບ ແລະບັນທຶກ:

    • ຖ້າຊື່ຊີດມີ ຍະຫວ່າງ ຫຼື ຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວອັກສອນ , ມັນຈະຕ້ອງຖືກໃສ່ໃນເຄື່ອງໝາຍວົງຢືມອັນດຽວ ເຊັ່ນ 'ການຂາຍເດືອນມັງກອນ'!$A$2:$B$6 . ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ, ກະລຸນາເບິ່ງວິທີການອ້າງອີງຊີດອື່ນໃນ Excel.
    • ແທນທີ່ຈະພິມຊື່ແຜ່ນງານໂດຍກົງໃນສູດ, ທ່ານສາມາດສະຫຼັບໄປຫາແຜ່ນງານຊອກຫາ ແລະເລືອກໄລຍະຢູ່ທີ່ນັ້ນ. Excel ຈະໃສ່ການອ້າງອີງທີ່ມີ syntax ທີ່ຖືກຕ້ອງໂດຍອັດຕະໂນມັດ, ເຮັດໃຫ້ທ່ານມີບັນຫາໃນການກວດສອບຊື່ແລະແກ້ໄຂບັນຫາ.

    Vlookup ຈາກ workbook ທີ່ແຕກຕ່າງກັນ

    ເພື່ອ VLOOKUP ລະຫວ່າງສອງ.ປື້ມບັນທຶກວຽກ, ໃຫ້ໃສ່ຊື່ໄຟລ໌ໃນວົງເລັບສີ່ຫຼ່ຽມ, ຕິດຕາມດ້ວຍຊື່ແຜ່ນງານ ແລະຈຸດ exclamation.

    ຕົວຢ່າງ, ເພື່ອຊອກຫາຄ່າ A2 ໃນຊ່ວງ A2:B6 ໃນ Jan sheet in ປຶ້ມວຽກ Sales_reports.xlsx , ໃຊ້ສູດນີ້:

    =VLOOKUP(A2, [Sales_reports.xlsx]Jan!$A$2:$B$6, 2, FALSE)

    ສຳລັບລາຍລະອຽດເຕັມ, ກະລຸນາເບິ່ງ VLOOKUP ຈາກປຶ້ມວຽກອື່ນໃນ Excel.

    ເບິ່ງຂ້າມ. ຫຼາຍແຜ່ນດ້ວຍ IFERROR

    ເມື່ອທ່ານຕ້ອງການຊອກຫາລະຫວ່າງຫຼາຍກວ່າສອງແຜ່ນ, ການແກ້ໄຂທີ່ງ່າຍທີ່ສຸດແມ່ນການໃຊ້ VLOOKUP ປະສົມປະສານກັບ IFERROR. ແນວຄວາມຄິດແມ່ນເພື່ອວາງຟັງຊັນ IFERROR ຫຼາຍໆຢ່າງເພື່ອກວດເບິ່ງຫຼາຍໆແຜ່ນວຽກຫນຶ່ງຕໍ່ຫນຶ່ງ: ຖ້າ VLOOKUP ທໍາອິດບໍ່ພົບຄໍາທີ່ກົງກັນໃນແຜ່ນທໍາອິດ, ຄົ້ນຫາໃນແຜ່ນຕໍ່ໄປ, ແລະອື່ນໆ.

    IFERROR(VLOOKUP(...), IFERROR(VLOOKUP(…), …, " ບໍ່ພົບ "))

    ເພື່ອເບິ່ງວິທີການນີ້ເຮັດວຽກກັບຂໍ້ມູນຊີວິດຈິງ, ໃຫ້ພິຈາລະນາຕົວຢ່າງຕໍ່ໄປນີ້. ຂ້າງລຸ່ມນີ້ແມ່ນຕາຕະລາງ ສະຫຼຸບ ທີ່ພວກເຮົາຕ້ອງການຕື່ມຂໍ້ມູນໃສ່ຊື່ລາຍການ ແລະຈຳນວນໂດຍການຊອກຫາເລກລຳດັບໃນ ຕາເວັນຕົກ ແລະ ຕາເວັນອອກ ແຜ່ນງານ:

    ທໍາອິດ, ພວກເຮົາຈະດຶງລາຍການ. ສໍາລັບນີ້, ພວກເຮົາແນະນໍາສູດ VLOOKUP ເພື່ອຊອກຫາຈໍານວນຄໍາສັ່ງໃນ A2 ໃນແຜ່ນ ຕາເວັນອອກ ແລະສົ່ງຄືນຄ່າຈາກຖັນ B (ຖັນທີ 2 ໃນ table_array A2:C6). ຖ້າ​ບໍ່​ພົບ​ການ​ກົງ​ກັນ​ທີ່​ແນ່​ນອນ, ໃຫ້​ຊອກ​ຫາ​ຢູ່​ໃນ West sheet. ຖ້າທັງສອງ Vlookups ລົ້ມເຫລວ, ໃຫ້ກັບຄືນ "ບໍ່ພົບ".ພຽງແຕ່ປ່ຽນຕົວເລກດັດສະນີຖັນເປັນ 3:

    =IFERROR(VLOOKUP(A2, East!$A$2:$C$6, 3, FALSE), IFERROR(VLOOKUP(A2, West!$A$2:$C$6, 3, FALSE), "Not found"))

    ເຄັດລັບ. ຖ້າຈໍາເປັນ, ທ່ານສາມາດກໍານົດ array ຕາຕະລາງທີ່ແຕກຕ່າງກັນສໍາລັບຫນ້າທີ່ VLOOKUP ທີ່ແຕກຕ່າງກັນ. ໃນຕົວຢ່າງນີ້, ທັງສອງແຜ່ນຊອກຫາມີຈໍານວນແຖວດຽວກັນ (A2:C6), ແຕ່ແຜ່ນວຽກຂອງເຈົ້າອາດຈະແຕກຕ່າງກັນໃນຂະຫນາດ.

    Vlookup ໃນຫຼາຍປຶ້ມວຽກ

    ເພື່ອ Vlookup ລະຫວ່າງ 2 ຫຼືຫຼາຍກວ່ານັ້ນປຶ້ມວຽກ, ໃຫ້ໃສ່ຊື່ປຶ້ມວຽກໃສ່ໃນວົງເລັບສີ່ຫຼ່ຽມ ແລະວາງມັນໄວ້ກ່ອນຊື່ແຜ່ນງານ. ຕົວຢ່າງ, ນີ້ແມ່ນວິທີທີ່ທ່ານສາມາດ Vlookup ໃນ ສອງໄຟລ໌ທີ່ແຕກຕ່າງກັນ ( Book1 ແລະ Book2 ) ດ້ວຍສູດດຽວ:

    =IFERROR(VLOOKUP(A2, [Book1.xlsx]East!$A$2:$C$6, 2, FALSE), IFERROR(VLOOKUP(A2, [Book2.xlsx]West!$A$2:$C$6, 2, FALSE),"Not found"))

    ເຮັດໃຫ້ຕົວເລກດັດສະນີຖັນແບບໄດນາມິກເປັນ Vlookup ຫຼາຍຖັນ

    ໃນສະຖານະການທີ່ເຈົ້າຕ້ອງການສົ່ງຄືນຂໍ້ມູນຈາກຫຼາຍຖັນ, ການເຮັດໃຫ້ col_index_num ໄດນາມິກສາມາດປະຫຍັດເວລາໄດ້. ມີການປັບຕົວບາງອັນທີ່ຕ້ອງເຮັດ:

    • ສຳລັບອາກິວເມັນ col_index_num , ໃຫ້ໃຊ້ຟັງຊັນ COLUMNS ທີ່ສົ່ງຄືນຈຳນວນຖັນໃນອາເຣທີ່ກຳນົດໄວ້: COLUMNS($A$1 :B$1). (ການປະສານງານແຖວບໍ່ສຳຄັນແທ້ໆ, ມັນສາມາດເປັນແຖວໃດກໍໄດ້.)
    • ໃນອາກິວເມັນ lookup_value , ລັອກການອ້າງອີງຖັນດ້ວຍເຄື່ອງໝາຍ $ ($A2), ສະນັ້ນມັນຍັງຄົງຢູ່. ແກ້ໄຂເມື່ອສຳເນົາສູດຄຳນວນໄປໃສ່ຖັນອື່ນ.

    ດ້ວຍເຫດນັ້ນ, ທ່ານໄດ້ຮັບສູດແບບໄດນາມິກຊະນິດໜຶ່ງທີ່ດຶງເອົາຄ່າທີ່ກົງກັນຈາກຖັນຕ່າງໆ, ຂຶ້ນກັບຖັນໃດທີ່ສູດຄຳນວນຖືກສຳເນົາໄປ:

    =IFERROR(VLOOKUP($A2, East!$A$2:$C$6, COLUMNS($A$1:B$1), FALSE), IFERROR(VLOOKUP($A2, West!$A$2:$C$6, COLUMNS($A$1:B$1), FALSE), "Not found"))

    ເມື່ອໃສ່ໃນຖັນ B, COLUMNS($A$1:B$1)ປະເມີນເປັນ 2 ບອກ VLOOKUP ໃຫ້ສົ່ງຄືນຄ່າຈາກຖັນທີ 2 ໃນຕາຕະລາງຕາຕະລາງ.

    ເມື່ອສຳເນົາໄປໃສ່ຖັນ C (ເຊັ່ນ: ທ່ານໄດ້ລາກສູດຈາກ B2 ຫາ C2), B$1 ປ່ຽນເປັນ C$1 ເພາະວ່າ ຖັນອ້າງອີງແມ່ນພີ່ນ້ອງ. ດັ່ງນັ້ນ, COLUMNS($A$1:C$1) ປະເມີນເປັນ 3 ບັງຄັບໃຫ້ VLOOKUP ຕອບຄ່າຈາກຖັນທີ 3.

    ສູດນີ້ໃຊ້ໄດ້ຫຼາຍສຳລັບ 2 - 3 ແຜ່ນງານຊອກຫາ. ຖ້າທ່ານມີຫຼາຍ, IFERRORs ຊໍ້າຊ້ອນກາຍເປັນເລື່ອງທີ່ຫຍຸ້ງຍາກເກີນໄປ. ຕົວຢ່າງຕໍ່ໄປສະແດງໃຫ້ເຫັນຄວາມຊັບຊ້ອນເລັກນ້ອຍແຕ່ມີວິທີການທີ່ສະຫງ່າງາມກວ່າ.

    ເບິ່ງຫຼາຍແຜ່ນດ້ວຍ INDIRECT

    ອີກວິທີໜຶ່ງເພື່ອ Vlookup ລະຫວ່າງຫຼາຍແຜ່ນໃນ Excel ແມ່ນການໃຊ້ການລວມກັນຂອງ VLOOKUP ແລະ ຟັງຊັນ INDIRECT. ວິທີການນີ້ຮຽກຮ້ອງໃຫ້ມີການກະກຽມເລັກນ້ອຍ, ແຕ່ໃນທີ່ສຸດ, ເຈົ້າຈະມີສູດທີ່ຫນາແຫນ້ນກວ່າສໍາລັບ Vlookup ໃນຈໍານວນຕາຕະລາງໃດໆ. 1>lookup_value , INDIRECT("'"&INDEX( Lookup_sheets , MATCH(1, --(COUNTIF(INDIRECT("'"") & Lookup_sheets &")" '! lookup_range "), lookup_value )>0), 0)) & "'! table_array "), col_index_num , FALSE)

    ຢູ່ໃສ:

    • Lookup_sheets - ໄລຍະທີ່ມີຊື່ປະກອບດ້ວຍຊື່ຊີດຊອກຫາ.
    • Lookup_value - the ຄ່າທີ່ຈະຊອກຫາ.
    • ໄລຍະການຊອກຫາ - ໄລຍະຖັນໃນແຜ່ນຂໍ້ມູນຊອກຫາບ່ອນໃດທີ່ຈະຊອກຫາການຊອກຫາ.ຄ່າ.
    • Table_array - ໄລຍະຂໍ້ມູນໃນແຜ່ນຊອກຫາ.
    • Col_index_num - ຈຳນວນຂອງຖັນໃນຕາຕະລາງ array ຈາກນັ້ນໄປ. ຕອບຄ່າໃດໜຶ່ງ.

    ເພື່ອໃຫ້ສູດຄຳນວນເຮັດວຽກໄດ້ຢ່າງຖືກຕ້ອງ, ກະລຸນາຮັບຊາບບັນດາຂໍ້ແນະນຳຕໍ່ໄປນີ້:

    • ມັນເປັນສູດອາເຣ, ເຊິ່ງຈະຕ້ອງສຳເລັດໂດຍການກົດ Ctrl + Shift + ໃສ່ກະແຈເຂົ້າກັນ.
    • ຊີດທັງໝົດຕ້ອງມີ ລຳດັບຂອງຖັນດຽວກັນ .
    • ເມື່ອພວກເຮົາໃຊ້ຕາຕະລາງຕາຕະລາງອັນດຽວສຳລັບເອກະສານຊອກຫາທັງໝົດ, ໃຫ້ລະບຸ ໄລຍະທີ່ໃຫຍ່ທີ່ສຸດ ຖ້າຊີດຂອງທ່ານມີຈໍານວນແຖວທີ່ແຕກຕ່າງກັນ.

    ວິທີໃຊ້ສູດການ Vlookup ໃນທົ່ວຊີດ

    ເພື່ອ Vlookup ຫຼາຍແຜ່ນຕໍ່ໆກັນ, ດໍາເນີນການເຫຼົ່ານີ້. ຂັ້ນ​ຕອນ​:

    1. ຂຽນ​ຊື່​ແຜ່ນ​ການ​ຊອກ​ຫາ​ທັງ​ຫມົດ​ຢູ່​ບ່ອນ​ໃດ​ຫນຶ່ງ​ໃນ workbook ຂອງ​ທ່ານ​ແລະ​ຊື່​ທີ່​ລະ​ດັບ ( Lookup_sheets ໃນ​ກໍ​ລະ​ນີ​ຂອງ​ພວກ​ເຮົາ).

  • ປັບສູດທົ່ວໄປສໍາລັບຂໍ້ມູນຂອງທ່ານ. ໃນຕົວຢ່າງນີ້, ພວກເຮົາຈະເປັນ:
    • ຊອກຫາຄ່າ A2 ( lookup_value )
    • ໃນໄລຍະ A2:A6 ( lookup_range ) ໃນ ສີ່ແຜ່ນວຽກ ( ຕາເວັນອອກ , ເໜືອ , ໃຕ້ ແລະ ຕາເວັນຕົກ ), ແລະ
    • ດຶງຄ່າທີ່ກົງກັນຈາກຖັນ B, ເຊິ່ງແມ່ນຖັນ 2 ( col_index_num ) ໃນຂອບເຂດຂໍ້ມູນ A2:C6 ( table_array ).

    ດ້ວຍອາກິວເມັນຂ້າງເທິງ, ສູດຈະໃຊ້ຮູບຮ່າງນີ້:

    =VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'"& Lookup_sheets&"'!$A$2:$A$6"), $A2)>0), 0)) &"'!$A$2:$C$6"), 2, FALSE)

    ກະລຸນາສັງເກດວ່າພວກເຮົາລັອກທັງສອງໄລຍະ ($A$2:$A$6 ແລະ $A$2:$C$6) ດ້ວຍການອ້າງອີງຕາລາງຢ່າງແທ້ຈິງ.

  • ໃສ່ ສູດຢູ່ໃນຕາລາງເທິງສຸດ (B2 ໃນຕົວຢ່າງນີ້) ແລະກົດ Ctrl + Shift + Enter ເພື່ອເຮັດສໍາເລັດມັນ.
  • ຄລິກສອງເທື່ອ ຫຼືລາກຕົວຈັດການການຕື່ມຂໍ້ມູນເພື່ອສຳເນົາສູດລົງຖັນ.
  • ດັ່ງທີ່ ຜົນ​ໄດ້​ຮັບ​, ພວກ​ເຮົາ​ໄດ້​ຮັບ​ສູດ​ເພື່ອ​ຊອກ​ຫາ​ຈໍາ​ນວນ​ຄໍາ​ສັ່ງ​ໃນ 4 ແຜ່ນ​ແລະ​ດຶງ​ເອົາ​ລາຍ​ການ​ທີ່​ສອດ​ຄ້ອງ​ກັນ​ໄດ້​. ຖ້າບໍ່ພົບຕົວເລກການສັ່ງຊື້ສະເພາະ, ຂໍ້ຜິດພາດ #N/A ຈະຖືກສະແດງຄືກັບແຖວທີ 14:

    ເພື່ອສົ່ງຄືນຈຳນວນ, ພຽງແຕ່ແທນທີ່ 2 ກັບ 3 ໃນ col_index_num. argument ເປັນຈໍານວນຢູ່ໃນຖັນທີ 3 ຂອງຕາຕະລາງ array:

    =VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'" & Lookup_sheets & "'!$A$2:$A$6"), $A2)>0), 0)) & "'!$A$2:$C$6"), 3, FALSE)

    ຖ້າທ່ານຕ້ອງການປ່ຽນມາດຕະຖານຄວາມຜິດພາດ #N/A ດ້ວຍຂໍ້ຄວາມຂອງທ່ານເອງ, ຫໍ່ ສູດເຂົ້າໄປໃນຟັງຊັນ IFNA:

    =IFNA(VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'" & Lookup_sheets & "'!$A$2:$A$6"), $A2)>0), 0)) & "'!$A$2:$C$6"), 3, FALSE), "Not found")

    ເບິ່ງຫຼາຍແຜ່ນລະຫວ່າງປຶ້ມວຽກ

    ສູດທົ່ວໄປນີ້ (ຫຼືຮູບແບບຕ່າງໆຂອງມັນ) ຍັງສາມາດຖືກນໍາໃຊ້ ເພື່ອ Vlookup ຫຼາຍແຜ່ນໃນ ປຶ້ມວຽກທີ່ແຕກຕ່າງກັນ . ສໍາລັບການນີ້, concatenate ຊື່ workbook ພາຍໃນ INDIRECT ດັ່ງທີ່ສະແດງຢູ່ໃນສູດຂ້າງລຸ່ມນີ້:

    =IFNA(VLOOKUP($A2, INDIRECT("'[Book1.xlsx]" & INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'[Book1.xlsx]" & Lookup_sheets & "'!$A$2:$A$6"), $A2)>0), 0)) & "'!$A$2:$C$6"), 2, FALSE), "Not found")

    Vlookup ລະຫວ່າງແຜ່ນແລະສົ່ງຄືນຫຼາຍຖັນ

    ຖ້າທ່ານຕ້ອງການດຶງຂໍ້ມູນຈາກຫຼາຍ ຖັນ, ສູດອະເຣຫຼາຍເຊລ ສາມາດເຮັດໄດ້ໃນຄັ້ງດຽວ. ເພື່ອສ້າງສູດດັ່ງກ່າວ, ສະໜອງຄ່າຄົງທີ່ array ສໍາລັບ col_index_num argument.

    ໃນຕົວຢ່າງນີ້, ພວກເຮົາຕ້ອງການສົ່ງຄືນຊື່ລາຍການ (ຖັນ B) ແລະຈໍານວນ (ຖັນ C), ເຊິ່ງ. ແມ່ນຖັນທີ 2 ແລະທີ 3 ໃນຕາຕະລາງຕາຕະລາງ, ຕາມລໍາດັບ. ດັ່ງນັ້ນ, array ທີ່ຕ້ອງການແມ່ນ{2,3}.

    =VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'"& Lookup_sheets &"'!$A$2:$C$6"), $A2)>0), 0)) &"'!$A$2:$C$6"), {2,3}, FALSE)

    ເພື່ອປ້ອນສູດຄຳນວນໃຫ້ຖືກຕ້ອງໃນຫຼາຍຕາລາງ, ນີ້ແມ່ນສິ່ງທີ່ທ່ານຕ້ອງເຮັດ:

    • ໃນແຖວທຳອິດ, ເລືອກຕາລາງທັງໝົດທີ່ຈະຕື່ມຂໍ້ມູນ (B2:C2 ໃນຕົວຢ່າງຂອງພວກເຮົາ).
    • ພິມສູດແລ້ວກົດ Ctrl + Shift + Enter . ອັນນີ້ເຂົ້າໄປໃນສູດດຽວກັນໃນຕາລາງທີ່ເລືອກ, ເຊິ່ງຈະສົ່ງຄ່າທີ່ແຕກຕ່າງກັນໃນແຕ່ລະຖັນ.
    • ລາກສູດຄຳນວນລົງໄປຫາແຖວທີ່ເຫຼືອ.

    ສູດ​ນີ້​ເຮັດ​ວຽກ​ແນວ​ໃດ

    ເພື່ອ​ເຂົ້າ​ໃຈ​ສາ​ເຫດ​ໄດ້​ດີ​ຂຶ້ນ, ຂໍ​ໃຫ້​ແບ່ງ​ສູດ​ພື້ນ​ຖານ​ນີ້​ອອກ​ເປັນ​ການ​ທໍາ​ງານ​ຂອງ​ແຕ່​ລະ​ຄົນ:

    =VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'"& Lookup_sheets&"'!$A$2:$A$6"), $A2)>0), 0)) &"'!$A$2:$C$6"), 2, FALSE)

    ເຮັດວຽກຈາກພາຍໃນສູ່ພາຍນອກ, ນີ້ແມ່ນສິ່ງທີ່ສູດເຮັດ:

    COUNTIF ແລະ INDIRECT

    ໂດຍຫຍໍ້, INDIRECT ຈະສ້າງເອກະສານອ້າງອີງສໍາລັບແຜ່ນການຊອກຫາທັງໝົດ, ແລະ COUNTIF ຈະນັບການປະກົດຕົວຂອງການຄົ້ນຫາ. ຄ່າ (A2) ໃນແຕ່ລະຊີດ:

    --(COUNTIF( INDIRECT("'"&Lookup_sheets&"'!$A$2:$A$6"), $A2)>0)

    ໃນລາຍລະອຽດເພີ່ມເຕີມ:

    ທໍາອິດ, ທ່ານປະກອບຊື່ໄລຍະ (Lookup_sheets) ແລະການອ້າງອີງໄລຍະ ($A$2: $A$6), ການເພີ່ມ apostrophes ແລະ exclamation point ໃນສະຖານທີ່ທີ່ຖືກຕ້ອງເພື່ອເຮັດການອ້າງອີງພາຍນອກ, ແລະ feed string text ຜົນໄດ້ຮັບໄປຫາຟັງຊັນ INDIRECT ເພື່ອອ້າງອີງແບບໄດນາມິກຂອງ lookup sheets:

    INDIRECT({"'East'!$A$2:$A$6"; "'South'!$A$2:$A$6"; "'North'!$A$2:$A$6"; "'West'!$A$2:$A$6"})

    COUNTIF ກວດສອບແຕ່ລະເຊລໃນໄລຍະ A2:A6 ໃນແຕ່ລະແຜ່ນຊອກຫາຕໍ່ກັບຄ່າໃນ A2 ໃນຫຼັກ ແຜ່ນແລະສົ່ງຄືນການນັບຂອງຄໍາທີ່ກົງກັນສໍາລັບແຕ່ລະແຜ່ນ. ໃນຊຸດຂໍ້ມູນຂອງພວກເຮົາ, ຕົວເລກຄໍາສັ່ງໃນ A2 (101) ແມ່ນພົບເຫັນຢູ່ໃນແຜ່ນ ຕາເວັນຕົກ , ເຊິ່ງເປັນອັນດັບທີ 4 ໃນແຜ່ນ.ໄລຍະທີ່ມີຊື່, ດັ່ງນັ້ນ COUNTIF ຕອບອາເຣນີ້:

    {0;0;0;1}

    ຕໍ່ໄປ, ທ່ານສົມທຽບແຕ່ລະອົງປະກອບຂອງອາເຣຂ້າງເທິງນີ້ດ້ວຍ 0:

    --({0; 0; 0; 1}>0)

    ອັນນີ້ໃຫ້ຜົນ array ຂອງ TRUE (ໃຫຍ່ກວ່າ 0) ແລະ FALSE (ເທົ່າກັບ 0), ທີ່ທ່ານບີບບັງຄັບເປັນ 1's ແລະ 0's ໂດຍໃຊ້ double unary (--), ແລະໄດ້ຮັບ array ດັ່ງຕໍ່ໄປນີ້:

    {0; 0; 0; 1}

    ການດຳເນີນການນີ້ແມ່ນເປັນຂໍ້ຄວນລະວັງເພີ່ມເຕີມເພື່ອຈັດການກັບສະຖານະການເມື່ອເອກະສານຊອກຫາປະກອບດ້ວຍການປະກົດຕົວຫຼາຍຄັ້ງຂອງຄ່າການຊອກຫາ, ໃນກໍລະນີນີ້ COUNTIF ຈະສົ່ງຄືນການນັບໃຫຍ່ກວ່າ 1, ໃນຂະນະທີ່ພວກເຮົາຕ້ອງການພຽງແຕ່ 1's ແລະ 0's ເທົ່ານັ້ນ. array ສຸດ​ທ້າຍ (ໃນ​ປັດ​ຈຸ​ບັນ, ທ່ານ​ຈະ​ເຂົ້າ​ໃຈ​ວ່າ​ເປັນ​ຫຍັງ).

    ຫຼັງ​ຈາກ​ການ​ປ່ຽນ​ແປງ​ທັງ​ຫມົດ​ເຫຼົ່າ​ນີ້, ສູດ​ຂອງ​ພວກ​ເຮົາ​ມີ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້:

    VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, {0;0;0;1} , 0)) &"'!$A$2:$C$6"), 2, FALSE)

    INDEX ແລະ MATCH

    ໃນຈຸດນີ້, ຂັ້ນຕອນການປະສົມປະສານ INDEX MATCH ຄລາສສິກໃນ:

    INDEX(Lookup_sheets, MATCH(1, {0;0;0;1}, 0))

    ຟັງຊັນ MATCH ທີ່ຖືກຕັ້ງຄ່າໃຫ້ກົງກັນທີ່ແນ່ນອນ (0 ໃນອາກິວເມັນສຸດທ້າຍ) ຊອກຫາຄ່າ 1 ໃນອາເຣ { 0;0;0;1} ແລະສົ່ງຄືນຕຳແໜ່ງຂອງມັນ, ເຊິ່ງແມ່ນ 4:

    INDEX(Lookup_sheets, 4)

    ຟັງຊັນ INDEX ໃຊ້ຕົວເລກທີ່ສົ່ງຄືນ. ໂດຍ MATCH ເປັນອາກິວເມັນເລກແຖວ (row_num), ແລະສົ່ງຄືນຄ່າທີ 4 ໃນຊ່ວງທີ່ມີຊື່ Lookup_sheets , ເຊິ່ງແມ່ນ ຕາເວັນຕົກ .

    ດັ່ງນັ້ນ, ສູດຈະຫຼຸດລົງຕື່ມອີກ. ເປັນ:

    VLOOKUP($A2, INDIRECT("'"&" West "&"'!$A$2:$C$6"), 2, FALSE)

    VLOOKUP ແລະ INDIRECT

    ຟັງຊັນ INDIRECT ປະມວນຜົນຂໍ້ຄວາມທີ່ຢູ່ໃນມັນ:

    INDIRECT("'"&"West"&"'!$A$2:$C$6")

    ແລະປ່ຽນມັນ. ເຂົ້າໄປໃນການອ້າງອີງທີ່ໄປຫາ table_array argument ຂອງ

    Michael Brown ເປັນຜູ້ທີ່ມີຄວາມກະຕືລືລົ້ນທາງດ້ານເທກໂນໂລຍີທີ່ອຸທິດຕົນທີ່ມີຄວາມກະຕືລືລົ້ນໃນຂະບວນການທີ່ສັບສົນໂດຍນໍາໃຊ້ເຄື່ອງມືຊອບແວ. ດ້ວຍປະສົບການຫຼາຍກວ່າໜຶ່ງທົດສະວັດໃນອຸດສາຫະກຳເທັກໂນໂລຍີ, ລາວໄດ້ເນັ້ນທັກສະໃນ Microsoft Excel ແລະ Outlook, ເຊັ່ນດຽວກັນກັບ Google Sheets ແລະ Docs. blog ຂອງ Michael ແມ່ນອຸທິດຕົນເພື່ອແບ່ງປັນຄວາມຮູ້ແລະຄວາມຊໍານານຂອງລາວກັບຜູ້ອື່ນ, ສະຫນອງຄໍາແນະນໍາແລະຄໍາແນະນໍາທີ່ງ່າຍຕໍ່ການຕິດຕາມເພື່ອປັບປຸງຜົນຜະລິດແລະປະສິດທິພາບ. ບໍ່ວ່າທ່ານຈະເປັນມືອາຊີບທີ່ມີລະດູການຫຼືຜູ້ເລີ່ມຕົ້ນ, blog ຂອງ Michael ສະເຫນີຄວາມເຂົ້າໃຈທີ່ມີຄຸນຄ່າແລະຄໍາແນະນໍາພາກປະຕິບັດສໍາລັບການໄດ້ຮັບປະໂຫຍດສູງສຸດຈາກເຄື່ອງມືຊອບແວທີ່ຈໍາເປັນເຫຼົ່ານີ້.