30 ຟັງຊັນ Excel ໃນ 30 ມື້: INDIRECT

ຊົມເຊີຍ! ທ່ານໄດ້ມາຮອດມື້ສຸດທ້າຍຂອງການແລ່ນມາຣາທອນ 30 ຟັງຊັນ Excel ໃນ 30 ມື້. ມັນເປັນການເດີນທາງທີ່ຍາວນານແລະຫນ້າສົນໃຈໃນໄລຍະທີ່ທ່ານໄດ້ຮຽນຮູ້ສິ່ງທີ່ເປັນປະໂຫຍດຫຼາຍຢ່າງກ່ຽວກັບຫນ້າທີ່ Excel.

ໃນວັນທີ 30 ຂອງການແລ່ນມາຣາທອນ, ພວກເຮົາຈະອຸທິດການສຶກສາຫນ້າທີ່ ປະຕິບັດຕາມ (INDIRECT), ເຊິ່ງສົ່ງຄືນການເຊື່ອມຕໍ່ທີ່ລະບຸໄວ້ໂດຍສະຕຣິງຂໍ້ຄວາມ. ດ້ວຍຟັງຊັນນີ້, ທ່ານສາມາດສ້າງລາຍການເລື່ອນລົງທີ່ຂຶ້ນກັບ. ຕົວຢ່າງ, ເມື່ອເລືອກປະເທດຈາກບັນຊີລາຍຊື່ແບບເລື່ອນລົງຈະກໍານົດວ່າທາງເລືອກໃດຈະປາກົດຢູ່ໃນບັນຊີລາຍຊື່ແບບເລື່ອນລົງຂອງເມືອງ.

ດັ່ງນັ້ນ, ໃຫ້ພິຈາລະນາຢ່າງລະອຽດກ່ຽວກັບພາກສ່ວນທິດສະດີຂອງຫນ້າທີ່ ປະຕິບັດຕາມ (INDIRECT) ແລະສຳຫຼວດຕົວຢ່າງພາກປະຕິບັດຂອງແອັບພລິເຄຊັນຂອງມັນ. ຖ້າທ່ານມີຂໍ້ມູນເພີ່ມເຕີມຫຼືຕົວຢ່າງ, ກະລຸນາແບ່ງປັນໃຫ້ເຂົາເຈົ້າໃນຄໍາເຫັນ.

ຟັງຊັນ 30: INDIRECT

ຫນ້າທີ່ ປະຕິບັດຕາມ (INDIRECT) ສົ່ງຄືນລິ້ງທີ່ລະບຸໄວ້ໂດຍສະຕຣິງຂໍ້ຄວາມ.

ເຈົ້າສາມາດໃຊ້ຟັງຊັນ INDIRECT ໄດ້ແນວໃດ?

ນັບຕັ້ງແຕ່ຫນ້າທີ່ ປະຕິບັດຕາມ (INDIRECT) ສົ່ງຄືນລິ້ງທີ່ໃຫ້ໂດຍສະຕຣິງຂໍ້ຄວາມ, ທ່ານສາມາດໃຊ້ມັນເພື່ອ:

  • ສ້າງການເຊື່ອມຕໍ່ເບື້ອງຕົ້ນທີ່ບໍ່ປ່ຽນແປງ.
  • ສ້າງການອ້າງອີງເຖິງໄລຍະທີ່ມີຊື່ຄົງທີ່.
  • ສ້າງລິ້ງໂດຍໃຊ້ຂໍ້ມູນຊີດ, ແຖວ, ແລະຖັນ.
  • ສ້າງ array ທີ່ບໍ່ປ່ຽນແປງຂອງຕົວເລກ.

Syntax INDIRECT (INDIRECT)

ຫນ້າທີ່ ປະຕິບັດຕາມ (INDIRECT) ມີ syntax ຕໍ່ໄປນີ້:

INDIRECT(ref_text,a1)

ДВССЫЛ(ссылка_на_ячейку;a1)

  • ref_text (link_to_cell) ແມ່ນຂໍ້ຄວາມຂອງການເຊື່ອມຕໍ່.
  • a1 – ຖ້າເທົ່າກັບ TRUE (TRUE) ຫຼືບໍ່ໄດ້ລະບຸ, ຮູບແບບຂອງລິ້ງຈະຖືກໃຊ້ A1; ແລະຖ້າ FALSE (FALSE), ຫຼັງຈາກນັ້ນຮູບແບບ R1C1.

ກັບດັກທາງອ້ອມ (INDIRECT)

  • ຫນ້າທີ່ ປະຕິບັດຕາມ (INDIRECT) ຖືກຄິດໄລ່ຄືນໃຫມ່ທຸກຄັ້ງທີ່ຄ່າໃນ Excel ປ່ຽນແປງ. ນີ້ສາມາດເຮັດໃຫ້ປື້ມບັນທຶກການເຮັດວຽກຂອງທ່ານຊ້າລົງຢ່າງຫຼວງຫຼາຍຖ້າຟັງຊັນຖືກນໍາໃຊ້ໃນຫຼາຍສູດ.
  • ຖ້າຫນ້າທີ່ ປະຕິບັດຕາມ (INDIRECT) ສ້າງລິ້ງໄປຫາປຶ້ມວຽກ Excel ອື່ນ, ປຶ້ມວຽກນັ້ນຕ້ອງເປີດ ຫຼືສູດຈະລາຍງານຂໍ້ຜິດພາດ. #REF! (#LINK!).
  • ຖ້າຫນ້າທີ່ ປະຕິບັດຕາມ (INDIRECT) ອ້າງອີງໄລຍະທີ່ເກີນຂີດຈຳກັດແຖວ ແລະຖັນ, ສູດຈະລາຍງານຂໍ້ຜິດພາດ #REF! (#LINK!).
  • ຫນ້າທີ່ ປະຕິບັດຕາມ (INDIRECT) ບໍ່ສາມາດອ້າງອີງໄລຍະທີ່ມີຊື່ແບບໄດນາມິກໄດ້.

ຕົວຢ່າງ 1: ສ້າງລິ້ງເບື້ອງຕົ້ນທີ່ບໍ່ປ່ຽນແປງ

ໃນຕົວຢ່າງທໍາອິດ, ຖັນ C ແລະ E ມີຕົວເລກດຽວກັນ, ຜົນລວມຂອງພວກມັນຖືກຄິດໄລ່ໂດຍໃຊ້ຟັງຊັນ SUM (SUM) ກໍ່ຄືກັນ. ຢ່າງໃດກໍຕາມ, ສູດແມ່ນແຕກຕ່າງກັນເລັກນ້ອຍ. ໃນເຊລ C8, ສູດແມ່ນ:

=SUM(C2:C7)

=СУММ(C2:C7)

ໃນເຊລ E8, ຫນ້າທີ່ ປະຕິບັດຕາມ (INDIRECT) ສ້າງລິ້ງໄປຫາຕາລາງເລີ່ມຕົ້ນ E2:

=SUM(INDIRECT("E2"):E7)

=СУММ(ДВССЫЛ("E2"):E7)

ຖ້າທ່ານໃສ່ແຖວຢູ່ເທິງສຸດຂອງແຜ່ນແລະເພີ່ມຄ່າສໍາລັບເດືອນມັງກອນ (Jan), ຈໍານວນຢູ່ໃນຖັນ C ຈະບໍ່ປ່ຽນແປງ. ສູດຈະປ່ຽນແປງ, ປະຕິກິລິຍາຕໍ່ການເພີ່ມເສັ້ນ:

=SUM(C3:C8)

=СУММ(C3:C8)

ຢ່າງໃດກໍຕາມ, ຫນ້າທີ່ ປະຕິບັດຕາມ (INDIRECT) ແກ້ໄຂ E2 ເປັນຕາລາງເລີ່ມຕົ້ນ, ດັ່ງນັ້ນເດືອນມັງກອນຈະຖືກລວມເຂົ້າໂດຍອັດຕະໂນມັດໃນການຄິດໄລ່ຖັນ E ທັງໝົດ. ເຊລສຸດທ້າຍມີການປ່ຽນແປງ, ແຕ່ເຊລເລີ່ມຕົ້ນບໍ່ໄດ້ຮັບຜົນກະທົບ.

=SUM(INDIRECT("E2"):E8)

=СУММ(ДВССЫЛ("E2"):E8)

ຕົວຢ່າງ 2: ເຊື່ອມຕໍ່ກັບໄລຍະທີ່ມີຊື່ແບບຄົງທີ່

ຫນ້າທີ່ ປະຕິບັດຕາມ (INDIRECT) ສາມາດສ້າງການອ້າງອີງເຖິງໄລຍະທີ່ມີຊື່. ໃນຕົວຢ່າງນີ້, ຈຸລັງສີຟ້າສ້າງຂອບເຂດ ບັນຊີລາຍຊື່. ນອກຈາກນັ້ນ, ຊ່ວງແບບເຄື່ອນໄຫວຍັງຖືກສ້າງຂື້ນຈາກຄ່າໃນຖັນ B NumListDyn, ຂຶ້ນກັບຈໍານວນຕົວເລກໃນຖັນນີ້.

ຜົນລວມສໍາລັບທັງສອງໄລຍະສາມາດຖືກຄິດໄລ່ໂດຍພຽງແຕ່ໃຫ້ຊື່ຂອງມັນເປັນການໂຕ້ຖຽງກັບຫນ້າທີ່ SUM (SUM), ດັ່ງທີ່ເຈົ້າເຫັນໃນເຊລ E3 ແລະ E4.

=SUM(NumList) или =СУММ(NumList)

=SUM(NumListDyn) или =СУММ(NumListDyn)

ແທນທີ່ຈະພິມຊື່ຊ່ວງໃສ່ໃນຟັງຊັນ SUM (SUM), ທ່ານສາມາດອ້າງອີງໃສ່ຊື່ທີ່ຂຽນຢູ່ໃນຫນຶ່ງໃນຈຸລັງຂອງແຜ່ນວຽກ. ຕົວຢ່າງ, ຖ້າຊື່ ບັນຊີລາຍຊື່ ຖືກຂຽນໄວ້ໃນເຊລ D7, ຫຼັງຈາກນັ້ນສູດໃນເຊນ E7 ຈະເປັນແບບນີ້:

=SUM(INDIRECT(D7))

=СУММ(ДВССЫЛ(D7))

ແຕ່ຫນ້າເສຍດາຍ, ຫນ້າທີ່ ປະຕິບັດຕາມ (INDIRECT) ບໍ່ສາມາດສ້າງການອ້າງອີງຊ່ວງແບບໄດນາມິກໄດ້, ສະນັ້ນ ເມື່ອທ່ານສຳເນົາສູດນີ້ລົງໃນເຊລ E8, ທ່ານຈະໄດ້ຮັບຂໍ້ຜິດພາດ. #REF! (#LINK!).

ຕົວຢ່າງ 3: ສ້າງລິ້ງໂດຍໃຊ້ຂໍ້ມູນແຜ່ນ, ແຖວ, ແລະຖັນ

ທ່ານສາມາດສ້າງລິ້ງໄດ້ຢ່າງງ່າຍດາຍໂດຍອີງໃສ່ຕົວເລກແຖວແລະຖັນ, ເຊັ່ນດຽວກັນກັບການໃຊ້ຄ່າ FALSE (FALSE) ສໍາລັບການໂຕ້ຖຽງຟັງຊັນທີສອງ. ປະຕິບັດຕາມ (INDIRECT). ນີ້ແມ່ນວິທີການເຊື່ອມຕໍ່ແບບສະໄຕລ໌ຖືກສ້າງຂື້ນ R1C1. ໃນຕົວຢ່າງນີ້, ພວກເຮົາຍັງໄດ້ເພີ່ມຊື່ແຜ່ນໃສ່ໃນການເຊື່ອມຕໍ່ – 'MyLinks'!R2C2

=INDIRECT("'"&B3&"'!R"&C3&"C"&D3,FALSE)

=ДВССЫЛ("'"&B3&"'!R"&C3&"C"&D3;ЛОЖЬ)

ຕົວຢ່າງ 4: ສ້າງ array ທີ່ບໍ່ປ່ຽນແປງຕົວເລກ

ບາງຄັ້ງທ່ານຈໍາເປັນຕ້ອງໃຊ້ array ຂອງຕົວເລກໃນສູດ Excel. ໃນຕົວຢ່າງຕໍ່ໄປນີ້, ພວກເຮົາຕ້ອງການສະເລ່ຍ 3 ຕົວເລກທີ່ໃຫຍ່ທີ່ສຸດໃນຖັນ B. ຕົວເລກສາມາດເຂົ້າໄປໃນສູດໄດ້, ດັ່ງທີ່ເຮັດຢູ່ໃນຕາລາງ D4:

=AVERAGE(LARGE(B1:B8,{1,2,3}))

=СРЗНАЧ(НАИБОЛЬШИЙ(B1:B8;{1;2;3}))

ຖ້າທ່ານຕ້ອງການ array ຂະຫນາດໃຫຍ່, ຫຼັງຈາກນັ້ນທ່ານບໍ່ຫນ້າຈະຕ້ອງການທີ່ຈະໃສ່ຕົວເລກທັງຫມົດໃນສູດ. ທາງເລືອກທີສອງແມ່ນການນໍາໃຊ້ຫນ້າທີ່ ROW (ROW), ດັ່ງທີ່ເຮັດໃນສູດອາເຣທີ່ໃສ່ໃນຕາລາງ D5:

=AVERAGE(LARGE(B1:B8,ROW(1:3)))

=СРЗНАЧ(НАИБОЛЬШИЙ(B1:B8;СТРОКА(1:3)))

ທາງເລືອກທີສາມແມ່ນການນໍາໃຊ້ຫນ້າທີ່ ROW (STRING) ພ້ອມດ້ວຍ ປະຕິບັດຕາມ (INDIRECT), ດັ່ງທີ່ເຮັດກັບສູດອາເຣໃນຕາລາງ D6:

=AVERAGE(LARGE(B1:B8,ROW(INDIRECT("1:3"))))

=СРЗНАЧ(НАИБОЛЬШИЙ(B1:B8;СТРОКА(ДВССЫЛ("1:3"))))

ຜົນໄດ້ຮັບຂອງທັງ 3 ສູດຈະຄືກັນ:

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

ການນໍາໃຊ້ຫນ້າທີ່ ປະຕິບັດຕາມ (INDIRECT), ສູດທີສາມຮັກສາການອ້າງອີງແຖວທີ່ຖືກຕ້ອງແລະສືບຕໍ່ສະແດງຜົນທີ່ຖືກຕ້ອງ.

ອອກຈາກ Reply ເປັນ