Съдържание
Научете формули и начини без формули за изрязване на бели полета, премахване на специални символи (дори първите/последните N символа) и на едни и същи текстови низове преди/след определени символи от няколко клетки едновременно.
Премахването на една и съща част от текста от няколко клетки едновременно може да бъде също толкова важно и сложно, колкото и добавянето й. Дори да знаете някои от начините, със сигурност ще откриете нови в днешната публикация в блога. Споделям много функции и техните готови формули и, както винаги, оставям най-лесното - без формули - за накрая ;)
Формули за Google Sheets за премахване на текст от клетките
Ще започна със стандартните функции за Google Sheets, които ще премахват текстови низове и символи от клетките ви. Няма универсална функция за това, затова ще предоставя различни формули и техните комбинации за различни случаи.
Таблици на Google: премахване на белите полета
Белите интервали могат лесно да се промъкнат в клетките след импортиране или ако няколко потребители редактират листа едновременно. Всъщност допълнителните интервали са толкова често срещани, че в Google Sheets има специален инструмент за триене, който премахва всички бели интервали.
Просто изберете всички клетки на Google Sheets, в които искате да премахнете белите полета, и изберете Данни> Подстригване на белите полета в менюто на електронната таблица:
Когато щракнете върху опцията, всички начални и крайни интервали в селекцията ще бъдат премахнати напълно, а всички допълнителни интервали между данните ще бъдат намалени до един:
Премахване на други специални символи от текстови низове в Google Sheets
Уви, Google Sheets не предлага инструмент за "изрязване" на други символи освен интервали. Тук трябва да се справите с формули.
Съвет. Или вместо това използвайте нашия инструмент - Power Tools ще освободи диапазона ви от всички символи, които посочите с едно кликване, включително бели полета.
Тук съм се обърнал с хаштагове към номерата на апартаментите и телефонните номера с тирета и скоби между тях:
Ще използвам формули, за да премахна тези специални символи.
За това ще ми помогне функцията SUBSTITUTE. Обикновено тя се използва за замяна на един символ с друг, но вие можете да обърнете това във ваша полза и да замените нежеланите символи с... ами с нищо :) С други думи, да ги премахнете.
Нека да видим какъв аргумент изисква функцията:
SUBSTITUTE(text_to_search, search_for, replace_with, [occurrence_number])- text_to_search е или текстът, който трябва да се обработи, или клетка, която съдържа този текст. Изисква се.
- търсене_за е този символ, който искате да намерите и изтриете.
- замени_с - символ, който ще вмъкнете вместо нежелания символ. Изисква се.
- occurrence_number - ако има няколко екземпляра на търсения символ, тук можете да посочите кой от тях да бъде заменен. Това не е задължително и ако пропуснете този аргумент, всички екземпляри ще бъдат заменени с нещо ново ( заместване_за ).
Така че нека поиграем. Трябва да намеря хаштаг ( # ) в A1 и го заменете с "нищо", което в електронните таблици се отбелязва с двойни кавички ( "" ). Имайки предвид всичко това, мога да построя следната формула:
=SUBSTITUTE(A1, "#","")
Съвет: Хаштагът също е в двойни кавички, тъй като това е начинът, по който трябва да споменавате текстови низове във формулите на Google Sheets.
След това копирайте тази формула надолу по колоната, ако Google Sheets не предлага да направи това автоматично, и ще получите адресите си без хаштаговете:
Но какво да кажем за тези тирета и скоби? Трябва ли да създавате допълнителни формули? Съвсем не! Ако вложите няколко функции SUBSTITUTE в една формула в Google Sheets, ще премахнете всички тези символи от всяка клетка:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1, "#",""),"(",""),")",""),"-","")
Тази формула премахва символите един по един и всеки SUBSTITUTE, започвайки от средата, се превръща в диапазона, който се търси за следващия SUBSTITUTE:
Съвет. Нещо повече, можете да обгърнете това в ArrayFormula и да покриете цялата колона наведнъж. В този случай променете препратката към клетката ( A1 ) към вашите данни в колона ( A1:A7 ), както и:
=ArrayFormula(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1:A7, "#",""),"(",""),""),""),"-",""))
Премахване на определен текст от клетки в Google Sheets
Въпреки че можете да използвате гореспоменатата функция SUBSTITUTE за Google Sheets, за да премахвате текст от клетките, бих искал да покажа и друга функция - REGEXREPLACE.
Името му е акроним от "regular expression replace" (заместване с регулярен израз). И аз ще използвам регулярните изрази, за да търся низовете, които трябва да премахна, и да ги заменя с ' нищо" ( "" ).
Съвет. Ако не искате да използвате регулярни изрази, в края на тази публикация в блога съм описал много по-лесен начин.
Съвет: Ако търсите начини за намиране и премахване на дубликати в Google Sheets, посетете тази публикация в блога. REGEXREPLACE(text, regular_expression, replacement)
Както виждате, функцията има три аргумента:
- текст - Това може да бъде самият текст в двойни кавички или препратка към клетка/обхват с текст.
- regular_expression - Вашият шаблон за търсене, който се състои от различни комбинации от символи. Ще търсите всички низове, които отговарят на този шаблон. Ако мога така да се изразя, този аргумент е мястото, където се случва цялото забавление.
- замяна - нов желан текстов низ.
Да предположим, че клетките ми с данни съдържат и името на страната ( САЩ ), ако са на различни места в клетките:
Как REGEXREPLACE ще ми помогне да го премахна?
=REGEXREPLACE(A1,"(.*)US(.*)","$1 $2")
Ето как точно работи формулата:
- сканира съдържанието на клетката A1
- за съвпадения с тази маска: "(.*)US(.*)"
Тази маска указва на функцията да търси САЩ без значение какъв брой други символи могат да предхождат (.*) или следвайте (.*) името на страната.
И цялата маска се поставя в двойни кавички според изискванията на функцията :)
- последният аргумент - "$1 $2" - е това, което искам да получа вместо това. $1 и $2 всеки от тях представлява една от тези 2 групи герои - (.*) - Трябва да споменете тези групи в третия аргумент по този начин, за да може формулата да върне всичко, което може да стои преди и след САЩ
Що се отнася до САЩ просто не го споменавам в третия аргумент - т.е. искам да върна всичко от A1 без на САЩ .
Съвет: Има специална страница, в която можете да се обърнете към различни регулярни изрази и да търсите текст в различни позиции на клетките.
Съвет. Що се отнася до останалите запетаи, описаната по-горе функция SUBSTITUTE ще ви помогне да се отървете от тях ;) Можете дори да оградите REGEXREPLACE със SUBSTITUTE и да решите всичко с една формула:
=SUBSTITUTE(REGEXREPLACE(A1,"(.*)US(.*)","$1 $2"),",","")
Премахване на текст преди/след определени символи във всички избрани клетки
Пример 1. Функция REGEXREPLACE за Google Sheets
Когато става въпрос за премахване на всичко преди и след определени символи, REGEXREPLACE също помага. Не забравяйте, че функцията изисква 3 аргумента:
REGEXREPLACE(текст, регулярен_израз, замяна)И както споменах по-горе, когато представих функцията, втората трябва да се използва правилно, за да знае функцията какво да намери и премахне.
Как да премахна адресите и да запазя само телефонните номера в клетките?
Ето формулата, която ще използвам:
=REGEXREPLACE(A1,".*\n.*(\+.*)","$1")
- Ето регулярния израз, който използвам в този случай: ".*\n.*(\+.*)"
В първата част - .*\n.* - Използвам обратна наклонена черта+n Така че искам функцията да премахне всичко преди и след прекъсването на реда (включително и него).
Втората част, която е в скоби (\+.*) казва, че искам да запазя знака плюс и всичко, което следва след него, непокътнато. Вземам тази част в скоби, за да я групирам и да я имам предвид за по-късно.
Съвет: Обратната наклонена черта се използва преди плюса, за да го превърне в търсения символ. Без нея плюсът би бил просто част от израза, която означава някои други символи (както например звездичката).
- Що се отнася до последния аргумент - $1 - той кара функцията да връща само групата от втория аргумент: знака плюс и всичко, което следва. (\+.*) .
По подобен начин можете да изтриете всички телефонни номера, но да запазите адресите:
=REGEXREPLACE(A1,"(.*\n).*","$1")
Само че този път казвате на функцията да групира (и върне) всичко преди прекъсването на реда и да изчисти останалото:
Пример 2. RIGHT+LEN+FIND
Има още няколко функции на Google Sheets, които ви позволяват да премахнете текста преди определен символ. Това са RIGHT, LEN и FIND.
Забележка: Тези функции ще ви помогнат само ако записите, които трябва да запазите, са с еднаква дължина, като например телефонните номера в моя случай. Ако не са, просто използвайте REGEXREPLACE вместо това или, още по-добре, по-лесния инструмент, описан в края.
Използването на това трио в определен ред ще ми помогне да получа същия резултат и да премахна целия текст преди един символ - знак плюс:
=RIGHT(A1,(LEN(A1)-(FIND("+",A1)-1)))
Нека обясня как работи тази формула:
- FIND("+",A1)-1 намира номера на позицията на знака плюс в A1 ( 24 ) и изважда 1, така че общият сбор да не включва самия плюс: 23 .
- LEN(A1)-(FIND("+",A1)-1) проверява общия брой символи в A1 ( 40 ) и изважда от него 23 (преброени от FIND): 17 .
- И след това RIGHT връща 17 символа от края (вдясно) на A1.
За съжаление този начин няма да помогне много за премахване на текста след прекъсването на реда в моя случай (изчистване на телефонните номера и запазване на адресите), тъй като адресите са с различна дължина.
Е, няма страшно.Инструментът в края все пак върши тази работа по-добре ;)
Премахване на първите/последните N символа от низове в Google Sheets
Когато трябва да премахнете определен брой различни символи от началото или края на клетка, REGEXREPLACE и RIGHT/LEFT+LEN също ще ви помогнат.
Забележка. Тъй като вече представих тези функции по-горе, ще се спра накратко на тази точка и ще дам някои готови формули. Или не се колебайте да прескочите до най-лесното решение, описано в самия край.
Как мога да изтрия кодовете от тези телефонни номера? Или, с други думи, да премахна първите 9 символа от клетките:
- Използвайте REGEXREPLACE. Създайте регулярен израз, който ще намери и изтрие всичко до 9-ия символ (включително този 9-и символ):
=REGEXREPLACE(A1,"(.{9})(.*)","$2")
.
Съвет. За да премахнете последните N символа, просто разменете групите в регулярния израз:
=REGEXREPLACE(A1,"(.*)(.{9})","$1")
- RIGHT/LEFT+LEN също така отчитат броя на символите за изтриване и връщане на останалата част съответно от края или началото на клетката:
=RIGHT(A1,LEN(A1)-9)
Съвет: За да премахнете последните 9 символа от клетките, заменете RIGHT с LEFT:
=LEFT(A1,LEN(A1)-9)
- Накрая, но не на последно място, е функцията REPLACE. Казвате ѝ да вземе 9-те символа, започвайки отляво, и да ги замени с нищо ( "" ):
=REPLACE(A1,1,9,"")
Забележка: Тъй като REPLACE изисква начална позиция за обработка на текста, тя няма да се използва, ако трябва да изтриете N символа от края на клетката.
Начин за премахване на конкретен текст в Google Sheets без формули - добавка Power Tools
Функциите и всичко останало е добре, когато имате време за убиване. Но знаете ли, че има специален инструмент, който обхваща всички гореспоменати начини и единственото, което трябва да направите, е да изберете необходимия радио бутон :) Без формули, без допълнителни колони - не бихте могли да си пожелаете по-добър помощник ;D
Не е нужно да вярвате на думите ми, просто инсталирайте Power Tools и се убедете сами:
- Първата група ви позволява да премахване на множество поднизове или отделни символи от всяка позиция във всички избрани клетки едновременно:
Друг инструмент от Power Tools ще премахне единиците за време и дата от времевите маркери. Той се нарича Split Date & Time:
Какво общо има инструментът за разделяне с премахването на единиците за време и дата? За да премахнете времето от времевите маркери, изберете Дата тъй като това е част, която искате да запазите, а също и да отметнете Замяна на изходните данни , както е показано на снимката по-горе.
Инструментът ще извлече единицата за дата и ще замени целия времеви печат с нея. Или с други думи, тази добавка за Google Sheets ще премахне единицата за време от времевия печат:
Можете да се възползвате от всички тези и над 30 други средства за спестяване на време за електронни таблици, като инсталирате добавката от Google Store. Първите 30 дни са напълно безплатни и напълно функционални, така че имате време да решите дали си струва да инвестирате.
Ако имате някакви въпроси, свързани с някоя част от този блог пост, ще се видим в раздела за коментари по-долу!