Содржина
Научете формули и начини без формула за скратување празни места, отстранување специјални симболи (дури и првите/последни N знаци) и истите текстуални низи пред/по одредени знаци од повеќе ќелии одеднаш.
Отстранувањето на истиот дел од текстот од неколку ќелии одеднаш може да биде исто толку важно и незгодно како и неговото додавање. Дури и ако знаете некои од начините, дефинитивно ќе најдете нови во денешниот блог пост. Споделувам многу функции и нивните готови формули и, како и секогаш, најлесната — без формула — ја зачувувам за крај ;)
Формули за Google Sheets за отстранување текст од ќелиите
Ќе започнам со стандардните функции за Google Sheets кои ќе ги отстранат вашите текстуални низи и знаци од ќелиите. Не постои универзална функција за ова, па затоа ќе дадам различни формули и нивни комбинации за различни случаи.
Гугл листови: отстранете празно место
Whitespace лесно може да се лизне во ќелиите по увозот или ако повеќе корисници уредувајте го листот во исто време. Всушност, дополнителните празни места се толку вообичаени што Google Sheets има специјална алатка за намалување за да ги отстрани сите празни места.
Само изберете ги сите ќелии на Google Sheets каде што сакате да го отстраните празното место и изберете Data > Скратете го празното место во менито со табеларни пресметки:
Како што ќе кликнете на опцијата, сите водечки и задоцнети места во изборот ќе бидат целосно отстранети додека сите дополнителни празни места во-зборови, овој додаток за Google Sheets ќе ја отстрани временската единица од временскиот печат:
Можете да ги имате сите овие и преку 30 други штедачи на време за табели со инсталирање на додаток од Google Store. Првите 30 дена се потполно бесплатни и целосно функционални, така што имате време да одлучите дали вреди некоја инвестиција.
Ако имате какви било прашања поврзани со кој било дел од овој блог пост, ќе се видиме во делот за коментари подолу!
помеѓу податоците ќе се намали на еден:
Отстранете ги другите специјални знаци од текстуалните низи во Google Sheets
За жал, Google Sheets не нуди алатка да ги „скршат“ другите знаци освен празни места. Тука треба да се справите со формули.
Совет. Или користете ја нашата алатка наместо тоа - Електричните алатки ќе го ослободат вашиот опсег од сите знаци што ќе ги наведете со еден клик, вклучително и празно место.
Овде се обратив со хаштагови пред броевите на становите и телефонските броеви со цртички и загради помеѓу:
Ќе користам формули за да ги отстранам тие специјални знаци.
Функцијата SUBSTITUTE ќе ми помогне во тоа. Обично се користи за замена на еден знак со друг, но можете да го претворите тоа во ваша корист и да ги замените несаканите знаци со... добро, ништо :) Со други зборови, отстранете го.
Ајде да видиме каков аргумент е функцијата бара:
ЗАМЕНА (текст_за_пребарување, пребарување_за, замени_со, [број_појава])- текст_за_пребарување е или текстот што треба да се обработи или ќелијата што го содржи тој текст. Задолжително.
- пребарување_за е тој знак што сакате да го најдете и избришете. Задолжително.
- замени_со — знак што ќе го вметнете наместо несаканиот симбол. Задолжително.
- cocurrence_number — ако има неколку примери на знакот што го барате, тука можете да одредите кој да го замените. Тоа е целосно опционално,и ако го испуштите овој аргумент, сите примероци ќе бидат заменети со нешто ново ( замени_за ).
Па, ајде да играме. Треба да најдам хаштаг ( # ) во A1 и да го заменам со 'ништо' што е означено во табелите со двојни наводници ( """ ). Имајќи го сето тоа на ум, можам да ја изградам следнава формула:
=SUBSTITUTE(A1,"#","")
Совет. Хаштагот е исто така во двојни наводници бидејќи на овој начин треба да ги спомнувате текстуалните низи во формулите на Google Sheets.
Потоа, копирајте ја оваа формула надолу во колоната ако Google Sheets не понуди да го направи тоа автоматски, и ќе ги добиете вашите адреси без хаштагови:
Но, што за тие цртички и загради? Дали треба да креирате дополнителни формули? Воопшто не! Ако вметнете повеќе функции SUBSTITUTE во една формула на Google Sheets, ќе ги отстраните сите овие знаци од секоја ќелија:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"#",""),"(",""),")",""),"-","")
Оваа формула ги отстранува знаците еден по еден и секој SUBSTITUTE, почнувајќи од средината , станува опсегот што треба да се погледне за следната ЗАМЕНА:
Совет. Уште повеќе, можете да го завиткате ова во ArrayFormula и да ја покриете целата колона одеднаш. Во овој случај, сменете ја референцата на ќелијата ( A1 ) на вашите податоци во колоната ( A1:A7 ), исто така:
=ArrayFormula(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1:A7,"#",""),"(",""),")",""),"-",""))
Отстранете одреден текст од ќелии во Google Sheets
Иако можете да ја користите гореспоменатата функција SUBSTITUTE за Google Sheets за да отстраните текст од ќелиите, би сакал да покажами друга функција — REGEXREPLACE.
Неговото име е акроним од „обичен израз замени“. И јас ќе ги користам регуларните изрази за да ги барам низите за да ги отстранам и да ги заменам со ' ништо' ( "" ).
Совет. Ако не сте заинтересирани да користите редовни изрази, опишувам многу полесен начин на крајот од овој блог пост.
Совет. Ако барате начини за наоѓање и отстранување дупликати во Google Sheets, наместо тоа, посетете ја оваа објава на блогот. REGEXREPLACE(текст, регуларен_израз, замена)
Како што можете да видите, постојат три аргументи за функцијата:
- текст — е местото каде што го барате текстот низа за отстранување. Тоа може да биде самиот текст во двојни наводници или референца на ќелија/опсег со текст.
- регуларен_израз — вашата шема за пребарување која се состои од различни комбинации на знаци. Ќе ги барате сите жици што одговараат на оваа шема. Овој аргумент е местото каде што се случува целата забава, ако можам да кажам така.
- замена — нова посакувана текстуална низа.
Да претпоставиме дека моите ќелии со податоци го содржи и името на државата ( САД ) ако различни места во ќелиите:
Како REGEXREPLACE ќе ми помогне да го отстранам?
=REGEXREPLACE(A1,"(.*)US(.*)","$1 $2")
Еве како точно функционира формулата:
- ја скенира содржината на ќелијата A1
- за совпаѓање со оваа маска: "(.*)US(.*)"
Оваа маска и кажува на функцијата дапобарајте го US без разлика кој број други знаци може да претходат на (.*) или следете го (.*) името на државата.
И целата маска се става во двојни наводници според барањата на функцијата :)
- последниот аргумент - „$1 $2“ — е она што сакам да го добијам наместо тоа. $1 и $2 секој претставува една од тие 2 групи знаци — (.*) — од претходниот аргумент. Треба да ги споменете тие групи во третиот аргумент на овој начин за формулата да може да врати сè што е можно пред и по САД
Што се однесува до самиот САД , јас едноставно не не го спомнувате во третиот аргумент - што значи, сакам да вратам сè од A1 без САД .
Совет. Има посебна страница на која можете да се повикате за да изградите различни редовни изрази и да го барате текстот во различни позиции на ќелиите.
Совет. Што се однесува до преостанатите запирки, функцијата SUBSTITUTE опишана погоре ќе помогне да се ослободите од нив ;) Можете дури и да го приложите REGEXREPLACE со SUBSTITUTE и да решите сè со една формула:
=SUBSTITUTE(REGEXREPLACE(A1,"(.*)US(.*)","$1 $2"),",","")
Отстранете го текстот пред/после одредени знаци во сите избрани ќелии
Пример 1. Функција REGEXREPLACE за Google Sheets
Кога станува збор за ослободување од сè пред и по одредени знаци, REGEXREPLACE исто така помага. Запомнете, функцијата бара 3 аргументи:
REGEXREPLACE(текст,regular_expression, замена)И, како што споменав погоре кога ја воведов функцијата, таа е втората што треба да ја користите правилно за функцијата да знае што да најде и отстрани.
Па, како да ги отстранам адресите и чувајте само телефонски броеви во ќелиите?
Еве ја формулата што ќе ја користам:
=REGEXREPLACE(A1,".*\n.*(\+.*)","$1")
- Еве го правилниот израз што го користам во овој случај: ".*\n.*(\+.*)"
Во првиот дел — .*\n .* — Јас користам backslash+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) го проверува вкупниот број на знаци во А1 ( 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 ќе ги отстрани единиците за времето и датумот од временските ознаки. Тоа се нарекува Сплит Датум & засилувач; Време:
Каква врска има алатката за разделување со отстранувањето на единиците за време и датум? Па, за да го отстраните времето од временските ознаки, изберете Датум бидејќи тоа е дел што сакате да го зачувате, а исто така штиклирајте Заменете ги изворните податоци , исто како на сликата од екранот погоре.
Алатката ќе ја извлече единицата за датум и ќе го замени целиот временски печат со неа. Или, во други