Excel: Розділити рядок за допомогою роздільника або шаблону, відокремити текст і цифри

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

Урок пояснює, як розділити комірки в Excel за допомогою формул і функції "Розділити текст". Ви дізнаєтеся, як розділити текст комою, пробілом або будь-яким іншим роздільником, а також як розділити рядки на текст і цифри. .

Розбиття тексту з однієї комірки на кілька - завдання, з яким час від часу стикаються всі користувачі Excel. В одній з наших попередніх статей ми розповідали про те, як розбити комірку в Excel за допомогою команди Текст у стовпчик особливість та Flash Fill Сьогодні ми детально розглянемо, як можна розбивати рядки на частини за допомогою формул і Розділений текст інструмент.

    Як розділити текст в Excel за допомогою формул

    Щоб розділити рядок в Excel, ви зазвичай використовуєте функцію LEFT, RIGHT або MID в поєднанні з функціями FIND або SEARCH. На перший погляд, деякі формули можуть виглядати складними, але насправді логіка досить проста, і наступні приклади дадуть вам деякі підказки.

    Розділити рядок комою, крапкою з комою, косою рискою, тире або іншим роздільником

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

    Припустимо, у вас є список найменувань товарів Артикул-Колір-Розмір і ви хочете розділити стовпець на 3 окремі колонки:

    1. Для вилучення назва товару (всі символи до 1-го дефісу), вставте наступну формулу в комірку B2, а потім скопіюйте її вниз по стовпчику:

      =LEFT(A2, SEARCH("-",A2,1)-1)

      У цій формулі функція ПОИСК визначає позицію 1-го дефіса ("-") в рядку, а функція ВЛЕВО витягує всі символи, що залишилися до нього (від позиції дефіса віднімається 1, оскільки сам дефіс витягувати не потрібно).

    2. Для вилучення колір (всі символи між 1-м і 2-м дефісами), введіть наступну формулу в комірку С2, а потім скопіюйте її в інші комірки:

      =MID(A2, SEARCH("-",A2) + 1, SEARCH("-",A2,SEARCH("-",A2)+1) - SEARCH("-",A2) - 1)

      У цій формулі ми використовуємо функцію MID Excel для вилучення тексту з А2.

      Початкова позиція і кількість символів, які потрібно витягти, розраховуються за допомогою 4 різних функцій ПОШУК:

      • Стартовий номер позиція першого дефісу +1:

        SEARCH("-",A2) + 1

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

        SEARCH("-", A2, SEARCH("-",A2)+1) - SEARCH("-",A2) -1

    3. Для вилучення розмір (всі символи після 3-го дефісу), у полі D2 введіть наступну формулу:

      =RIGHT(A2,LEN(A2) - SEARCH("-", A2, SEARCH("-", A2) + 1))

      У цій формулі функція ЛЕН повертає загальну довжину рядка, від якої віднімається позиція 2-го дефіса. Різниця - це кількість символів після 2-го дефіса, їх і витягує функція СРЗНАЧ.

    Аналогічним чином можна розбити стовпець на будь-який інший символ, для цього достатньо замінити "-" на необхідний роздільник, наприклад простір (" "), кома (","), косая риска ("/"), товста кишка (";"), крапка з комою (";") тощо.

    Порада. У наведених вище формулах +1 і -1 відповідають кількості символів у роздільнику. У даному прикладі це дефіс (1 символ). Якщо Ваш роздільник складається з 2 символів, наприклад, кома і пробіл, то передайте в функцію ПОШУК тільки кому (","), а замість +1 і -1 використовуйте +2 і -2.

    Як розділити рядок за допомогою переходу на новий рядок в Excel

    Для розділення тексту пробілами використовуються формули, аналогічні тим, що були продемонстровані в попередньому прикладі. Єдина відмінність полягає в тому, що для введення символу переходу на новий рядок вам знадобиться функція CHAR, оскільки безпосередньо у формулі його ввести не можна.

    Припустимо, комірки, які ви хочете розділити, виглядають приблизно так:

    Візьміть формули з попереднього прикладу і замініть дефіс ("-") на CHAR(10), де 10 - ASCII код переведення рядка.

    • Для вилучення назва товару :

      =LEFT(A2, SEARCH(CHAR(10),A2,1)-1)

    • Для вилучення колір :

      =MID(A2, SEARCH(CHAR(10),A2) + 1, SEARCH(CHAR(10),A2,SEARCH(CHAR(10),A2)+1) - SEARCH(CHAR(10),A2) - 1)

    • Для вилучення розмір :

      =RIGHT(A2,LEN(A2) - SEARCH(CHAR(10), A2, SEARCH(CHAR(10), A2) + 1))

    І ось як виглядає результат:

    Як розділити текст і числа в Excel

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

    Розділення рядка за зразком "текст + число

    Припустимо, у Вас є стовпець рядків з текстом і числами, де число завжди слідує за текстом. Ви хочете розбити вихідні рядки так, щоб текст і числа з'явилися в окремих комірках, як показано нижче:

    Результат може бути досягнутий двома різними шляхами.

    Спосіб 1: Порахувати цифри і виділити стільки-то символів

    Найпростіший спосіб розбиття текстового рядка, де число стоїть після тексту, полягає в наступному:

    До номери виписок ви перебираєте рядок на наявність усіх можливих чисел від 0 до 9, отримуєте суму чисел і повертаєте стільки символів з кінця рядка.

    З вихідним рядком в комірці A2 формула виглядає наступним чином:

    =RIGHT(A2,SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"},""))))

    До витяг тексту обчислюється кількість текстових символів у рядку шляхом віднімання кількості витягнутих цифр (С2) від загальної довжини вихідного рядка в А2. Після цього за допомогою функції LEFT повертається ця кількість символів з початку рядка.

    =LEFT(A2,LEN(A2)-LEN(C2))

    Де A2 - вихідний рядок, а C2 - витягнуте число, як показано на скріншоті:

    Спосіб 2: Дізнатися позицію 1-ї цифри в рядку

    Альтернативним рішенням може бути використання наступної формули для визначення позиції першої цифри в рядку:

    =MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))

    Після того, як знайдено положення першої цифри, ви можете розділити текст і числа за допомогою дуже простих формул LEFT і RIGHT.

    Для вилучення текст :

    =LEFT(A2, B2-1)

    Для вилучення кількість :

    =RIGHT(A2, LEN(A2)-B2+1)

    Де A2 - вихідний рядок, а B2 - позиція першого числа.

    Щоб позбутися допоміжного стовпчика, що утримує позицію першого розряду, можна вбудувати формулу МИН у функції СЧЁТЕСЛИ і СЧЁТЕСЛИ:

    Формула для вилучення текст :

    =LEFT(A2,MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))-1)

    Формула для вилучення цифри :

    =RIGHT(A2,LEN(A2)-MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))+1)

    Розділення рядка за зразком "число + текст

    Якщо ви розділяєте комірки, в яких після числа стоїть текст, ви можете номери виписок за наступною формулою:

    =LEFT(A2, SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}, ""))))

    Формула аналогічна тій, що розглянута в попередньому прикладі, за винятком того, що для отримання числа з лівої частини рядка використовується функція LEFT, а не RIGHT.

    Як тільки у вас будуть цифри, витяг текст шляхом віднімання кількості цифр від загальної довжини вихідного рядка:

    =RIGHT(A2,LEN(A2)-LEN(B2))

    Де A2 - вихідний рядок, а B2 - витягнуте число, як показано на скріншоті нижче:

    Порада. Щоб отримати номер з будь-яка позиція в текстовому рядку використовуйте або цю формулу, або інструмент Extract.

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

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

    Як розділити клітинки в Excel за допомогою інструменту Split Text

    Альтернативним способом розділення стовпця в Excel є використання функції "Розділити текст", що входить до складу нашого Ultimate Suite для Excel, яка надає наступні можливості:

      Для того, щоб було зрозуміліше, давайте розглянемо кожен варіант по черзі.

      Розділити комірки за символами

      Виберіть цей параметр, коли потрібно розділити вміст комірки за адресою кожне входження зазначеного символу .

      Для цього прикладу візьмемо рядки Артикул-Колір-Розмір Як ви пам'ятаєте, ми розділили їх на 3 різні колонки, використовуючи 3 різні формули. А ось як ви можете досягти того ж результату за 2 швидких кроки:

      1. Припускаючи, що у вас встановлений Ultimate Suite, виберіть клітинки, які потрібно розділити, і натисніть кнопку Розділений текст на іконці Дані про абіти рахунок.

      2. На сьогоднішній день, на жаль, це не так. Розділений текст відкриється в правій частині вікна Excel, і ви зробите наступне:
        • Розширити перелік Розподіл за символами і виберіть один із заздалегідь визначених роздільників або введіть будь-який інший символ у полі Нестандартний Ящик.
        • Виберіть, чи потрібно розбивати клітинки на стовпці або рядки.
        • Ознайомтеся з результатом у розділі Попередній перегляд та натисніть кнопку Спліт кнопку.

      Порада: Якщо в комірці може бути кілька послідовних роздільників (наприклад, більше одного пробілу), виберіть опцію Розглядати послідовні роздільники як один Ящик.

      Готово! Завдання, яке вимагало 3 формули та 5 різних функцій, тепер займає лише пару секунд та натискання кнопки.

      Розбиття комірок на рядки

      Ця опція дозволяє розбивати рядки за допомогою будь-яка комбінація символів Технічно ви розділяєте рядок на частини, використовуючи один або декілька різних підрядків як межі кожної частини.

      Наприклад, розділити речення сполучниками " і " і " або ", розширити Розподіл по рядках і введіть рядки-розділювачі, по одному на рядок:

      В результаті вихідна фраза відокремлюється при кожному входженні кожного роздільника:

      Порада. Символи "or", а також "and" часто можуть бути частиною таких слів, як "orange" або "Andalusia", тому обов'язково вводьте a простір до і після і і або не допускати розщеплення слів.

      А ось ще один, реальний приклад. Припустимо, ви імпортували із зовнішнього джерела стовпчик дат, які виглядають наступним чином:

      5.1.2016 12:20

      5.2.2016 14:50

      Цей формат не є традиційним для Excel, і тому жодна з функцій Дата не розпізнає жодного з елементів дати або часу. Щоб розділити день, місяць, рік, години і хвилини на окремі комірки, введіть наступні символи в поле Розподіл по рядках Ящик:

      • Крапка (.) для відокремлення дня, місяця та року
      • Двокрапка (:) для розділення годин і хвилин
      • Пробіл для відокремлення дати та часу

      Натисни кнопку Спліт і Ви одразу отримаєте результат:

      Розділення комірок за маскою (шаблоном)

      Відокремлення комірки маскою означає розділення рядка за зразком .

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

      Нехай у вас є список рядків, витягнутих з деякого лог-файлу:

      Ви хочете мати дату і час, якщо такі є, код помилки і деталі виключення в 3 окремих колонках. Ви не можете використовувати пробіл в якості роздільника, тому що є пробіли між датою і часом, які повинні відображатися в одній колонці, і є пробіли в тексті виключення, які також повинні відображатися в одній колонці.

      Рішенням є розбиття рядка за наступною маскою: *Помилка:* Виняток:*

      Де зірочка (*) позначає будь-яку кількість символів.

      Двокрапка (:) включена в роздільники, тому що ми не хочемо, щоб вона з'являлася в результуючих комірках.

      А тепер, розширюємо Розподіл за маскою розділ про Розділений текст введіть маску в поле Введіть роздільники і натисніть кнопку Спліт :

      Результат буде виглядати приблизно так:

      Примітка. Розділення рядка за маскою - це з урахуванням особливостей конкретного випадку Отже, обов'язково вводьте символи в масці точно так, як вони з'являються у вихідних рядках.

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

      * *ERROR:* *Exception:*

      У перекладі на просту англійську мову, маска наказує надбудові розділити вихідні рядки на 4 частини:

      • Всі символи до 1-го пробілу, що зустрічаються в рядку (дата)
      • Символи між 1-м пробілом і словом ПОМИЛКА: (час)
      • Текст між ПОМИЛКА: і Виняток: (код помилки)
      • Все, що буде після Виняток: (текст виключення)

      Сподіваюся, вам сподобався цей швидкий і простий спосіб розділення рядків в Excel. Якщо вам цікаво спробувати, ознайомчу версію можна завантажити нижче. Дякую за прочитання і сподіваюся побачити вас на нашому блозі наступного тижня!

      Доступні для завантаження

      Формули розділених комірок Excel (файл .xlsx)

      Ultimate Suite 14-денна повнофункціональна версія (файл .exe)

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