Як витягти підрядок у Excel (за допомогою формул ТЕКСТУ)

Excel має набір функцій TEXT, які можуть творити дива. За допомогою цих функцій можна виконувати всі види операцій з нарізуванням і кубиками тексту.

Одним із поширених завдань для людей, які працюють з текстовими даними, є вилучення підрядка в Excel (тобто отримання psrt тексту з клітинки).

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

Давайте спочатку поглянемо на деякі текстові функції, які ми будемо використовувати у цьому підручнику.

Функції Excel TEXT

Excel має ряд текстових функцій, які б спростили вилучення підрядка з вихідного тексту в Excel. Ось текстові функції Excel, які ми будемо використовувати у цьому посібнику:

  • Функція RIGHT: Вилучає зазначену кількість символів з правого боку текстового рядка.
  • Функція LEFT: Вилучає вказану кількість символів зліва від текстового рядка.
  • Функція MID: Вилучає вказану кількість символів із зазначеної початкової позиції в текстовому рядку.
  • Функція FIND: знаходить початкове положення зазначеного тексту в текстовому рядку.
  • Функція LEN: Повертає кількість символів у текстовому рядку.

Видобування підрядка в Excel за допомогою функцій

Припустимо, у вас є набір даних, як показано нижче:

Це деякі випадкові (але супергеройські) ідентифікатори електронної пошти (за винятком мого), і в наведених нижче прикладах я покажу вам, як витягти ім’я користувача та доменне ім’я за допомогою текстових функцій у Excel.

Приклад 1 - Вилучення імен користувачів з ідентифікаторів електронної пошти

Під час використання текстових функцій важливо визначити шаблон (якщо він є). Це робить дійсно легким побудову формули. У наведеному вище випадку шаблон є знаком @ між ім'ям користувача та іменем домену, і ми будемо використовувати його як посилання для отримання імен користувачів.

Ось формула для отримання імені користувача:

= ВЛІВО (A2, FIND ("@", A2) -1)

У наведеній вище формулі використовується функція LEFT для вилучення імені користувача шляхом визначення позиції знака @ в ідентифікаторі. Це робиться за допомогою функції FIND, яка повертає позицію @.

Наприклад, у випадку [email protected], FIND (“@”, A2) поверне 11, що є його позицією у текстовому рядку.

Тепер ми використовуємо функцію LEFT для вилучення 10 символів зліва від рядка (на один менше значення, яке повертає функція LEFT).

Приклад 2 - Вилучення доменного імені з ідентифікаторів електронної пошти

Для отримання доменного імені може бути використана та сама логіка, яка використовується у наведеному вище прикладі. Незначна відмінність тут полягає в тому, що нам потрібно витягти символи з правого боку текстового рядка.

Ось формула, яка дозволить це зробити:

= ПРАВО (A2, LEN (A2) -FIND ("@", A2))

У наведеній вище формулі ми використовуємо ту саму логіку, але відрегулюємо її, щоб переконатися, що ми отримуємо правильний рядок.

Давайте знову візьмемо приклад [email protected]. Функція FIND повертає позицію знака @, яка в цьому випадку дорівнює 11. Тепер нам потрібно вилучити всі символи після @. Тому ми визначаємо загальну довжину рядка і віднімаємо кількість символів до @. Він дає нам кількість символів, які охоплюють доменне ім’я справа.

Тепер ми можемо просто скористатися функцією ПРАВО для отримання доменного імені.

Приклад 3 - Вилучення доменного імені з ідентифікаторів електронної пошти (без .com)

Щоб витягти підрядок із середини текстового рядка, вам потрібно визначити положення маркера безпосередньо перед і після підрядка.

Наприклад, у наведеному нижче прикладі, щоб отримати доменне ім’я без частини .com, маркером буде @ (що знаходиться безпосередньо перед доменним іменем) та. (що відразу після нього).

Ось формула, яка буде видобувати лише доменне ім'я:

= MID (A2, FIND ("@", A2)+1, FIND (".", A2) -FIND ("@", A2) -1) 

Функція Excel MID витягує зазначену кількість символів із зазначеної вихідної позиції. У наведеному вище прикладі FIND (“@”, A2) +1 визначає початкове положення (яке знаходиться відразу після@), а FIND (“.”, A2) -FIND (“@”, A2) -1 визначає кількість символів між@"І".

Оновлення: Один із читачів William19 згадував, що вищенаведена формула не працюватиме, якщо в ідентифікаторі електронної пошти є крапка (.) (Наприклад, [email protected]). Отже, ось формула для вирішення таких випадків:

= MID (A1, FIND ("@", A1)+1, FIND (".", A1, FIND ("@", A1))-FIND ("@", A1) -1)

Використання тексту в стовпцях для вилучення підрядка в Excel

Використання функцій для вилучення підрядка в Excel має перевагу, оскільки є динамічним. Якщо змінити вихідний текст, формула автоматично оновить результати.

Якщо це те, що вам може не знадобитися, то використання функції «Текст у стовпці» може бути швидким і простим способом поділу тексту на підрядки на основі зазначених маркерів.

Ось як це зробити:

  • Виділіть клітинки, у яких у вас є текст.
  • Перейдіть до Дані -> Інструменти даних -> Текст у стовпці.
  • У кроці 1 майстра перетворення тексту до стовпця виберіть Розділений та натисніть Далі.
  • На кроці 2 встановіть прапорець Інше та введіть @ у полі праворуч від нього. Це буде нашим роздільником, який Excel буде використовувати для поділу тексту на підрядки. Попередній перегляд даних можна побачити нижче. Натисніть Далі.
  • На кроці 3 загальні налаштування добре працюють у цьому випадку. Однак ви можете вибрати інший формат, якщо розділяєте числа/дати. За замовчуванням осередок призначення - це місце, де зберігаються вихідні дані. Якщо ви хочете зберегти вихідні дані недоторканими, змініть це на іншу клітинку.
  • Натисніть кнопку Готово.

Це миттєво дасть вам два набори підрядків для кожного ідентифікатора електронної пошти, що використовується у цьому прикладі.

Якщо ви хочете ще більше розділити текст (наприклад, розділити batman.com на batman і com), повторіть той самий процес із ним.

Використання FIND і REPLACE для вилучення тексту з клітинки в Excel

Знайти і замінити може бути потужною технікою під час роботи з текстом у Excel. У наведених нижче прикладах ви дізнаєтесь, як використовувати FIND та REPLACE із символами підстановки, щоб робити дивовижні речі в Excel.

Дивитися також: Дізнайтеся все про символи підстановки в Excel.

Візьмемо ті ж приклади ідентифікаторів електронної пошти.

Приклад 1 - Вилучення імен користувачів з ідентифікаторів електронної пошти

Нижче наведено кроки для вилучення імен користувачів з ідентифікаторів електронної пошти за допомогою функцій пошуку та заміни:

  • Скопіюйте та вставте вихідні дані. Оскільки функція "Знайти та замінити" працює та змінює дані, до яких вона застосовується, найкраще мати резервну копію вихідних даних.
  • Виберіть дані та перейдіть до Домашня сторінка -> Редагування -> Знайти та вибрати -> Замінити (або скористайтеся комбінацією клавіш Ctrl + H).
  • У діалоговому вікні Знайти та замінити введіть наступне:
    • Знайти що: @*
    • Замінити на: (залиште це поле порожнім)
  • Натисніть Замінити все.

Це миттєво видалить весь текст перед символом @ в ідентифікаторах електронної пошти. Ви отримаєте результат, як показано нижче:

Як це працює ?? - У наведеному вище прикладі ми використовували комбінацію @ та *. Зірочка (*) - це символ підстановки, який представляє будь -яку кількість символів. Отже, @* означатиме текстовий рядок, який починається на @ і може мати будь -яку кількість символів після нього. Наприклад, у [email protected], @* буде @batman.com. Коли ми замінюємо @* порожнім, він видаляє всі символи після @(включаючи @).

Приклад 2 - Вилучення доменного імені з ідентифікаторів електронної пошти

За допомогою тієї ж логіки ви можете змінити критерій "Знайти що", щоб отримати доменне ім'я.

Ось кроки:

  • Виберіть дані.
  • Перейдіть додому -> Редагування -> Знайти та вибрати -> Замінити (або скористайтеся комбінацією клавіш Ctrl + H).
  • У діалоговому вікні Знайти та замінити введіть наступне:
    • Знайти що: *@
    • Замінити на: (залиште це поле порожнім)
  • Натисніть Замінити все.

Це миттєво видалить весь текст перед символом @ в ідентифікаторах електронної пошти. Ви отримаєте результат, як показано нижче:

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave