Darbe.ru

Быт техника Дарби
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как найти текст, слова и символы в Excel? Удаление строк по шаблону

Как найти текст, слова и символы в Excel? Удаление строк по шаблону

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

Как найти заданные слова в строках Excel? Поиск слов, букв, цифр и символов в Excel

Простейшим способом поиска заданного слова, буквы, цифры, символа либо сочетания из них является стандартный поиск. Все параметры для поиска вводятся в диалоговом окне «Найти и заменить», которое можно вызвать из главного меню, либо при помощи сочетания горячих клавиш «Ctrl+f» (где f-первая буква английского слова find – найти). Кроме обычного поиска можно выполнять также поиск с заменой.

Использование фильтров для поиска заданного слова, буквы, цифры или символа в Excel

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

Как программно найти и удалить определенные строки в Excel, используя VBA-оператор Like?

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

Для того, чтобы перенести этот программный код на свой компьютер, наведите курсор мыши на поле с программным кодом, нажмите на одну из двух кнопкок knopka_view_sourceв правом верхнем углу этого поля, скопируйте программный код и вставьте его в модуль проекта на своем компьютере (подробнее о том, как сохранить программный код макроса).

В этом макросе для поиска необходимых фраз используется нечеткий поиск и VBA-оператор сравнения Like, позволяющий сравнивать строки с образцом. При сравнении строк этот оператор различает буквы верхнего и нижнего регистра и результат сравнения зависит от инструкции Option Compare.

Для решения подобных задач могут использоваться также VBA-функции Instr и Find.

Аналогичные действия выполняет надстройка для Excel, использование которой позволяет вводить искомый текст без специальных символов в диалоговом окне и задавать различные области поиска.

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

Нажимаем копировать в главном меню. Либо сочетание клавиш Ctrl + C. Можно по выделенной таблице щелкнуть правой кнопкой мыши и нажать «копировать». Открываем лист Word.

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

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

Как выделить определенные ячейки в Excel?

  1. Чтобы выделить ячейку, щелкните ее. .
  2. Чтобы выбрать диапазон, выберем ячейку, а затем, нажимая левую кнопку мыши, перетащите указатель мыши над другими ячейками. .
  3. Чтобы выделить несмежные ячейки и диапазоны ячеек, выберите их, удерживая нажатой клавишу CTRL.

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

  1. В Excel выделите данные и нажмите клавиши CTRL+C.
  2. Откройте другое приложение Office, щелкните в том месте, где вы хотите вставить данные, и нажмите клавиши CTRL+V.
  3. Нажмите кнопку Параметры вставки рядом с данными и выберите нужный вариант вставки. Сохранить исходное форматирование.

Как перевести формулу в число в Excel?

  1. Выделите все ячейки с формулами, которые Вы хотите преобразовать.
  2. Нажмите Ctrl+C или Ctrl+Ins , чтобы скопировать формулы и их результаты в буфер обмена.
  3. Нажмите Shift+F10 , а затем V (или букву З – в русском Excel), чтобы вставить только значения обратно в те же ячейки Excel.
Читайте так же:
Можно ли заморозить вареную куриную грудку

Как перенести данные из ХЛ в Ворд?

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

Как связать Word и Excel 2016?

  1. создадим пустой документ;
  2. перейдём на вкладку «Рассылки»;
  3. в блоке кнопок «Начало слияния» нажимаем кнопку «Начать слияние»;
  4. выбираем пункт «Обычный документ Word».

Как перенести данные из таблицы Word в Excel?

  1. Выберите в документе Word строки и столбцы таблицы, которые вы хотите скопировать на лист Excel. .
  2. Чтобы скопировать выделенный фрагмент, нажмите клавиши CTRL+C.
  3. На листе Excel выделите левый верхний угол области, в которую нужно вставить таблицу Word. .
  4. Нажмите клавиши CTRL+V.

Как в Excel перенести данные из одного файла в другой?

  1. Щелкните ярлычок листа правой кнопкой мыши и выберите команду Переместить или скопировать.
  2. Установите флажок Создать копию.
  3. В разделе перед листом укажите, куда вы хотите поместить копию.
  4. Нажмите кнопку ОК.

Как скопировать данные в Excel?

  1. Выделите ячейку или диапазон ячеек.
  2. Нажмите кнопку Копировать или клавиши CTRL+C.
  3. Нажмите кнопку Вставить или клавиши CTRL+V.

Как выделить в Экселе строки с определенным словом?

(3) Если вы хотите выделить строки, если ячейки начинаются с определенного текста, вам необходимо ввести = ЛЕВЫЙ (B2,5 $) = «Яблоко»; или чтобы выделить строки, если ячейки заканчиваются определенным текстом, введите = ВПРАВО (B2,5 $) = «Яблоко». 4. Теперь открывается диалоговое окно Формат ячеек.

Как обвести ячейки в Excel?

  1. Обведите ячейку овальной формы
  2. Обведите ячейку с помощью VBA.
  3. Нажмите Вставить > ФормыИ выберите Овал форма из Основные формы раздел в списке. .
  4. Щелкните фигуру правой кнопкой мыши и выберите Форма форматирования из контекстного меню.

Как выбрать ячейки в Excel через одну?

Поставьте курсор в любую ячейку строки, которую нужно выделить и нажмите комбинацию Shift+Пробел. Для выделения столбца пользуйтесь комбинацией Ctrl+Пробел Чтобы выделить несмежные строки и столбцы – зажмите Ctrl и кликайте по именам столбцов и номерам строк. После завершения – отпустите Ctrl.

Поиск на листе Excel

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

Поиск перебором значений

Довольно простой в реализации способ. Например, найти в колонке «A» ячейку, содержащую «123» можно примерно так:

Минусами этого так сказать «классического» способа являются: медленная работа и громоздкость. А плюсом является его гибкость, т.к. таким способом можно реализовать сколь угодно сложные варианты поиска с различными вычислениями и т.п.

Поиск функцией Find

Гораздо быстрее обычного перебора и при этом довольно гибкий. В простейшем случае, чтобы найти в колонке A ячейку, содержащую «123» достаточно такого кода:

Вкратце опишу что делают строчки данного кода:
1-я строка: Выбираем в книге лист «Данные»;
2-я строка: Осуществляем поиск значения «123» в колонке «A», результат поиска будет в fcell;
3-я строка: Если удалось найти значение, то fcell будет содержать Range-объект, в противном случае — будет пустой, т.е. Nothing.

Полностью синтаксис оператора поиска выглядит так:

Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

What — Строка с текстом, который ищем или любой другой тип данных Excel

After — Ячейка, после которой начать поиск. Обратите внимание, что это должна быть именно единичная ячейка, а не диапазон. Поиск начинается после этой ячейки, а не с нее. Поиск в этой ячейке произойдет только когда весь диапазон будет просмотрен и поиск начнется с начала диапазона и до этой ячейки включительно.

Читайте так же:
Можно ли заново зарегистрироваться на госуслугах

LookIn — Тип искомых данных. Может принимать одно из значений: xlFormulas (формулы), xlValues (значения), или xlNotes (примечания).

LookAt — Одно из значений: xlWhole (полное совпадение) или xlPart (частичное совпадение).

SearchOrder — Одно из значений: xlByRows (просматривать по строкам) или xlByColumns (просматривать по столбцам)

SearchDirection — Одно из значений: xlNext (поиск вперед) или xlPrevious (поиск назад)

MatchCase — Одно из значений: True (поиск чувствительный к регистру) или False (поиск без учета регистра)

MatchByte — Применяется при использовании мультибайтных кодировок: True (найденный мультибайтный символ должен соответствовать только мультибайтному символу) или False (найденный мультибайтный символ может соответствовать однобайтному символу)

SearchFormat — Используется вместе с FindFormat. Сначала задается значение FindFormat (например, для поиска ячеек с курсивным шрифтом так: Application.FindFormat.Font.Italic = True), а потом при использовании метода Find указываем параметр SearchFormat = True. Если при поиске не нужно учитывать формат ячеек, то нужно указать SearchFormat = False.

Чтобы продолжить поиск, можно использовать FindNext (искать «далее») или FindPrevious (искать «назад»).

Примеры поиска функцией Find

Пример 1: Найти в диапазоне «A1:A50» все ячейки с текстом «asd» и поменять их все на «qwe»

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

Пример 2: Правильный поиск значения с использованием FindNext, не приводящий к зацикливанию.

В ниже следующем примере используется другой вариант продолжения поиска — с помощью той же функции Find с параметром After. Когда найдена очередная ячейка, следующий поиск будет осуществляться уже после нее. Однако, как и с FindNext, когда будет достигнут конец диапазона, Find продолжит поиск с его начала, поэтому, чтобы не произошло зацикливания, необходимо проверять совпадение с первым результатом поиска.

Пример 3: Продолжение поиска с использованием Find с параметром After.

Следующий пример демонстрирует применение SearchFormat для поиска по формату ячейки. Для указания формата необходимо задать свойство FindFormat.

Пример 4: Найти все ячейки с шрифтом «курсив» и поменять их формат на обычный (не «курсив»)

Примечание: В данном примере намеренно не используется FindNext для поиска следующей ячейки, т.к. он не учитывает формат (статья об этом: https://support.microsoft.com/ru-ru/kb/282151)

Коротко опишу алгоритм поиска Примера 4. Первые две строки определяют последнюю строку (lLastRow) на листе и последний столбец (lLastCol). 3-я строка задает формат поиска, в данном случае, будем искать ячейки с шрифтом Italic. 4-я строка определяет область ячеек с которой будет работать программа (с ячейки A1 и до последней строки и последнего столбца). 5-я строка осуществляет поиск с использованием SearchFormat. 6-я строка — цикл пока результат поиска не будет пустым. 7-я строка — меняем шрифт на обычный (не курсив), 8-я строка продолжаем поиск после найденной ячейки.

Хочу обратить внимание на то, что в этом примере я не стал использовать «защиту от зацикливания», как в Примерах 2 и 3, т.к. шрифт меняется и после «прохождения» по всем ячейкам, больше не останется ни одной ячейки с курсивом.

Свойство FindFormat можно задавать разными способами, например, так:

Поиск последней заполненной ячейки с помощью Find

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

Пример 5: Найти последнюю колонку и столбец, заполненные данными

Для поиска функцией Find по маске (шаблону) можно применять символы:
* — для обозначения любого количества любых символов;
? — для обозначения одного любого символа;

— для обозначения символов *, ? и

. (т.е. чтобы искать в тексте вопросительный знак, нужно написать

?, чтобы искать именно звездочку (*), нужно написать

* и наконец, чтобы найти в тексте тильду, необходимо написать

Поиск в скрытых строках и столбцах

Для поиска в скрытых ячейках нужно учитывать лишь один нюанс: поиск нужно осуществлять в формулах, а не в значениях, т.е. нужно использовать LookIn:=xlFormulas

Читайте так же:
Защита книги excel от редактирования

Поиск даты с помощью Find

Если необходимо найти текущую дату или какую-то другую дату на листе Excel или в диапазоне с помощью Find, необходимо учитывать несколько нюансов:

  • Тип данных Date в VBA представляется в виде #[месяц]/[день]/[год]#, соответственно, если необходимо найти фиксированную дату, например, 01 марта 2018 года, необходимо искать #3/1/2018#, а не «01.03.2018»
  • В зависимости от формата ячеек, дата может выглядеть по-разному, поэтому, чтобы искать дату независимо от формата, поиск нужно делать не в значениях, а в формулах, т.е. использовать LookIn:=xlFormulas

Приведу несколько примеров поиска даты.

Пример 7: Найти текущую дату на листе независимо от формата отображения даты.

Пример 8: Найти 1 марта 2018 г.

Искать часть даты — сложнее. Например, чтобы найти все ячейки, где месяц «март», недостаточно искать «03» или «3». Не работает с датами так же и поиск по шаблону. Единственный вариант, который я нашел — это выбрать формат в котором месяц прописью для ячеек с датами и искать слово «март» в xlValues.

Тем не менее, можно найти, например, 1 марта независимо от года.

Пример 9: Найти 1 марта любого года.

Книги по теме:

Посмотреть все книги по программированию

Комментарии к статье:

10.09.17 ДмитрийОчень толковая и полезная статья. Помогла мне существенно ускорить мой код. Спасибо!
23.11.17 ГостьСпасибо, хорошая статья.
03.12.17 ВладимирСпасибо! Использую в своих проектах.
07.12.17 ЭдСпасибо, очень пригодилась Ваша статья!
19.01.18 Николай.find не ищет значение в ячейке, если ячейка в скрытой строке.
.match позволяет не беспокоится о том, что на листах с источниками данных строка с искомым значением будет скрыта из-за установленного фильтра.
05.02.18 ВладимирБольшое спасибо! Очень толково и понятно.
11.03.18 ГостьЗдравствуйте,
А если мне требуется найти ячейку в определенном столбце с определенным значением, например «строка 1» и если я нахожу такую, то через несколько строк(неизвестно сколько) мне нужно раскрасить следующую ячейку в другом столбце(самую ближайшую) и остановить цикл, и опять по новой искать дальше «строка 1». Можете посоветовать?
26.03.18 ГостьСпасибо! Все бы так описывали! Все доступно и понятно))
23.05.18 АркадийВ VBA я новичок. Активно использую интернет для своих вопросов, однако таких информативных, лаконичных и простых в понимании сайтов не много. Огромное спасибо автору! Адрес уже в закладках.
21.07.18 ГостьСпасибо! Уже несколько недель искала подобное!
25.07.18 JoannМетод .find (в случае далнейших множественных обращений к этому механизму) разумно вынести в отдельную функцию, как из управляющей процедуры передать в эту функцию ее параметры (обязательный текстовый параметр ‘what:=’ — передается без проблем, а вот значения (‘xlValues’, ‘xlWhole’, . ) для ‘LookIn:=’, ‘LookAt:=’, . — приводят к ошибке)?
15.08.18 МаратСпасибо за статью, пополнил свои знания в части метода Find. Простые переборы хороши на небольших диапазонах. А когда нужно обработать сотни тысяч ячеек, Find — хороший инструмент!
28.08.18 ГостьПознавательно и подробно. Спасибо за статью.
16.10.18 ГостьХорошая статья. Спасибо
29.10.18 SegaПолезная статейка. Спасибо.
14.11.18 ГостьСтатья для начинающих, а тонкости поиска по дате нет ни одного примера
02.02.19 ИбрагимЧушь полная, плагиат!
01.03.19 inexsu.wordpress.comLoop While Not c Is Nothing And c.Address <> firstResult
Когда c станет Nothing, c.Address даст ошибку
Решение https://inexsu.wordpress.com/2018/03/05/range-findnext-method/
01.03.19 АдминистраторВы правы, такое действительно может произойти, например, если менять значения найденных ячеек. Т.е., например, ищем значения «asd» и меняем их на «qwe». При замене последнего значения, FindNext ничего уже не найдет, вернет Nothing и произойдет ошибка в условии.
Внес изменения в статье. Спасибо вам за подсказку.
07.04.19 ГостьДобрый день. есть 2 таблица на разных листах. макрос нашел нужные ячейки с ИНН по 1 условию, затем мне надо чтобы макрос нашел в таблице 2 на листе 2 все названия клиентов с инн по условию 1 из таблицы 1 с листа 1. как тогда использовать find.
07.04.19 ГостьЛучше использовать функцию ВПР
21.05.19 ГостьОчень подробная статья. Отдельное спасибо за множество примеров.
17.10.19 МихаилСпасибо большое все понятно доступно и очень полезно
31.10.19 ГостьСпасибо.
01.11.19 Гостьку
01.11.19 Гость2 раза
19.11.19 KamolОтлично.
Поиск с двумя значениями Пример в колонке А="123" и В="456"
25.12.19 ГостьСпасибо!
05.03.20 ГостьДобрый день!
Спасибо за код автору
Вопрос

Как сделать поиск слова по, но с любым регистром и любым набором символов
Пример: Я ввожу слово через Textbox
В таблице есть слово компьютер, колодец, ком
Нужно, чтобы программа находила по запросу "омпьюте", "пьюте" слово компьютер а по запросу "ком" слова компьютер и ком"

Как в таблице excel найти нужное слово

Проблемы с отображением видео:

  • Не видно видео примеров?

  • Facebook
  • YouTube
  • Pinterest
  • Twitter
  • Главная
  • Приемы Excel
    • Начинающим
    • Возможности
    • Хитрости
    • Сводные таблицы
    • Диаграммы, графики
    • Макросы
    • Скачать надстройку
    • Справка
      • Установка и настройка
      • Команды
      • Функции (формулы)
      • Продвинутый курс MS Excel
      • Сводные таблицы MS Excel
      • Диаграммы MS Excel

      Как быстро найти дубликаты в списке?

      В одной из предыдущих статей мы рассмотрели вопрос: » Как быстро удалить дубликаты в списке? «. В этом материале я расскажу о трех способах поиска дубликатов в списке.

      Первый способ (сортировка):

      Выделяем наш список, в котором необходимо найти повторяющиеся значения, переходим во вкладку меню «Данные», в разделе «Сортировка и фильтр» нажимаем кнопку » Сортировка по убыванию » или «Сортировка по возрастанию»:

      kak-bystro-najti-dublikaty-v-spiske_9.png

      Наш список будет отсортирован и в нем визуально будет проще найти повторяющиеся значения:

      kak-bystro-najti-dublikaty-v-spiske_10.png

      Второй способ (условное форматирование):

      Выделяем наш список, в котором необходимо найти повторяющиеся значения, переходим во вкладку меню «Главная», в разделе «Стили» нажимаем «Условное форматирование» в выпавшем списке выбираем пункт «Правила выделения ячеек», в списке вариантов выбираем «Повторяющиеся значения. «:

      Как быстро найти дубликаты в списке?

      В открывшемся диалоговом окне нажимаем «ОК»:

      kak-bystro-najti-dublikaty-v-spiske_2.png

      Все повторяющиеся значения в списке будут выделены цветом:

      kak-bystro-najti-dublikaty-v-spiske_3.png

      Третий способ (сводная таблица):

      Выделяем наш список, в котором необходимо найти повторяющиеся значения, переходим во вкладку меню «Вставка», в разделе «Таблицы» нажимаем кнопку «Сводная таблица»:

      kak-bystro-najti-dublikaty-v-spiske_4.png

      В открывшемся диалоговом окне нажимаем «ОК»:

      kak-bystro-najti-dublikaty-v-spiske_5.png

      Перетаскиваем поле со списком (в моем случае это «Фамилия») в «СТРОКИ» и в «ЗНАЧЕНИЯ»:

      kak-bystro-najti-dublikaty-v-spiske_6.png

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

      kak-bystro-najti-dublikaty-v-spiske_7.png

      В верхней части сводной таблицы получаем все повторяющиеся данные с количеством повторов:

      kak-bystro-najti-dublikaty-v-spiske_8.png

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      голоса
      Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector