Features of !SEMTools

Көбінесе Excel бағдарламасында жолдан белгілі бір белгіге дейінгі таңбаларды алып тастау қажет. Бұл бір таңба (бос орын, нүкте, үтір, қос нүкте және т.б.) немесе белгілі бір жиынның таңбасы (сан, ағылшын әріпі) болуы мүмкін.

Осы шарттарға байланысты шешім қарапайым болуы мүмкін немесе өте күрделі формулалар мен процедураларды қолдануды қажет етуі мүмкін.

Бұл мақалада мен өзіме белгілі опцияларды егжей-тегжейлі сипаттайтын боламын. Бар!

Мәтінді соңғы таңбаға дейін жойыңыз

Ең оңай жолы – берілген таңбаның немесе мәтіннің соңғы пайда болуына дейін ұяшықтар ауқымындағы мәтінді жою. Сіз «Табу және ауыстыру» процедурасын пайдалана аласыз:

  • ауқымды таңдау;
  • басты қойындысынан немесе Ctrl + H пернелер тіркесімін басу арқылы іздеу және ауыстыру процедурасына қоңырау шалыңыз;
  • іздеу жолындағы іздеудің алдында қойылмалы таңбаны * (жұлдызша) пайдаланыңыз;
  • екінші өрісті бос қалдырып, OK түймесін басыңыз.
find-replace-up-to-character

Процедура белгіге дейінгі барлық таңбаларды бос орынмен ауыстырады, басқаша айтқанда, ол оларды жояды. Жұлдызша тек «барлық таңбаларды» білдіреді.

Мәтінді бірінші бос орынға дейін жою – формула

Бұл формула әмбебап болып табылады және бірінші бос орынға дейінгі мәтінді ғана емес, сонымен қатар жолдағы таңбаның кез келген басқа бірінші пайда болуына дейін жоюға мүмкіндік береді.

Дегенмен, ұяшықтағы бірінші сөзді жою ең танымал тапсырма болып табылады, ал бос орын мәтіннің қалған бөлігінен сол жақтағы бірінші сөзді бөлетін таңба ғана.

=ЗАМЕНИТЬ(A2;1;ПОИСК(" ";A2);"")
image-3
Формуланы қолдану нәтижесі

Басқа таңбалардың формулалары ұқсас:

Ұяшықтағы мәтінді бірінші үтірге дейін алып тастаңыз:

=ЗАМЕНИТЬ(A2;1;ПОИСК(",";A2);"")

Нүктеге:

=ЗАМЕНИТЬ(A2;1;ПОИСК(".";A2);"")

Ал таңбалар тізбегі, мысалы, сөз пайда болғанға дейін мәтінді жою үшін формуладағы осы тізбектің ұзындығын 1-ге қысқартып пайдалану керек.

Мұнда мекенжайлардан үй нөміріне дейінгі мәтін алынып тасталады. Тырнақшадағы мәтіннің ұзындығы 3 таңбадан тұрады (d, нүкте және бос орын):

=ЗАМЕНИТЬ(A2;1;ПОИСК("д. ";A2)+2;"")
image-5
Ұяшықтағы мәтінді белгілі бір сөзге дейін жою

Бірінші санның алдындағы мәтінді жойыңыз

Сіз мұны әлдеқашан болжаған шығарсыз, бірақ мен жоғарыдағы формулалардың қалай жұмыс істейтінін түсіндіремін:

  1. excel SEARCH функциясы мәтін үлгісінің бірінші рет пайда болу орнын іздейді (ол әрқашан тырнақшада болады). Сәйкес фрагмент қызыл түспен ерекшеленеді;
  2. REPLACE функциясы осы позицияны аргумент ретінде қабылдайды;
  3. ол сондай-ақ бірінші таңбадан осы орынға фрагментті бос орынмен ауыстырады (қатарынан екі тырнақша), осылайша оны алып тастайды.

Сондықтан бірінші цифрға дейінгі мәтінді жою үшін жолдағы бірінші цифрдың орнын есептеу керек. Сандар бір емес, 10 болғандықтан, қарапайым формула енді жұмыс істемейді. Бірақ сіз оны келесідей массив формуласымен жасай аласыз:

{=МИН(ЕСЛИОШИБКА(ПОИСК(СИМВОЛ(СТРОКА(48:57));A1);""))}

And by substituting this expression into the original formula, we can solve the original problem – get the text after the first digit, inclusive, by deleting the text before it.

{=ЗАМЕНИТЬ(A2;1;МИН(ЕСЛИОШИБКА(ПОИСК(СИМВОЛ(СТРОКА($48:$57));A2);""))-1;"")}

Бұйра жақшаларға назар аударыңыз! Оларды енгізу қажет емес, Ctrl + Shift + Enter пернелер тіркесімін пайдаланып формуланы енгізген кезде олар өздігінен пайда болады.

Жолда сандар болмаса, формула қате жібереді.

image-4
Массив формулаларын пайдаланып ұяшықтардағы бірінші санға дейінгі мәтінді жою

!SEMTools көмегімен мәтінді 1-2 рет басу арқылы жою

Бұл әдістердің әрқайсысы өзінше жақсы, бірақ олардың барлығында бір маңызды фактор жетіспейді – орындау жылдамдығы.

Әрбір жағдайда сізге көптеген таңбаларды енгізу және көптеген әрекеттерді орындау қажет.

Уақытты үнемдеу үшін мен Excel қондырмасының !SEMTools мәзіріне жылдам процедураларды қостым.

Енді сіз белгілі бір таңбаның немесе ішкі жолдың бірінші немесе соңғы пайда болуына дейін мәтінді, соның ішінде мәтіннің өзін қоса алғанда, бірнеше минут ішінде жоя аласыз!

Бұл ретте деректерді орнында өзгертуге немесе оны көрші бағанда автоматты түрде көрсетуге болады – бұл үшін жаһандық құсбелгі жауап береді.

Мысалды қараңыз:

remove-before-character-semtools
!SEMTools көмегімен нақты мәтіннің бірінші немесе соңғы пайда болуына дейін мәтіндегі таңбаларды жойыңыз

This post is also available in RU.