Как вытащить слово в отдельную колонку
Перейти к содержимому

Как вытащить слово в отдельную колонку

  • автор:

Как вытащить число или часть текста из текстовой строки в Excel

Сегодня мы с вами рассмотрим весьма распространённую ситуацию, возникающую в работе экономиста связанную с анализом данных.

Как правило, экономисту поручают проведение всевозможных видов анализа на основании бухгалтерских данных, группировку их специальным образом, получение дополнительных срезов, отличающихся от имеющихся бухгалтерских аналитик и т.д.

Речь здесь уже идет о преобразовании данных бухгалтерского учета в данные управленческого учета. Мы не будем говорить о необходимости сближения бухгалтерского и управленческого учета, или, по крайней мере, получения нужных срезов и аналитик в имеющихся учетных программах в автоматическом режиме. К сожалению, зачастую экономисту приходиться «перелопачивать» огромные объемы информации вручную.

И здесь, очень многое зависит, насколько эффективно организована работа, насколько экономист владеет своим основным прикладным инструментом – программой Excel, знает ее возможности и эффективные приемы обработки информации. Ведь одну и туже задачу можно решать разными способами, затрачивая разное количество времени и усилий.

Рассмотрим конкретную ситуацию. Вам нужно подготовить отчёт в разрезе, который нельзя получить в бухгалтерской программе. Вы выгрузили в Excel отчет по проводкам (оборотно-сальдовую ведомость, карточку счета и т.д. – не суть важно) и видите, что для нормальной фильтрации данных или создания сводной таблицы для анализа данных у вас не хватает одного признака (аналитики, разреза, субконто и т.д.).

Критически взглянув на таблицу, вы видите, что необходимый вам признак операции находиться тут же в таблице, но не в отдельной ячейке, а внутри текста. Например, код филиала в наименовании документа. А вам как раз надо подготовить отчет по поставщикам в разрезе филиалов, т.е. по двум признакам, один из которых отсутствует в приемлемом для дальнейшей обработки информации виде.

ватащить текст

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

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

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

В этом случае, мы можем извлекать код или часть текста при помощи функций ЛЕВСИМВ и ПРАВСИМВ, которые возвращают заданное количество знаков соответственно с начала строки или с конца строки.

Текст – обязательный аргумент. Текстовая строка, содержащая символы, которые требуется извлечь.

Количество_знаков — необязательный аргумент. Количество символов, извлекаемых функцией ЛЕВСИМВ (ПРАВСИМВ).

«Количество_знаков» должно быть больше нуля или равно ему. Если «количество_знаков» превышает длину текста, функция ЛЕВСИМВ (ПРАВСИМВ) возвращает весь текст. Если значение «количество_знаков» опущено, оно считается равным 1.

Зная количество знаков, которые содержит код, мы легко извлечем необходимые символы.

Сложнее если нужные нам символы находятся в середине текста.

Извлечь число, текст, код и т.д. из середины текстовой строки может функция ПСТР, возвращает заданное число знаков из строки текста, начиная с указанной позиции.

=ПСТР(текст; начальная_позиция; количество_знаков)

Текст – обязательный аргумент. Текстовая строка, содержащая символы, которые требуется извлечь.

Начальная_позиция – обязательный аргумент. Позиция первого знака, извлекаемого из текста. Первый знак в тексте имеет начальную позицию 1 и так далее.

Количество_знаков – обязательный аргумент. Указывает, сколько знаков должна вернуть функция ПСТР.

Самый простой случай – если код находиться на одном и том же месте от начала строки. Например, у нас наименование документа начинается всегда одинаково «Поступление товаров и услуг ХХ ….»

Наш признак «ХХ» — код филиала начинается с 29 знака и имеет 2 знака в своем составе.

В нашем случае формула будет иметь вид:

Однако не всегда все так безоблачно. Предположим, мы не можем со 100% уверенностью сказать, что наименование документа у нас во всех строках будет начинаться одинаково, но мы точно знаем, что признак филиала закодирован в номере документа следующим образом:

Первый символ – первая буква в наименовании филиала, второй символ – это буква Ф (филиал) и далее следует пять нулей «00000». Причем меняется только первый символ — первая буква наименования филиала.

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

=ПОИСК(искомый_текст; текст_для_поиска; [нач_позиция])

Искомый_текст – обязательный аргумент. Текст, который требуется найти.

Просматриваемый_текст – обязательный аргумент. Текст, в котором нужно найти значение аргумента искомый_текст.

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

Функция ПОИСК не учитывает регистр. Если требуется учитывать регистр, используйте функцию НАЙТИ.

В аргументе искомый_текст можно использовать подстановочные знаки: вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому знаку, звездочка — любой последовательности знаков. Если требуется найти вопросительный знак или звездочку, введите перед ним тильду (

Обозначив меняющийся первый символ знаком вопроса (?), мы можем записать итоговую формулу для выделения кода филиала в таком виде:

Эта формула определяет начальную позицию кода филиала в наименовании документа, а затем возвращает два знака кода, начиная с найденной позиции.

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

Как расцепить текст в Excel

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

Первый метод: применение автоматического инструмента

В табличном редакторе существует специальный инструмент автоматического вида, позволяющий реализовать эту процедуру. Подробная инструкция выглядит так:

  1. Зажимаем левую клавишу мышки и производим выделение всех ячеек, которые мы планируем расцепить на колонки.
  1. Передвигаемся в подраздел «Данные» и жмем ЛКМ по элементу «Текст по столбцам».
  1. Отобразилось окошко, имеющее наименование «Мастер распределения текста по столбцам». Ставим пунктик рядом с надписью «с разделителями». Обычно в качестве разделителя выступает пробел, но на дальнейшем этапе можно отредактировать вид разделения.
  1. Выставляем отметку около того символа, который мы планируем использовать в качестве разделителя. Внизу окошка находится поле «Образец разбора данных». Здесь можно предварительно посмотреть полученный результат.
  1. На следующем этапе задаем новый формат колонок, а также ту локацию, в которую будет перемещена новая информация. После проведения всех процедур щелкаем левой клавишей мышки на «Готово», чтобы сохранить внесенные изменения.
  1. Возвращаемся к исходной табличке и убеждаемся, что процесс расцепления произошел корректно.

Стоит отметить! Данный метод подходит только в тех случаях, когда необходимо произвести только одно расцепление, указав для каждого слова новую колонку. Этот метод не подходит для работы, в которой необходимо постоянно проводить процедуру расцепления, так как будет тратиться много времени. Рассмотрим следующие методы.

Второй метод: применение формулы расцепления текста

Такая формула позволяет подсчитать позиции слов, отыскать пробелы, а затем расцепить все слова на отдельные колонки. Этот способ подразумевает большое количество действий, поэтому нужно внимательно следовать этапам подробной инструкции. Для примера мы возьмем поле, в котором располагается три слова, которые разделены между собой пробелами.

Этап первый: расцепление 1-го слова

Подробная инструкция выглядит так:

  1. Создаем 3 новых колонки с заголовками.
  1. Производим выбор той ячейки, в которой мы планируем расположить 1-е слово. Вписываем сюда формулу: =ЛЕВСИМВ(.
  1. Щелкаем левой клавишей мышки на «Аргументы функции».
  1. В поле «Текст» при помощи левой клавиши мышки указываем координаты ячейки. В нашем случае это А1.
  1. В поле «Количество_знаков» вбиваем формулу ПОИСК(), позволяющую автоматически подсчитать число символов до разделителя.
  1. Формула отобразилась в строчке для ввода формул. Жмем на нее ЛКМ, чтобы попасть в окошко «Аргументы функции».
  1. В строчку «Искомый_текст» вбиваем необходимый разделитель. Стандартно – это пробел. В строчку «Текст_для_поиска» вбиваем координату А1.
  1. Жмем ЛКМ на 1-ю функцию, чтобы снова попасть в окошко ее аргументов. Дописываем правее 2-го аргумента значение -1. Это позволит формуле учесть не сам пробел, а знак до него.
  1. Закрываем окошко аргументов, чтобы убедиться в правильном выводе информации.
  1. Растягиваем новую ячейку вниз при помощи зажатия ЛКМ. Формула автоматическим образом подставилась в другие ячейки.

Этап второй: расцепление 2-го слова

Расцепление 2-го слова – это самый сложный этап, так как оно с 2-х сторон окружено разделителями. Подробная инструкция выглядит так:

  1. Для работы нам понадобится формула =ПСТР(. Записываем ее в ячейку, а затем передвигаемся в окошко для ввода аргументов.
  1. Эта формула позволяет отыскать необходимую строчку в текстовой информации. В строчку «Текст» вводим координату А1.
  1. В поле «Начальная_позиция» вбиваем формулу ПОИСК(), позволяющую автоматически подсчитать число символов до разделителя.
  1. Формула отобразилась в строчке для ввода формул. Жмем на нее ЛКМ, чтобы попасть в окошко «Аргументы функции».
  1. В строчку «Искомый_текст» вбиваем необходимый разделитель. Стандартно – это пробел. В строчку «Текст_для_поиска» вбиваем координату А1.
  1. Вернувшись в изначальное окошко, добавляем во второй аргумент значение +1 в конец. Это позволит осуществить начало счета со следующего знака после найденного разделителя.
  1. В строчку «Количество_знаков» снова вводим формулу ПОИСК().
  1. Аргументы оператора заполняем таким же образом, как и выше.
  1. Дополнительно здесь же в поле «Нач_позиция» необходимо еще раз прописать ПОИСК(), чтобы отыскать 2-й разделитель.
  1. Окошко аргументов для оператора ПОИСК() заполняем всем тем же образом, как и ранее.
  1. Передвигаемся к первому ПОИСКУ и добавляем значение +1 в аргумент «Нач_позиция».
  1. Жмем ЛКМ на элемент =ПСТР, находящийся в строчке формул. Наводим указатель в конец строчки «Количество_знаков».
  2. Добавляем в конце значение -ПОИСК(» «;A1)-1), чтобы закончить расчет разделителей.
  1. Закрываем окошко аргументов, чтобы убедиться в правильном выводе информации.
  2. Растягиваем новую ячейку вниз при помощи зажатия ЛКМ. Формула автоматическим образом подставилась в другие ячейки.

Третий этап: расцепление 3-го слова

Этот этап схож с первым, но имеет небольшие отличия. Подробная инструкция выглядит так:

  1. Вбиваем в необходимую ячейку формулу =ПРАВСИМВ( и перемещаемся в окошко аргументов.
  1. В строчку «Текст» вбиваем координату А1.
  1. В строчку «Число_знаков» вбиваем формулу ДЛСТР(А1). Она позволяет выявить число символов в данных.
  1. Добавляем в конец этой строчки знакомое нам значение -ПОИСК(). Передвигаемся в окошко аргументов данной формулы.
  1. Вбиваем уже знакомые нам данные для поиска пробела в строчке.
  1. В строчку «Нач_позиция» вбиваем дополнительный ПОИСК().
  1. Указываем здесь такие же данные.
  1. Возвращаемся к прошлому «ПОИСКУ».
  1. В конец строчки «Нач_позиция» добавляем значение +1.
  1. Подтверждаем все внесенные изменения.
  1. Готово! Мы реализовали процедуру расцепления 3-х слов. Каждое слово находится в отдельной колонке.

Заключение

Мы рассмотрели два способа расцепления текста в табличном редакторе. Второй способ является наиболее эффективным, но для его реализации необходимо выполнить большое количество действий. Понимание работы процедуры расцепления значительно облегчит пользователям работу в табличном редакторе.

Применение функции ПСТР в Microsoft Excel

Функция ПСТР в Microsoft Excel

В некоторых случаях перед пользователем стоит задача вернуть в целевую ячейку из другой ячейки определенное количество символов, начиная с указанного по счету знака слева. С этой задачей прекрасно справляется функция ПСТР. Ещё больше увеличивается её функционал, если в сочетание с ней применять другие операторы, например ПОИСК или НАЙТИ. Давайте подробнее разберем, в чем заключаются возможности функции ПСТР и посмотрим, как она работает на конкретных примерах.

Использование ПСТР

Основная задача оператора ПСТР заключается в извлечении из указанного элемента листа определенного числа печатных знаков, включая пробелы, начиная с указанного по счету слева символа. Данная функция относится к категории текстовых операторов. Её синтаксис принимает следующий вид:

Как видим, данная формула состоит из трех аргументов. Все они являются обязательными.

Аргумент «Текст» содержит адрес того элемента листа, в котором находится текстовое выражение с извлекаемыми знаками.

Аргумент «Начальная позиция» представлен в виде числа, которое указывает, с какого знака по счету, начиная слева, нужно производить извлечение. Первый знак считается за «1», второй за «2» и т.д. В подсчете учитываются даже пробелы.

Аргумент «Количество знаков» содержит в себе числовой указатель количества символов, начиная от начальной позиции, которые нужно извлечь в целевую ячейку. При подсчете так же, как и у предыдущего аргумента, учитываются пробелы.

Пример 1: единичное извлечение

Описывать примеры применения функции ПСТР начнем с самого простого случая, когда нужно извлечь единичное выражение. Конечно, подобные варианты на практике применяются крайне редко, поэтому мы приводим данный пример только в качестве ознакомления с принципами работы указанного оператора.

Итак, у нас имеется таблица работников предприятия. В первой колонке указаны имена, фамилии и отчества сотрудников. Нам нужно с помощью оператора ПСТР извлечь только фамилию первого лица из списка Петра Ивановича Николаева в указанную ячейку.

Переход в Мастер функций в Microsoft Excel

    Выделяем элемент листа, в который будет производиться извлечение. Щелкаем по кнопке «Вставить функцию», которая расположена около строки формул.

В поле «Текст» вводим координаты ячейки, которая содержит ФИО работников. Чтобы не вбивать адрес вручную, просто устанавливаем курсор в поле и кликаем левой кнопкой мыши по элементу на листе, в котором содержатся нужные нам данные.

В поле «Начальная позиция» нужно указать номер символа, считая слева, с которого начинается фамилия работника. При подсчете учитываем также пробелы. Буква «Н», с которой начинается фамилия сотрудника Николаева, является пятнадцатым по счету символом. Поэтому в поле ставим число «15».

В поле «Количество знаков» нужно указать количество символов, из которых состоит фамилия. Она состоит из восьми знаков. Но учитывая, что после фамилии в ячейке нет больше символов, мы можем указать и большее количество знаков. То есть, в нашем случае можно поставить любое число, которое равно или больше восьми. Ставим, например, число «10». Но если бы после фамилии в ячейке были бы ещё слова, цифры или другие символы, то нам бы пришлось устанавливать только точное число знаков («8»).

Lumpics.ru

Пример 2: групповое извлечение

Но, естественно, в практических целях легче вручную вбивать одиночную фамилию, чем применять для этого формулу. А вот для перенесения группы данных использование функции будет вполне целесообразным.

Имеем список смартфонов. Перед наименованием каждой модели стоит слово «Смартфон». Нам нужно вынести в отдельный столбец только названия моделей без этого слова.

    Выделяем первый пустой элемент столбца, в который будет выводиться результат, и вызываем окно аргументов оператора ПСТР тем же способом, что и в предыдущем примере.

В поле «Текст» указываем адрес первого элемента колонки с исходными данными.

В поле «Начальная позиция» нам нужно указать номер символа, начиная с которого будут извлекаться данные. В нашем случае в каждой ячейке перед наименованием модели стоит слово «Смартфон» и пробел. Таким образом, та фраза, которую нужно вывести в отдельную ячейку везде начинается с десятого символа. Устанавливаем число «10» в данное поле.

В поле «Количество знаков» нужно установить то число символов, которое содержит выводимое словосочетание. Как видим, в наименовании каждой модели разное число символов. Но спасает ситуацию тот факт, что после названия модели, текст в ячейках заканчивается. Поэтому мы можем установить в данное поле любое число, которое равно или больше количеству символов в самом длинном наименовании в данном списке. Устанавливаем произвольное количество знаков «50». Название ни одного из перечисленных смартфонов не превышает 50 символов, поэтому указанный вариант нам подходит.

Чтобы «отвязать» результат от первоначальной колонки, производим следующие манипуляции. Выделяем столбец, который содержит формулу. Далее переходим во вкладку «Главная» и жмем на пиктограмму «Копировать», расположенную в блоке «Буфер обмена» на ленте.

Копирование в Microsoft Excel

Пример 3: использование комбинации операторов

Но все-таки указанный выше пример ограничен тем, что первое слово во всех исходных ячеек должно иметь равное количество символов. Применение вместе с функцией ПСТР операторов ПОИСК или НАЙТИ позволит значительно расширить возможности использования формулы.

Текстовые операторы ПОИСК и НАЙТИ возвращают позицию указанного символа в просматриваемом тексте.

Синтаксис функции ПОИСК следующий:

Синтаксис оператора НАЙТИ выглядит таким образом:

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

Посмотрим, как использовать оператор ПОИСК в сочетании с функцией ПСТР. Имеем таблицу, в которую занесены наименования различных моделей компьютерной техники с обобщающим названием. Как и в прошлый раз, нам нужно извлечь наименование моделей без обобщающего названия. Трудность состоит в том, что если в предыдущем примере обобщающее наименование для всех позиций было одно и то же («смартфон»), то в настоящем списке оно разное («компьютер», «монитор», «колонки» и т.д.) с различным числом символов. Чтобы решить данную проблему нам и понадобится оператор ПОИСК, который мы вложим в функцию ПСТР.

    Производим выделения первой ячейки столбца, куда будут выводиться данные, и уже привычным способом вызываем окно аргументов функции ПСТР.

В поле «Текст для поиска» указываем ссылку на первую ячейку колонки с исходными данными. Эта ссылка будет тождественна той, которую мы ранее указали в поле «Текст» в окне аргументов оператора ПСТР.

Аргумент поля «Начальная позиция» не обязателен к заполнению. В нашем случае его заполнять не нужно либо можно установить число «1». При любом из этих вариантов поиск будет осуществляться с начала текста.

В поле «Количество знаков», как и в предыдущем примере, записываем любое число, которое больше или равно количеству символов в самом длинном выражении исходного столбца. Например, ставим число «50». В нашем случае этого вполне достаточно.

Функция НАЙТИ используется в сочетании с формулой ПСТР по тому же принципу, что и оператор ПОИСК.

Как видим, функция ПСТР является очень удобным инструментом для вывода нужных данных в заранее указанную ячейку. То, что она не так сильно популярна среди пользователей, объясняется тем фактом, что многие юзеры, используя Excel, большее внимание уделяют математическим функциям, а не текстовым. При использовании данной формулы в сочетании с другими операторами функциональность её ещё больше увеличивается.

Как извлечь часть текста в Эксель

Извлечение части текста – самая распространенная задача при работе с текстом в Excel. Часто к этой задаче и сводится вся работа над текстом. Чтобы получить часть символов из строки, нужно владеть функциями поиска, удаления лишних символов, определения длины строки и др.

Для получения части текста, в Эксель есть 3 функции:

  1. ЛЕВСИМВ(Строка; Количество_символов) – выводит заданное количество символов с левого края. Например, =ЛЕВСИМВ(А1;10) выведет 10 первых символов строки в ячейке А1 . Функция имеет 2 обязательных аргумента – Строка-источник и количество выводимых символов;
  1. ПРАВСИМВ(Строка; Количество_символов) – функция схожа с предыдущей, она выводит заданное количество символов справа. То есть, =ПРАВСИМВ(А1;10) в результате выдаст 10 последних символов из строки А1 .
  1. ПСТР(Строка; Начальный_символ; Количество символов) – выбирает из текста нужное количество знаков, начиная с заданного. Например, =ПСТР(А1;5;3) выведет 3 символа начиная с 5-го (5-7 символы строки).

Все эти функции в подсчёте количества символов учитывают лишние пробелы, непечатаемые символы, поэтому рекомендую сначала очистить текст от лишних знаков.

Функции ЛЕВИСМВ, ПРАВСИМВ, ПСТР – это простой и мощный инструмент, если используется в комбинации с другими текстовыми функциями. Вы увидите это в уроке-практикуме по строчным функциям.

А следующий пост мы посвятим поиску нужного текста в строке. Заходите и читайте. Только хорошее владение функциями позволит вам эффективно выполнять задачи в Microsoft Excel!

Если вы еще не прочли посты о написании формул и применении функций – обязательно это сделайте, без них изучение функций Excel будет сложнее и дольше!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *