Зміст
Урок пояснює, як розділити комірки в Excel за допомогою формул і функції "Розділити текст". Ви дізнаєтеся, як розділити текст комою, пробілом або будь-яким іншим роздільником, а також як розділити рядки на текст і цифри. .
Розбиття тексту з однієї комірки на кілька - завдання, з яким час від часу стикаються всі користувачі Excel. В одній з наших попередніх статей ми розповідали про те, як розбити комірку в Excel за допомогою команди Текст у стовпчик особливість та Flash Fill Сьогодні ми детально розглянемо, як можна розбивати рядки на частини за допомогою формул і Розділений текст інструмент.
Як розділити текст в Excel за допомогою формул
Щоб розділити рядок в Excel, ви зазвичай використовуєте функцію LEFT, RIGHT або MID в поєднанні з функціями FIND або SEARCH. На перший погляд, деякі формули можуть виглядати складними, але насправді логіка досить проста, і наступні приклади дадуть вам деякі підказки.
Розділити рядок комою, крапкою з комою, косою рискою, тире або іншим роздільником
При розділенні комірок в Excel ключовим моментом є визначення позиції роздільника в текстовому рядку. Залежно від поставленого завдання, це можна зробити за допомогою функції ПОШУК без урахування регістру або ЗНАЙТИ з урахуванням регістру. Отримавши позицію роздільника, використовуйте функцію ВПРАВО, ВЛІВО або СЕРЕДИНУ для вилучення відповідної частини текстового рядка. Для кращого розуміння, розглянемо наступнеНаприклад.
Припустимо, у вас є список найменувань товарів Артикул-Колір-Розмір і ви хочете розділити стовпець на 3 окремі колонки:
- Для вилучення назва товару (всі символи до 1-го дефісу), вставте наступну формулу в комірку B2, а потім скопіюйте її вниз по стовпчику:
=LEFT(A2, SEARCH("-",A2,1)-1)
У цій формулі функція ПОИСК визначає позицію 1-го дефіса ("-") в рядку, а функція ВЛЕВО витягує всі символи, що залишилися до нього (від позиції дефіса віднімається 1, оскільки сам дефіс витягувати не потрібно).
- Для вилучення колір (всі символи між 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
- Стартовий номер позиція першого дефісу +1:
- Для вилучення розмір (всі символи після 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 швидких кроки:
- Припускаючи, що у вас встановлений Ultimate Suite, виберіть клітинки, які потрібно розділити, і натисніть кнопку Розділений текст на іконці Дані про абіти рахунок.
- На сьогоднішній день, на жаль, це не так. Розділений текст відкриється в правій частині вікна 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)