Формула excel текст по столбцам в excel

Как разделить текст по ячейкам формула в Excel

Часто приходится оптимизировать структуру данных после импорта в Excel. Некоторые разные значения попадают в одну и туже ячейку образуя целую строку как одно значение. Возникает вопрос: как разбить строку на ячейки в Excel. Программа располагает разными поисковыми функциями: одни ищут по ячейках другие ищут по содержимому ячеек. Ведь выполнять поиск по текстовой строке, которая содержится в ячейке ¬– это также распространенная потребность пользователей Excel. Их мы и будем использовать для разделения строк.

Как разделить текст на две ячейки Excel

Допустим на лист Excel были импортированные данные из другой программы. Из-за несовместимости структуры данных при импорте некоторые значение из разных категорий были внесены в одну ячейку. Необходимо из этой ячейки отделить целые числовые значения. Пример таких неправильно импортированных данных отображен ниже на рисунке:

Сначала определим закономерность, по которой можно определить, что данные из разных категорий, несмотря на то, что они находятся в одной и той же строке. В нашем случае нас интересуют только числа, которые находятся вне квадратных скобок. Каким способом можно быстро выбрать из строк целые числа и поместить их в отдельные ячейки? Эффективным решением является гибкая формула основана на текстовых функциях.

В ячейку B3 введите следующую формулу:

Теперь скопируйте эту формулу вдоль целого столбца:

Выборка чисел из строк в отдельные ячейки.

Описание формулы для разделения текста по ячейкам:

Функция ПСТР возвращает текстовое значение содержащие определенное количество символов в строке. Аргументы функции:

  1. Первый аргумент – это ссылка на ячейку с исходным текстом.
  2. Второй аргумент – это позиция первого символа, с которого должна начинаться разделенная строка.
  3. Последний аргумент – это количество символов, которое должна содержать разделенная строка.

С первым аргументом ПСТР все понятно – это ссылка на ячейку A3. Второй аргумент мы вычисляем с помощью функции НАЙТИ(«]»;A3)+2. Она возвращает очередной номер символа первой закрывающейся квадратной скобки в строке. И к этому номеру мы добавляем еще число 2, так как нам нужен номер символа после пробела за квадратной скобкой. В последнем аргументе функция вычисляет какое количество символов будет содержать разделенная строка после разделения, учитывая положение квадратной скобки.

Обратите внимание! Что в нашем примере все исходные и разделенные строки имеют разную длину и разное количество символов. Именно поэтому мы называли такую формулу – гибкой, в начале статьи. Она подходит для любых условий при решении подобного рода задач. Гибкость придает ей сложная комбинация из функций НАЙТИ. Пользователю формулы достаточно определить закономерность и указать их в параметрах функций: будут это квадратные скобки либо другие разделительные знаки. Например, это могут быть пробелы если нужно разделить строку на слова и т.п.

В данном примере функция НАЙТИ во втором аргументе определяет положение относительно первой закрывающейся скобки. А в третьем аргументе эта же функция вычисляет положение нужного нам текста в строке относительно второй открывающийся квадратной скобки. Вычисление в третьем аргументе более сложное и оно подразумевает вычитание одной большей длинны текста от меньшей. А чтобы учитывать еще 2 пробела следует вычитать число 3. В результате чего получаем правильное количество символов в разделенной строке. С помощью такой гибкой формулы можно делать выборку разной длинны разделенного текста из разных длинны исходных строк.

Читать еще:  Формула в excel если ячейка содержит текст то значение

Финансы в Excel

Текст по столбцам и строкам

Подробности Создано 03 Май 2012

Большинство опытных пользователей Excel умеют пользоваться встроенным интерфейсным средством для разбивки текстовой строки на составляющие с использованием символа разделителя. В некоторых ситуациях может оказаться удобнее разобрать текст не с помощью интерфейса, а с использованием формул. Как ни странно, но Excel не имеет встроенной стандартной функции рабочего листа для проведения таких действий. Это тем более непонятно, так как VBA поддерживает стандартную функцию Split, облегчающую решение подобных задач.

В примере созданы 2 сложные формулы для разбивки текста по столбцам и строкам. Их также можно использовать для выборки текстовой составляющей по порядковому номеру.

Напомним, что интерфейсное средство «Текст по столбцам» доступно через меню и ленту Excel Данные Текст по столбцам.

В файле-примере показано два типа формулы для разделения текста на составляющие:

  • текст по столбцам (диапазон B5:K6)
  • текст по строкам (диапазон A10:B19)

В качестве разделителя текста используется символ «,» (запятая). В служебных целях задействованы еще два символа » » (математические знаки «меньше» и «больше»). Эти символы не могут находится в исходном тексте, в противном случае формула будет работать неверно. И разделитель, и служебные символы можно заменить на любые другие, главное, чтобы они не могли быть задействованы в исходном тексте. Для замены исправьте константы во всех местах формулы.

Формула в ячейке B5 и далее по столбцам обрабатывает исходный текст из ячейки A5:

Формула в ячейке A10 и далее по строкам обрабатывает исходный текст из ячейки A9:

Формулы ссылаются только на исходный текст и не требуют наличия других предварительно вычисленных составляющих. Варианты отличаются только автоматическим определением порядкового номера текстовой составляющей, в первом случае — это подформула для вычисления номера от количества столбцов: COLUMNS($B:B); во втором — от количества строк: ROWS($10:10). При копировании диапазон столбцов и строк автоматически расширяется, вычисляя таким образом нужное значение. Вместо этой подформулы можно задать константу или переменную, определяющую требуемый номер. Из результатирующих текстовых значений убираются лишние пробелы при помощи функции TRIM().

Наверняка можно сделать формулу покороче, используя другие методы поиска. Это просто наш вариант — оригинальный, нигде не подсмотренный 😉

Как разделить текст в Excel по столбцам?

Часто мы сталкиваемся с проблемой, когда у нас есть данные только в одном столбце, при этом было бы гораздо удобнее расцепить текст на несколько столбцов.

Например, разделить столбец с полными именами (Фамилия Имя Отчество) на отдельные столбцы с именами (Фамилия, Имя, Отчество).
Давайте разберемся как разбить текст в ячейке по столбцам на конкретном примере.

Предположим у нас имеется таблица с ФИО сотрудников компании:

Исходные данные для разделения

Для того, чтобы разделить текст в Excel по столбцам идем на панель вкладок и выбираем Данные -> Работа с данными -> Текст по столбцам:

Читать еще:  Excel преобразовать дату в текст

Указание формата данных

На первом шаге выбираем формат данных:

Шаг 1. Указание формата данных

На выбор есть 2 варианта формата данных:

  • С разделителями — разделение происходит по знаку-разделителю (пробел, запятая, точка и т.д.);
  • Фиксированная ширина — разделение происходит по фиксированной ширине столбца.

Выбор разделителя для данных

В случае выбора формата с разделителями, как в нашем примере, на втором шаге выбираем какой конкретно знак-разделитель мы будем использовать:

Шаг 2. Выбор разделителя для данных

Можно выбрать как из стандартных знаков (знак табуляции, точка с запятой, запятая, пробел), так и из любых других (например, точка, символы $, @ и т.п.).
Флажок Считать последовательные разделители одним необходим если в исходных данных разделитель может быть продублирован (например, двойной пробел и т.д.).
Параметр Ограничитель строк позволяет не разделять по столбцам текст заключенный в кавычки.

Выбор формата данных для каждого столбца

На третьем шаге выбираем формат данных для каждого нового сформированного столбца:

Шаг 3. Выбор формата данных для каждого столбца

Разнесение в MS EXCEL текстовых строк по столбцам

Разнесем Фамилию, Имя и Отчество (ФИО), содержащихся в одной ячейке, по разным столбцам.

Инструмент Текст-по-столбцам (вкладка Данные, группа Работа с данными, пункт Текст-по-столбцам) используется для разнесения элементов текстовой строки по различным столбцам.

Однако, если исходные текстовые строки имеют разный формат, например, если в некоторых ФИО отсутствует отчество, то у инструмента Текст-по-столбцам могут сложности с корректным отнесением значений в столбцы. Можно наблюдать такую картину:

Т.е. фамилия будет помещена в столбец с отчествами.

Рассмотрим вариант разделения ФИО по столбцам с помощью формул. Перед использованием формул исходную строку нужно пропустить через функцию СЖПРОБЕЛЫ() .

Определяем Имя (см. файл примера )
=ЛЕВСИМВ(B5;ПОИСК(» «;B5;1)-1)

Формула ищет первый пробел и все, что левее его относит к имени.

Определяем Отчество:
=ЕСЛИ(ЕОШИБКА(ПОИСК(» «;
ПРАВСИМВ(B5; ДЛСТР(B5) — ПОИСК(» «; B5; 1)); 1)) = ИСТИНА; «»;
ЛЕВСИМВ(ПРАВСИМВ(B5;ДЛСТР(B5) — ПОИСК(» «; B5; 1));
ПОИСК(» «; ПРАВСИМВ(B5; ДЛСТР(B5) — ПОИСК(» «; B5; 1)); 1) — 1))

Формула определяет, есть ли Отчество, и если находит, то отображает его. Фактически она определяет наличие второго пробела.

Определяем Фамилию:
=ПРАВСИМВ(B5;ДЛСТР(B5)-ДЛСТР(C5)-ДЛСТР(D5)-ЕСЛИ(D5=»»;1;2))

Формула основывается на результатах вычисления двух предыдущих формул и выводит всю исходную строку за исключением Имени и Отчества.

Этот подход не является универсальным для разделения строк по столбцам. Он работает, если строка содержит только 3 или 2 составляющих. В случае со строкой из 4-х слов (например, Василий Петрович Лукьяненко мл.) будет получен неудовлетворительный результат.

Как разделить текст по ячейкам формула в Excel

Часто приходится оптимизировать структуру данных после импорта в Excel. Некоторые разные значения попадают в одну и туже ячейку образуя целую строку как одно значение. Возникает вопрос: как разбить строку на ячейки в Excel. Программа располагает разными поисковыми функциями: одни ищут по ячейках другие ищут по содержимому ячеек. Ведь выполнять поиск по текстовой строке, которая содержится в ячейке ¬– это также распространенная потребность пользователей Excel. Их мы и будем использовать для разделения строк.

Читать еще:  Excel убрать пустые строки

Как разделить текст на две ячейки Excel

Допустим на лист Excel были импортированные данные из другой программы. Из-за несовместимости структуры данных при импорте некоторые значение из разных категорий были внесены в одну ячейку. Необходимо из этой ячейки отделить целые числовые значения. Пример таких неправильно импортированных данных отображен ниже на рисунке:

Сначала определим закономерность, по которой можно определить, что данные из разных категорий, несмотря на то, что они находятся в одной и той же строке. В нашем случае нас интересуют только числа, которые находятся вне квадратных скобок. Каким способом можно быстро выбрать из строк целые числа и поместить их в отдельные ячейки? Эффективным решением является гибкая формула основана на текстовых функциях.

В ячейку B3 введите следующую формулу:

Теперь скопируйте эту формулу вдоль целого столбца:

Выборка чисел из строк в отдельные ячейки.

Описание формулы для разделения текста по ячейкам:

Функция ПСТР возвращает текстовое значение содержащие определенное количество символов в строке. Аргументы функции:

  1. Первый аргумент – это ссылка на ячейку с исходным текстом.
  2. Второй аргумент – это позиция первого символа, с которого должна начинаться разделенная строка.
  3. Последний аргумент – это количество символов, которое должна содержать разделенная строка.

С первым аргументом ПСТР все понятно – это ссылка на ячейку A3. Второй аргумент мы вычисляем с помощью функции НАЙТИ(«]»;A3)+2. Она возвращает очередной номер символа первой закрывающейся квадратной скобки в строке. И к этому номеру мы добавляем еще число 2, так как нам нужен номер символа после пробела за квадратной скобкой. В последнем аргументе функция вычисляет какое количество символов будет содержать разделенная строка после разделения, учитывая положение квадратной скобки.

Обратите внимание! Что в нашем примере все исходные и разделенные строки имеют разную длину и разное количество символов. Именно поэтому мы называли такую формулу – гибкой, в начале статьи. Она подходит для любых условий при решении подобного рода задач. Гибкость придает ей сложная комбинация из функций НАЙТИ. Пользователю формулы достаточно определить закономерность и указать их в параметрах функций: будут это квадратные скобки либо другие разделительные знаки. Например, это могут быть пробелы если нужно разделить строку на слова и т.п.

В данном примере функция НАЙТИ во втором аргументе определяет положение относительно первой закрывающейся скобки. А в третьем аргументе эта же функция вычисляет положение нужного нам текста в строке относительно второй открывающийся квадратной скобки. Вычисление в третьем аргументе более сложное и оно подразумевает вычитание одной большей длинны текста от меньшей. А чтобы учитывать еще 2 пробела следует вычитать число 3. В результате чего получаем правильное количество символов в разделенной строке. С помощью такой гибкой формулы можно делать выборку разной длинны разделенного текста из разных длинны исходных строк.

Похожие статьи

Ссылка на основную публикацию
Похожие публикации
Adblock
detector