Використання функцій ЗАМЕНА та ПІДСТАНОВКА в Excel - приклади формул

  • Поділитися Цим
Michael Brown

У навчальному посібнику пояснюються функції ЗАМІНИТИ і ПІДСТАНОВКА в Excel з прикладами використання. Дізнайтеся, як використовувати функцію ЗАМІНИТИ з текстовими рядками, числами і датами, а також як вкладати кілька функцій ЗАМІНИТИ або ПІДСТАНОВКА в одну формулу.

Минулого тижня ми розглянули різні способи використання функцій ПОИСК і ЗАМЕНА в таблицях Excel. Сьогодні ми розглянемо ще дві функції для заміни тексту в комірці на основі його розташування або заміни одного текстового рядка на інший на основі вмісту. Як ви вже здогадалися, мова йде про функції Excel ЗАМЕНА і ЗАМЕНА.

    Функція ЗАМІНИТИ в Excel

    Функція ЗАМЕНА в Excel дозволяє замінити один або кілька символів у текстовому рядку іншим символом або набором символів.

    REPLACE(old_text, start_num, num_chars, new_text)

    Як бачимо, функція ЗАМЕСТИТЬ в Excel має 4 аргументи, всі вони обов'язкові.

    • Старий_текст - вихідний текст (або посилання на комірку з вихідним текстом), в якому потрібно замінити деякі символи.
    • Start_num - позиція першого символу в old_text, який потрібно замінити.
    • Num_chars - кількість символів, які потрібно замінити.
    • New_text - текст заміни.

    Наприклад, змінити слово " сонце "до" син ", можна скористатися наступною формулою:

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

    А якщо ви помістили вихідне слово в якусь комірку, скажімо А2, то в аргументі old_text можна вказати посилання на відповідну комірку:

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

    Примітка: Якщо аргумент start_num або num_chars має від'ємне або нечислове значення, формула Excel Замінити повертає помилку #VALUE!

    Використання функції REPLACE в Excel з числовими значеннями

    Функція ЗАМЕНА в Excel призначена для роботи з текстовими рядками. Звичайно, з її допомогою можна замінити, наприклад, числові символи, що входять до складу текстового рядка:

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

    Зверніть увагу, що ми беремо "2016" у подвійні лапки, як ви зазвичай робите з текстовими значеннями.

    Аналогічним чином можна замінити одну або декілька цифр у числі. Наприклад:

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

    І знову ж таки, значення заміни потрібно брати в подвійні лапки ("6").

    Примітка. Формула ЗАМІНИ в Excel завжди повертає значення текстовий рядок На скріншоті вище зверніть увагу на вирівнювання повернутого текстового значення в B2 по лівому краю і порівняйте його з вирівняним по правому краю вихідним числом в A2. Оскільки це текстове значення, ви не зможете використовувати його в інших обчисленнях, якщо не перетворите його назад в число, наприклад, помноживши на 1 або скориставшись будь-яким іншим методом, описаним в розділі "Як перетворити текст в число".

    Використання функції ЗАМІНИТИ в Excel з датами

    Як ви щойно побачили, функція REPLACE чудово працює з числами, за винятком того, що повертає текстовий рядок :) Пам'ятаючи, що у внутрішній системі Excel дати зберігаються у вигляді чисел, ви можете спробувати використати деякі формули REPLACE для дат. Результати будуть досить незграбними.

    Наприклад, у вас є дата в А2, скажімо, 1-жовтень-14, і ви хочете змінити " Жовтень "до" Листопад "Отже, ви пишете формулу REPLACE(A2, 4, 3, "Nov"), яка вказує Excel замінити 3 символи в комірці A2, починаючи з 4-го символу... і отримуєте наступний результат:

    Чому? Тому що "01-Oct-14" - це лише візуальне представлення основного серійного номера (41913), який представляє дату. Отже, наша формула заміни змінює останні 3 цифри у наведеному вище серійному номері на " Листопад " і повертає текстовий рядок "419Nov".

    Щоб функція REPLACE в Excel коректно працювала з датами, можна спочатку перетворити дати в текстові рядки за допомогою функції TEXT або будь-яким іншим способом, продемонстрованим в розділі Як перетворити дату в текст в Excel. Або ж можна вбудувати функцію TEXT безпосередньо в аргумент old_text функції REPLACE:

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

    Просимо пам'ятати, що результатом наведеної вище формули є текстовий рядок і тому це рішення працює тільки в тому випадку, якщо ви не плануєте використовувати змінені дати в подальших розрахунках. Якщо ж вам потрібні дати, а не текстові рядки, скористайтеся функцією ДАТНОЕЗНАЧЕНИЕ, щоб перетворити значення, повернуті функцією ЗАМЕНА в Excel, назад в дати:

    =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 ЗАМЕНА. Точніше, вбудовуєте її в функцію старий_текст аргументом іншої функції, щоб друга функція ЗАМЕНА обробляла значення, повернуте першою функцією ЗАМЕНА, а не значення в комірці А2:

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

    В результаті ви отримуєте номери телефонів в потрібному форматі:

    Аналогічним чином можна використовувати вкладені функції REPLACE, щоб зробити текстові рядки схожими на дати, додавши пряму похилу риску (/) там, де це необхідно:

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

    Крім того, ви можете перетворити текстові рядки в реальні дати, обернувши наведену вище формулу ЗАМЕСТИТЬ функцією DATEVALUE:

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

    І, природно, ви не обмежені в кількості функцій, які можна вкласти в одну формулу (сучасні версії Excel 2010, 2013 і 2016 допускають до 8192 символів і до 64 вкладених функцій у формулі).

    Наприклад, ви можете використовувати 3 вкладені функції REPLACE, щоб число в A2 відображалося як дата і час:

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

    Заміна рядка, який з'являється в іншій позиції в кожній комірці

    Досі у всіх прикладах ми мали справу з однотипними величинами і виконували заміни в одній і тій же позиції у кожній комірці. Але реальні завдання часто бувають складнішими. У ваших таблицях символи, що підлягають заміні, можуть не обов'язково знаходитись в одній і тій же позиції у кожній комірці, а отже, вам потрібно буде знайти позицію першого символу Наступний приклад продемонструє, що я маю на увазі.

    Припустимо, у вас є список адрес електронної пошти в колонці А. І назва однієї компанії змінилася з "ABC" на, скажімо, "BCA". Отже, вам необхідно оновити адреси електронної пошти всіх клієнтів відповідно.

    Але проблема в тому, що назви клієнтів мають різну довжину, і саме тому ви не можете точно вказати, з чого починається назва компанії. Іншими словами, ви не знаєте, яке значення підставляти в аргумент start_num функції Excel ЗАМЕСТИТЬ. Щоб це з'ясувати, скористайтеся функцією Excel НАЙТИ для визначення позиції першого символу в рядку "@abc":

    =FIND("@abc",A2)

    А потім вкажіть вищевказану функцію FIND в аргументі start_num вашої формули REPLACE:

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

    Порада. Ми включаємо "@" у формулу пошуку та заміни в Excel, щоб уникнути випадкових замін в іменній частині адрес електронної пошти. Звичайно, ймовірність того, що такі збіги відбудуться, дуже мала, і все ж ви можете перестрахуватися.

    Як видно на наступному скріншоті, формула без проблем знаходить і замінює старий текст на новий. Однак, якщо текстовий рядок, який потрібно замінити, не знайдено, формула повертає помилку #VALUE!

    А ми хочемо, щоб формула повертала не помилку, а оригінальну адресу електронної пошти. Тому давайте вкладемо нашу формулу ПОИСК&ЗАМЕСТИ в функцію ЕСЛИ помилка:

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

    І ця покращена формула чудово працює, чи не так?

    Іншим практичним застосуванням функції ЗАМЕСТИТЬ є написання першої літери в комірці з великої літери. Кожного разу, коли ви маєте справу зі списком імен, продуктів тощо, ви можете використовувати наведену вище формулу, щоб змінити першу літеру на ВЕЛИКИЙ регістр.

    Порада: Якщо ви хочете зробити заміни у вихідних даних, більш простим способом буде використання діалогового вікна Знайти і замінити в Excel.

    Функція підстановки в Excel

    Функція ЗАМЕСТИТЬ в Excel замінює один або декілька екземплярів заданого символу або текстового рядка на вказаний символ (символи).

    Синтаксис функції ЗАМЕСТИТЬ в Excel наступний:

    SUBSTITUTE(text, old_text, new_text, [instance_num])

    Перші три аргументи є обов'язковими, а останній - необов'язковим.

    • Текст - вихідний текст, в який потрібно підставити символи. Може бути поданий у вигляді тестового рядка, посилання на комірку або результату іншої формули.
    • Старий_текст - символ(и), який(і) потрібно замінити.
    • New_text - новий(і) символ(и), на який(і) потрібно замінити старий_текст.
    • Номер примірника - входження старого_тексту, який потрібно замінити. Якщо його не вказати, то кожне входження старого тексту буде замінено на новий текст.

    Наприклад, всі наведені нижче формули замінюють "1" на "2" в комірці A2, але повертають різні результати в залежності від того, яке число ви введете в останньому аргументі:

    =SUBSTITUTE(A2, "1", "2", 1) - Замінює перше входження "1" на "2".

    =SUBSTITUTE(A2, "1", "2", 2) - Замінює друге входження "1" на "2".

    =SUBSTITUTE(A2, "1", "2") - Замінює всі входження "1" на "2".

    На практиці функція ЗАМЕСТИТЬ також використовується для видалення непотрібних символів з комірок. Реальні приклади див. у розділі "Реальні приклади":

    • Як видалити символи або слова з рядка
    • Як видалити непотрібні символи з комірок

    Примітка. Функція ПІДСТАНОВКА в Excel - це з урахуванням особливостей конкретного випадку Наприклад, наступна формула замінює всі випадки великої літери "X" на "Y" в комірці A2, але не замінює жодного випадку малої літери "x".

    Заміна декількох значень однією формулою (вкладена підстановка)

    Як і у випадку з функцією ЗАМЕСТИТЬ в Excel, ви можете вкласти кілька функцій ЗАМЕНА в одну формулу, щоб виконати кілька підстановок за один раз, тобто замінити кілька символів або підрядків однією формулою.

    Нехай у вас є текстовий рядок виду " PR1, ML1, T1 " в комірці A2, де "PR" означає "Проект", "ML" означає "Етап" і "T" означає "Завдання". Вам потрібно замінити ці три коди повними назвами. Для цього ви можете написати 3 різні формули ПІДСТАНОВКИ:

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

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

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

    А потім вкласти їх одне в одного:

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

    Зверніть увагу, що ми додали пробіл в кінці кожного аргументу new_text для кращої читабельності.

    Щоб дізнатися про інші способи заміни декількох значень одночасно, див. статтю Як виконати масовий пошук і заміну в Excel.

    Excel REPLACE проти Excel SUBSTITUTE

    Функції Excel ЗАМЕСТИТЬ і ЗАМЕСТИТЬ дуже схожі між собою тим, що обидві призначені для заміни місцями текстових рядків. Відмінності між цими двома функціями полягають у наступному:

    • SUBSTITUTE замінює один або декілька випадки Отже, якщо ви знаєте текст, який потрібно замінити, скористайтеся функцією Excel ЗАМЕНА.
    • REPLACE змінює символи у вказаному рядку позиція Отже, якщо ви знаєте позицію символу (символів), який (які) потрібно замінити, скористайтеся функцією ЗАМЕСТИТЬ в Excel.
    • Функція ПІДСТАНОВКА в Excel дозволяє додати необов'язковий параметр (номер_екземпляра), який вказує, який саме екземпляр виникнення старого_тексту слід замінити на новий_текст.

    Ось так використовуються функції ПІДСТАНОВКА і ЗАМІНИТИ в Excel. Сподіваюся, наведені приклади виявляться корисними при вирішенні ваших завдань. Дякую за прочитання і сподіваюся побачити на нашому блозі наступного тижня!

    Завантажити робочий зошит з практики

    Приклади формул ЗАМІНИТИ та ПІДСТАНОВИТИ (файл .xlsx)

    Майкл Браун — відданий ентузіаст технологій із пристрастю до спрощення складних процесів за допомогою програмних засобів. Маючи понад десятирічний досвід роботи в технологічній індустрії, він відточив свої навички роботи з Microsoft Excel і Outlook, а також із Google Таблицями та Документами. Блог Майкла присвячений тому, щоб поділитися своїми знаннями та досвідом з іншими, надаючи прості поради та навчальні посібники для підвищення продуктивності та ефективності. Незалежно від того, чи є ви досвідченим професіоналом чи початківцем, блог Майкла пропонує цінну інформацію та практичні поради щодо отримання максимальної користі від цих основних програмних інструментів.