Користење на Excel REPLACE и SUBSTITUTE функции - примери на формула

  • Споделете Го Ова
Michael Brown

Упатството ги објаснува функциите на Excel REPLACE и SUBSTITUTE со примери за употреба. Погледнете како да ја користите функцијата ЗАМЕНИ со текстуални низи, броеви и датуми и како да вметнете неколку функции REPLACE или SUBSTITUTE во една формула.

Минатата недела разговаравме за различни начини на користење на функциите FIND и SEARCH во вашите работни листови во Excel. Денес, ќе разгледаме подлабоко две други функции за замена на текст во ќелија врз основа на нејзината локација или замена на една текстуална низа со друга врз основа на содржина. Како што можеби претпоставувате, зборувам за функциите Excel REPLACE и SUBSTITUTE.

    Excel REPLACE функцијата

    Функцијата REPLACE во Excel ви овозможува да замените една или неколку знаци во текстуална низа со друг знак или множество знаци.

    ЗАМЕНИ(стар_текст, старт_број, број_карактери, нов_текст)

    Како што гледате, функцијата Excel REPLACE има 4 аргументи, од кои сите се задолжителни.

    • Стар_текст - оригиналниот текст (или референца на ќелија со оригиналниот текст) во која сакате да замените некои знаци.
    • Почеток_број - позицијата на првиот знак во стариот текст што сакате да го замените.
    • Num_chars - бројот на знаци што сакате да ги замените.
    • New_text - текстот за замена.

    На пример, за да го промените зборот „ сонце “ во „ син “, можете да го користите следновоформула:

    =REPLACE("sun", 2, 1, "o")

    И ако го ставите оригиналниот збор во некоја ќелија, да речеме A2, можете да ја наведете соодветната референца на ќелијата во аргументот old_text:

    =REPLACE(A2, 2, 1, "o")

    Забелешка. Ако аргументот start_num или num_chars е негативен или ненумерички, формулата Excel Replace ја враќа #VALUE! грешка.

    Користење на функцијата Excel REPLACE со нумерички вредности

    Функцијата REPLACE во Excel е дизајнирана да работи со текстуални низи. Се разбира, можете да го користите за замена на нумерички знаци кои се дел од текстуална низа, на пример:

    =REPLACE(A2, 7, 4, "2016")

    Забележете дека приложуваме „2016 " во двојни наводници како што обично правите со вредностите на текстот.

    На сличен начин, можете да замените една или повеќе цифри во еден број. На пример:

    =REPLACE(A4, 4, 4,"6")

    И повторно, треба да ја приложите вредноста за замена во двојни наводници („6“).

    Забелешка. Формулата за замена на Excel секогаш враќа текстуална низа , а не број. На горната слика од екранот, забележете го левото порамнување на вратената текстуална вредност во B2 и споредете го со десно порамнетиот оригинален број во A2. И бидејќи е текстуална вредност, нема да можете да ја користите во други пресметки освен ако не ја претворите назад во број, на пример со множење со 1 или со користење на кој било друг метод опишан во Како да го конвертирате текстот во број.

    Користење на функцијата Excel REPLACE со датуми

    Како што штотуку видовте, функцијата REPLACE работи добро соброеви, освен што враќа текстуална низа :) Запомнувајќи дека во внатрешниот систем на Excel, датумите се зачувуваат како броеви, може да се обидете да користите некои формули за Замени на датуми. Резултатите би биле прилично непријатни.

    На пример, имате датум во А2, да речеме 1-октомври-14, и сакате да го промените „ окт “ во „ ноември “. Значи, ја пишувате формулата REPLACE (A2, 4, 3, "Nov") која му кажува на Excel да замени 3 знаци во ќелиите A2 почнувајќи од 4-тиот знак... и го доби следниот резултат:

    Зошто е тоа? Бидејќи „01-октомври-14“ е само визуелна претстава на основниот сериски број (41913) што го претставува датумот. Значи, нашата формула за замени ги менува последните 3 цифри од горенаведениот сериски број во „ Ное “ и ја враќа текстуалната низа „419ноември“.

    За да ја натерате функцијата REPLACE на Excel правилно да работи со датуми, можете прво да ги конвертирате датумите во текстуални низи со користење на функцијата TEXT или која било друга техника прикажана во Како да конвертирате датум во текст во Excel. Алтернативно, можете да ја вградите функцијата TEXT директно во аргументот old_text на функцијата REPLACE:

    =REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov")

    Ве молиме запомнете дека резултатот од горната формула е текстуална низа и затоа ова решение работи само ако не планирате да ги користите изменетите датуми во понатамошните пресметки. Ако ви требаат датуми наместо текстуални низи, користете ја функцијата DATEVALUE за да ги претворите вредностите вратени одфункцијата Excel REPLACE датира од датира:

    =DATEVALUE(REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov"))

    Вгнездени REPLACE функции за да направите повеќе замени во ќелија

    Многу често, можеби ќе треба да направите повеќе од една замена во истата ќелија. Се разбира, можете да направите една замена, да внесете среден резултат во дополнителна колона, а потоа повторно да ја користите функцијата ЗАМЕНИ. Сепак, подобар и попрофесионален начин е да користите вгнездени REPLACE функции кои ви дозволуваат да извршите неколку замени со една формула. Во овој контекст, „вгнездување“ значи поставување на една функција во друга.

    Разгледајте го следниов пример. Да претпоставиме дека имате листа на телефонски броеви во колоната А форматирана како „123456789“ и сакате да ги направите да изгледаат повеќе како телефонски броеви со додавање цртички. Со други зборови, вашата цел е да го претворите „123456789“ во „123-456-789“.

    Вметнувањето на првата цртичка е лесно. Вие пишувате вообичаена формула Excel Replace која заменува нула знаци со цртичка, т.е. додава цртичка на 4-та позиција во ќелијата:

    =REPLACE(A2,4,0,"-")

    Резултатот од горе Формулата за замени е следнава:

    Во ред, и сега треба да вметнеме уште една цртичка на 8-та позиција. За да го направите ова, ја ставате горната формула во друга функција на Excel REPLACE. Поточно, го вградувате во аргументот стар_текст на другата функција, така што втората функција REPLACE ќе се справи со вредноста вратена одпрво REPLACE, а не вредноста во ќелијата A2:

    =REPLACE(REPLACE(A2,4,0,"-"),8,0,"-")

    Како резултат на тоа, ги добивате телефонските броеви во саканото форматирање:

    На сличен начин, можете да ги користите вгнездените функции REPLACE за да направите текстуални низи да изгледаат како датуми со додавање на коса црта (/) каде што е соодветно:

    =(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))

    Покрај тоа, можете да конвертирате текстуални низи во вистински датуми со завиткување на горната формула REPLACE со функцијата DATEVALUE:

    =DATEVALUE(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))

    И нормално, не сте ограничени во бројот на функции можете да се вгнездувате во една формула (модерните верзии на Excel 2010, 2013 и 2016 дозволуваат до 8192 знаци и до 64 вгнездени функции во формулата).

    На пример, можете да користите 3 вгнездени REPLACE функции за имајте број во А2 да изгледа како датум и време:

    =REPLACE(REPLACE(REPLACE(REPLACE(A2,3,0,"/") ,6,0,"/"), 9,0, " "), 12,0, ":")

    Замена на низа што се појавува на различна позиција во секоја ќелија

    Досега во сите примери се занимававме со вредности од слична природа и направивме замени во исти позити вклучено во секоја ќелија. Но, задачите од реалниот живот се често покомплицирани од тоа. Во вашите работни листови, знаците што треба да се заменат не мора да се појавуваат на истото место во секоја ќелија, и затоа ќе мора да да ја пронајдете позицијата на првиот знак што треба да се замени. Следниот пример ќе покаже за што зборувам.

    Да претпоставиме дека имате листа на е-поштаадресирање во колоната А. И името на една компанија се смени од „ABC“ во, да речеме, „BCA“. Значи, треба соодветно да ги ажурирате сите адреси за е-пошта на клиентите.

    Но, проблемот е што имињата на клиентите се со различна должина, и затоа не можете точно да наведете каде започнува името на компанијата. Со други зборови, не знаете која вредност да ја наведете во аргументот start_num на функцијата Excel REPLACE. За да дознаете, користете ја функцијата Excel FIND за да ја одредите позицијата на првиот знак во низата „@abc“:

    =FIND("@abc",A2)

    И потоа, наведете ја горната функција FIND во start_num аргумент на вашата формула REPLACE:

    =REPLACE(A2, FIND("@abc",A2), 4, "@bca")

    Совет. Вклучуваме „@“ во формулата „Најди и замени“ на Excel за да избегнеме случајни замени во делот за име на адресите на е-пошта. Се разбира, има многу мали шанси да се случат такви совпаѓања, а сепак можеби ќе сакате да бидете на безбедна страна.

    Како што гледате на следната слика од екранот, формулата нема проблем со наоѓање и замена на стариот текст со новиот. Меѓутоа, ако текстуалната низа што треба да се замени не се најде, формулата ја враќа #VALUE! грешка:

    И сакаме формулата да ја врати оригиналната адреса на е-пошта наместо грешката. Значи, да го приложиме нашиот FIND & засилувач; ЗАМЕНИ ја формулата во функцијата IFERROR:

    =IFERROR(REPLACE(A2, FIND("@abc",A2), 4, "@bca"),A2)

    И оваа подобрена формула функционира совршено, нели?

    Друга практичнаПримената на функцијата REPLACE е да се пишува со голема буква на првата буква во ќелијата. Секогаш кога се занимавате со листа на имиња, производи и слично, можете да ја користите горенаведената формула за да ја промените првата буква во ГОЛЕМА.

    Совет. Ако сакате да ги направите замените во оригиналните податоци, полесен начин би бил да го користите дијалогот Excel FIND and REPLACE.

    Excel SUBSTITUTE функцијата

    Функцијата SUBSTITUTE во Excel заменува една или повеќе примероци на даден знак или текстуална низа со одреден знак(и).

    Синтаксата на функцијата Excel SUBSTITUTE е следна:

    SUBSTITUTE(текст, стар_текст, нов_текст, [пример_број])

    Првите три аргументи се потребни, а последниот е изборен.

    • Текст - оригиналниот текст во кој сакате да ги замените знаците. Може да се достави како тест низа, референца на ќелија или резултат на друга формула.
    • Стар_текст - знаците што сакате да ги замените.
    • Нов_текст - новиот знак(и) со кој ќе се замени стариот_текст.
    • Пример_број - појава на стар_текст што сакате да го замените. Ако се испушти, секоја појава на стариот текст ќе се смени во нов текст.

    На пример, сите долунаведени формули го заменуваат „1“ со „2“ во ќелијата А2, но враќаат различни резултати во зависност од тоа кој број го давате во последниот аргумент:

    =SUBSTITUTE(A2, "1", "2", 1) - Ја заменува првата појава на „1“ со"2".

    =SUBSTITUTE(A2, "1", "2", 2) - Ја заменува втората појава на "1" со "2".

    =SUBSTITUTE(A2, "1", "2") - Ги заменува сите појави на "1" со "2".

    Во пракса, функцијата SUBSTITUTE се користи и за отстранување на несакани знаци од ќелиите. За примери од реалниот живот, погледнете:

    • Како да отстраните знаци или зборови од низата
    • Како да ги избришете несаканите знаци од ќелиите

    Забелешка. Функцијата SUBSTITUTE во Excel е чувствителна на букви . На пример, следнава формула ги заменува сите примери на големи букви „X“ со „Y“ во ќелијата A2, но нема да замени ниту еден примерок од малата буква „x“.

    Заменете повеќе вредности со една формула (вгнездени SUBSTITUTE)

    Како што е случајот со функцијата Excel REPLACE, можете да вгнездите неколку SUBSTITUTE функции во една формула за да направите неколку замени истовремено, т.е. неколку знаци или поднизи со една формула.

    Да претпоставиме дека имате текстуална низа како „ PR1, ML1, T1 “ во ќелијата A2, каде што „PR“ значи „Проект, „ML " е кратенка за "Milestone" и "T" значи "Задача". Она што сакате е да ги замените трите кодови со целосни имиња. За да го постигнете ова, можете да напишете 3 различни SUBSTITUTE формули:

    =SUBSTITUTE(A2,"PR", "Project ")

    =SUBSTITUTE(A2, "ML", "Milestone ")

    =SUBSTITUTE(A2, "T", "Task ")

    И потоа вгнездувајте ги една во друга:

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"PR","Project "),"ML","Milestone "),"T","Task ")

    Забележете дека додадовме празно место на крајот од секој нов_текст аргумент за подоброчитливост.

    За да научите други начини за замена на повеќе вредности истовремено, погледнете Како да направите масовно наоѓање и замена во Excel.

    Excel REPLACE vs Excel SUBSTITUTE

    Функциите Excel REPLACE и SUBSTITUTE се многу слични една на друга со тоа што и двете се дизајнирани да менуваат текстуални низи. Разликите помеѓу двете функции се како што следува:

    • SUBSTITUTE заменува еден или повеќе инстанци од даден знак или текстуална низа. Значи, ако го знаете текстот што треба да се замени, користете ја функцијата Excel SUBSTITUTE.
    • REPLACE ги менува знаците во одредена позиција на текстуалната низа. Значи, ако ја знаете позицијата на знакот(ите) што треба да се заменат, користете ја функцијата Excel REPLACE.
    • Функцијата SUBSTITUTE во Excel овозможува додавање опционален параметар (instance_num) кој одредува која појава од стариот_текст треба да се смени во нов_текст.

    Вака ги користите функциите SUBSTITUTE и REPLACE во Excel. Се надеваме дека овие примери ќе се покажат корисни во решавањето на вашите задачи. Ви благодарам што прочитавте и се надевам дека ќе видиме на нашиот блог следната недела!

    Преземете ја работната книга за вежбање

    ПРЕМЕНИ и ЗАМЕНИ примери на формула (датотека .xlsx)

    Мајкл Браун е посветен технолошки ентузијаст со страст за поедноставување на сложените процеси користејќи софтверски алатки. Со повеќе од една деценија искуство во технолошката индустрија, тој ги усоврши своите вештини во Microsoft Excel и Outlook, како и Google Sheets и Docs. Блогот на Мајкл е посветен на споделување на своето знаење и експертиза со другите, обезбедувајќи лесни за следење совети и упатства за подобрување на продуктивноста и ефикасноста. Без разлика дали сте искусен професионалец или почетник, блогот на Мајкл нуди вредни сознанија и практични совети за да го извлечете максимумот од овие основни софтверски алатки.