ຄຳ ສຸດທ້າຍ

ງ່າຍດາຍ, ຢູ່ glance ທໍາອິດ, ບັນຫາທີ່ມີການແກ້ໄຂທີ່ບໍ່ຊັດເຈນ: ສະກັດຄໍາສຸດທ້າຍຈາກແຖວຂອງຂໍ້ຄວາມ. ດີ, ຫຼື, ໃນກໍລະນີທົ່ວໄປ, ຊິ້ນສຸດທ້າຍ, ແຍກໂດຍຕົວກໍານົດຕົວກໍານົດ (ຊ່ອງ, ເຄື່ອງໝາຍຈຸດ, ແລະອື່ນໆ) ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ມັນຈໍາເປັນຕ້ອງປະຕິບັດການຄົ້ນຫາແບບປີ້ນກັບກັນ (ຈາກຈຸດເລີ່ມຕົ້ນ) ໃນສາຍຂອງ a. ລັກ​ສະ​ນະ​ທີ່​ໄດ້​ຮັບ​ແລະ​ຫຼັງ​ຈາກ​ນັ້ນ​ແຍກ​ຕົວ​ອັກ​ສອນ​ທັງ​ຫມົດ​ໄປ​ທາງ​ຂວາ​ຂອງ​ມັນ​.

ລອງເບິ່ງວິທີການຕ່າງໆຕາມປະເພນີທີ່ເລືອກຈາກ: ສູດ, ມະຫາພາກ, ແລະຜ່ານ Power Query.

ວິທີການ 1. ສູດ

ເພື່ອເຮັດໃຫ້ມັນງ່າຍຕໍ່ການເຂົ້າໃຈໂດຍເນື້ອແທ້ແລ້ວແລະກົນໄກຂອງສູດ, ໃຫ້ເລີ່ມຕົ້ນຈາກໄລຍະໄກເລັກນ້ອຍ. ທໍາອິດ, ໃຫ້ເພີ່ມຈໍານວນຊ່ອງຫວ່າງລະຫວ່າງຄໍາສັບຕ່າງໆໃນຂໍ້ຄວາມແຫຼ່ງຂອງພວກເຮົາ, ສໍາລັບຕົວຢ່າງ, 20 ຊິ້ນ. ທ່ານສາມາດເຮັດສິ່ງນີ້ດ້ວຍຫນ້າທີ່ທົດແທນ. ແທນ (ປ່ຽນແທນ) ແລະ​ການ​ທໍາ​ງານ​ຂອງ​ການ​ເຮັດ​ເລ​ື້ມ​ຄືນ​ຕົວ​ອັກ​ສອນ​ທີ່​ໄດ້​ຮັບ N-times – ປັບປຸງ ໃໝ່ (REPT):

ຄຳ ສຸດທ້າຍ

ໃນປັດຈຸບັນພວກເຮົາຕັດອອກ 20 ຕົວອັກສອນຈາກທ້າຍຂອງຂໍ້ຄວາມຜົນໄດ້ຮັບໂດຍໃຊ້ຟັງຊັນ RIGHT (ຂວາ):

ຄຳ ສຸດທ້າຍ

ມັນຮ້ອນຂຶ້ນແລ້ວ, ບໍ່ແມ່ນບໍ? ມັນຍັງຄົງເອົາພື້ນທີ່ພິເສດອອກໂດຍໃຊ້ຟັງຊັນ TRIM (TRIM) ແລະ​ບັນ​ຫາ​ຈະ​ໄດ້​ຮັບ​ການ​ແກ້​ໄຂ​:

ຄຳ ສຸດທ້າຍ

ໃນສະບັບພາສາອັງກິດ, ສູດຂອງພວກເຮົາຈະມີລັກສະນະນີ້:

=TRIM(RIGHT(SUBSTITUTE(A1;» «;REPT(» «;20));20))

ຂ້າພະເຈົ້າຫວັງວ່າມັນເປັນທີ່ຊັດເຈນວ່າໃນຫຼັກການ, ມັນບໍ່ຈໍາເປັນຕ້ອງໃສ່ຊ່ອງຫວ່າງ 20 ຢ່າງແນ່ນອນ - ຕົວເລກໃດກໍ່ຕາມ, ຕາບໃດທີ່ມັນຫຼາຍກວ່າຄວາມຍາວຂອງຄໍາທີ່ຍາວທີ່ສຸດໃນຂໍ້ຄວາມຕົ້ນສະບັບ.

ແລະຖ້າຂໍ້ຄວາມຕົ້ນສະບັບຈໍາເປັນຕ້ອງຖືກແບ່ງອອກໂດຍຊ່ອງຫວ່າງ, ແຕ່ໂດຍຕົວອັກສອນຕົວແຍກອື່ນ (ຕົວຢ່າງ, ໂດຍເຄື່ອງໝາຍຈຸດ), ສູດຂອງພວກເຮົາຈະຕ້ອງຖືກແກ້ໄຂເລັກນ້ອຍ:

ຄຳ ສຸດທ້າຍ

ວິທີການ 2. ການທໍາງານຂອງ Macro

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

ກົດແປ້ນພິມລັດ alt+F11 ຫຼືປຸ່ມ Visual Basic ແຖບ ການພັດທະນາ (ຜູ້ພັດທະນາ)ເພື່ອເປີດບັນນາທິການມະຫາພາກ. ຫຼັງຈາກນັ້ນ, ເພີ່ມໂມດູນໃຫມ່ໂດຍຜ່ານເມນູ ໃສ່ - ໂມດູນ ແລະສຳເນົາລະຫັດຕໍ່ໄປນີ້ຢູ່ທີ່ນັ້ນ:

 Function LastWord(txt As String, Optional delim As String = " ", Optional n As Integer = 1) As String arFragments = Split(txt, delim) LastWord = arFragments(UBound(arFragments) - n + 1) End Function  

ດຽວນີ້ທ່ານສາມາດບັນທຶກປື້ມວຽກ (ໃນຮູບແບບທີ່ເປີດໃຊ້ Macro!) ແລະໃຊ້ຟັງຊັນທີ່ສ້າງຂື້ນໃນ syntax ຕໍ່ໄປນີ້:

=LastWord(txt ; delim ; n)

ບ່ອນທີ່

  • txt - ຕາລາງທີ່ມີຂໍ້ຄວາມແຫຼ່ງ
  • ຂອບເຂດ — ລັກ​ສະ​ນະ​ຕົວ​ແຍກ (ຄ່າ​ເລີ່ມ​ຕົ້ນ — ຊ່ອງ​)
  • n - ຄໍາ​ໃດ​ທີ່​ຄວນ​ຈະ​ໄດ້​ຮັບ​ການ​ສະ​ກັດ​ຈາກ​ທີ່​ສຸດ (ໂດຍ​ເລີ່ມ​ຕົ້ນ - ຄໍາ​ທໍາ​ອິດ​ຈາກ​ທີ່​ສຸດ​)

ຄຳ ສຸດທ້າຍ

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

ວິທີການ 3. Power Query

ແບບສອບຖາມພະລັງງານ ເປັນ add-on ຟຣີຈາກ Microsoft ສໍາລັບການນໍາເຂົ້າຂໍ້ມູນເຂົ້າໄປໃນ Excel ຈາກເກືອບທຸກແຫຼ່ງແລະຫຼັງຈາກນັ້ນປ່ຽນຂໍ້ມູນທີ່ດາວໂຫລດໄປໃນຮູບແບບໃດກໍ່ຕາມ. ພະລັງງານແລະຄວາມເຢັນຂອງ add-in ນີ້ແມ່ນດີຫຼາຍທີ່ Microsoft ໄດ້ສ້າງຄຸນສົມບັດທັງຫມົດຂອງມັນເຂົ້າໄປໃນ Excel 2016 ໂດຍຄ່າເລີ່ມຕົ້ນ. ສໍາລັບ Excel 2010-2013 Power Query ສາມາດດາວໂຫຼດໄດ້ຟຣີຈາກທີ່ນີ້.

ວຽກງານຂອງພວກເຮົາໃນການແຍກຄໍາສຸດທ້າຍຫຼືຊິ້ນສ່ວນໂດຍຜ່ານຕົວແຍກທີ່ໃຫ້ໂດຍໃຊ້ Power Query ແມ່ນແກ້ໄຂໄດ້ງ່າຍທີ່ສຸດ.

ກ່ອນອື່ນ, ໃຫ້ປ່ຽນຕາຕະລາງຂໍ້ມູນຂອງພວກເຮົາໃຫ້ເປັນຕາຕະລາງອັດສະລິຍະໂດຍໃຊ້ປຸ່ມລັດແປ້ນພິມ. Ctrl+T ຫຼືຄໍາສັ່ງ ຫນ້າທໍາອິດ – ຈັດຮູບແບບເປັນຕາຕະລາງ (ຫນ້າທໍາອິດ — Format as ຕາ​ຕະ​ລາງ​):

ຄຳ ສຸດທ້າຍ

ຫຼັງຈາກນັ້ນ, ພວກເຮົາໂຫລດ "ຕາຕະລາງ smart" ທີ່ສ້າງຂຶ້ນເຂົ້າໄປໃນ Power Query ໂດຍໃຊ້ຄໍາສັ່ງ ຈາກຕາຕະລາງ/ໄລຍະ (ຈາກຕາຕະລາງ/ໄລຍະ) ແຖບ ຂໍ້ມູນ (ຖ້າທ່ານມີ Excel 2016) ຫຼືຢູ່ໃນແຖບ ແບບສອບຖາມພະລັງງານ (ຖ້າທ່ານມີ Excel 2010-2013):

ຄຳ ສຸດທ້າຍ

ຢູ່​ໃນ​ປ່ອງ​ຢ້ຽມ​ແກ້​ໄຂ​ການ​ສອບ​ຖາມ​ທີ່​ເປີດ​, ໃນ​ແຖບ​ ການຫັນເປັນ (ຫັນປ່ຽນ) ເລືອກທີມ ຖັນແຍກ – ໂດຍຕົວຂັ້ນ (ແຍກຖັນ - ໂດຍຕົວຂັ້ນ) ແລະ​ຫຼັງ​ຈາກ​ນັ້ນ​ມັນ​ຍັງ​ຄົງ​ທີ່​ຈະ​ກໍາ​ນົດ​ລັກ​ສະ​ນະ​ຕົວ​ແຍກ​ແລະ​ເລືອກ​ເອົາ​ທາງ​ເລືອກ​ ຕົວຂັ້ນຂວາສຸດຕັດ​ບໍ່​ແມ່ນ​ຄໍາ​ສັບ​ຕ່າງໆ​ທັງ​ຫມົດ​, ແຕ່​ມີ​ພຽງ​ແຕ່​ຄໍາ​ສຸດ​ທ້າຍ​:

ຄຳ ສຸດທ້າຍ

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

ຜົນໄດ້ຮັບສາມາດຖືກອັບໂຫລດກັບຄືນໄປບ່ອນແຜ່ນໂດຍໃຊ້ຄໍາສັ່ງ ຫນ້າທໍາອິດ — Close and Load — Close and Load to … (ໜ້າຫຼັກ — ປິດ & ໂຫຼດ — ປິດ & ໂຫຼດໃສ່…):

ຄຳ ສຸດທ້າຍ

ແລະ​ດັ່ງ​ນັ້ນ​ພວກ​ເຮົາ​ໄດ້​ຮັບ​:

ຄຳ ສຸດທ້າຍ

ແບບນີ້ - ລາຄາຖືກແລະມີຄວາມສຸກ, ບໍ່ມີສູດແລະມະຫາພາກ, ເກືອບໂດຍບໍ່ມີການແຕະແປ້ນພິມ🙂

ຖ້າບັນຊີລາຍຊື່ຕົ້ນສະບັບມີການປ່ຽນແປງໃນອະນາຄົດ, ມັນຈະພຽງພໍທີ່ຈະຄລິກຂວາຫຼືໃຊ້ແປ້ນພິມລັດ Ctrl+alt+F5 ປັບປຸງການຮ້ອງຂໍຂອງພວກເຮົາ.


  • ການແຍກຂໍ້ຄວາມຫນຽວເປັນຖັນ
  • parsing ແລະ parsing ຂໍ້​ຄວາມ​ທີ່​ມີ​ສໍາ​ນວນ​ປົກ​ກະ​ຕິ​
  • ສະກັດຄໍາທໍາອິດຈາກຂໍ້ຄວາມດ້ວຍຟັງຊັນ SUBSTITUTE

ອອກຈາກ Reply ເປັນ