ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше
В этой статье описаны синтаксис формулы и использование функций ПОИСК и ПОИСКБ в Microsoft Excel.
Описание
Функции ПОИСК И ПОИСКБ находят одну текстовую строку в другой и возвращают начальную позицию первой текстовой строки (считая от первого символа второй текстовой строки). Например, чтобы найти позицию буквы “n” в слове “printer”, можно использовать следующую функцию:
=ПОИСК(“н”;”принтер”)
Эта функция возвращает 4, так как “н” является четвертым символом в слове “принтер”.
Можно также находить слова в других словах. Например, функция
=ПОИСК(“base”;”database”)
возвращает 5, так как слово “base” начинается с пятого символа слова “database”. Можно использовать функции ПОИСК и ПОИСКБ для определения положения символа или текстовой строки в другой текстовой строке, а затем вернуть текст с помощью функций ПСТР и ПСТРБ или заменить его с помощью функций ЗАМЕНИТЬ и ЗАМЕНИТЬБ. Эти функции показаны в примере 1 данной статьи.
Важно:
-
Эти функции могут быть доступны не на всех языках.
-
Функция ПОИСКБ отсчитывает по два байта на каждый символ, только если языком по умолчанию является язык с поддержкой БДЦС. В противном случае функция ПОИСКБ работает так же, как функция ПОИСК, и отсчитывает по одному байту на каждый символ.
К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.
Синтаксис
ПОИСК(искомый_текст;просматриваемый_текст;[начальная_позиция])
ПОИСКБ(искомый_текст;просматриваемый_текст;[начальная_позиция])
Аргументы функций ПОИСК и ПОИСКБ описаны ниже.
-
Искомый_текст Обязательный. Текст, который требуется найти.
-
Просматриваемый_текст Обязательный. Текст, в котором нужно найти значение аргумента искомый_текст.
-
Начальная_позиция Необязательный. Номер знака в аргументе просматриваемый_текст, с которого следует начать поиск.
Замечание
-
Функции ПОИСК и ПОИСКБ не учитывают регистр. Если требуется учитывать регистр, используйте функции НАЙТИ и НАЙТИБ.
-
В аргументе искомый_текст можно использовать подстановочные знаки: вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому знаку, звездочка — любой последовательности знаков. Если требуется найти вопросительный знак или звездочку, введите перед ним тильду (~).
-
Если значение find_text не найдено, #VALUE! возвращается значение ошибки.
-
Если аргумент начальная_позиция опущен, то он полагается равным 1.
-
Если start_num больше нуля или больше, чем длина аргумента within_text, #VALUE! возвращается значение ошибки.
-
Аргумент начальная_позиция можно использовать, чтобы пропустить определенное количество знаков. Допустим, что функцию ПОИСК нужно использовать для работы с текстовой строкой “МДС0093.МужскаяОдежда”. Чтобы найти первое вхождение “М” в описательной части текстовой строки, задайте для аргумента начальная_позиция значение 8, чтобы поиск не выполнялся в той части текста, которая является серийным номером (в данном случае — “МДС0093”). Функция ПОИСК начинает поиск с восьмого символа, находит знак, указанный в аргументе искомый_текст, в следующей позиции, и возвращает число 9. Функция ПОИСК всегда возвращает номер знака, считая от начала просматриваемого текста, включая символы, которые пропускаются, если значение аргумента начальная_позиция больше 1.
Примеры
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Данные |
||
Выписки |
||
Доход: маржа |
||
маржа |
||
Здесь “босс”. |
||
Формула |
Описание |
Результат |
=ПОИСК(“и”;A2;6) |
Позиция первого знака “и” в строке ячейки A2, начиная с шестого знака. |
7 |
=ПОИСК(A4;A3) |
Начальная позиция строки “маржа” (искомая строка в ячейке A4) в строке “Доход: маржа” (ячейка, в которой выполняется поиск — A3). |
8 |
=ЗАМЕНИТЬ(A3;ПОИСК(A4;A3);6;”объем”) |
Заменяет слово “маржа” словом “объем”, определяя позицию слова “маржа” в ячейке A3 и заменяя этот знак и последующие пять знаков текстовой строкой “объем.” |
Доход: объем |
=ПСТР(A3;ПОИСК(” “;A3)+1,4) |
Возвращает первые четыре знака, которые следуют за первым пробелом в строке “Доход: маржа” (ячейка A3). |
марж |
=ПОИСК(“”””;A5) |
Позиция первой двойной кавычки (“) в ячейке A5. |
5 |
=ПСТР(A5;ПОИСК(“”””;A5)+1;ПОИСК(“”””;A5;ПОИСК(“”””;A5)+1)-ПОИСК(“”””;A5)-1) |
Возвращает из ячейки A5 только текст, заключенный в двойные кавычки. |
босс |
Нужна дополнительная помощь?
Нужны дополнительные параметры?
Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.
В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.
Пользователи Excel, несмотря на то, что поиск нужного символа кажется довольно простой задачей, часто не понимают, как сделать это. С некоторыми из них проще, с частью – сложнее. Также иногда появляются проблемы с поиском таких символов, как знак вопроса или звездочка из-за того, что они используются в фильтрах. Сегодня мы опишем способы доставать символы самых разных типов.
Содержание
- Как найти в ячейке текстовые символы (буквы и цифры)
- Как найти в ячейке таблицы цифры
- Как узнать, что ячейка Эксель содержит латиницу
- Как найти слова в ячейке, которые содержат кириллицу и латиницу
- Как найти в ячейке заглавные буквы
- Поиск символов в Excel при помощи регулярных выражений
- Что делать с найденными символами
- Удаление лишних символов в Excel
- Извлечение определенных символов в Excel
- Изменение символов в Excel
Как найти в ячейке текстовые символы (буквы и цифры)
Для начала попробуем выполнить самую простую задачу: определить наличие текстовых символов в ячейки и найти тот, который надо. Для этого нужно воспользоваться дополнением !SEMTools, с помощью которого можно искать символы разных типов. Последовательность действий следующая:
- Выделяем тот диапазон, который является изначальным и копируем его в соседнюю колонку.
- Затем выделяем второй диапазон.
- Открываем вкладку «!SEMTools». Там в самой левой части панели инструментов будет вкладка «Обнаружить».
- После этого открываем меню «Символы».
- Затем появится дополнительное меню, в котором надо найти пункт «Буквы-цифры» и нажать на него.
На этой анимации вы можете точно увидеть, как правильно действовать, чтобы отыскать в ячейке текстовые символы. С помощью этой функции надстройки пользователь может определить, а есть ли в других ячейках непечатаемые символы.
Как найти в ячейке таблицы цифры
Иногда нужно определить ячейки, в которой есть цифры, но они находятся вместе с текстом. Когда таких ячеек становится очень много, может быть довольно нелегко определить их. Перед тем, как реализовывать эту задачу, нужно определиться с некоторыми базовыми терминами. Главное наше понятие – «обнаружить». Это означает – проверить, есть ли определенный тип символа в строке. Если да, возвращается значение «ИСТИНА», если нет «ЛОЖЬ». Если же кроме поиска цифр в ячейке пользователь хочет произвести иные действия, то можно воспользоваться дальнейшими разделами этой инструкции.
Второе понятие, которое нужно разобрать – цифры. Это интегральный термин, который обозначает аж 10 символов, которые соответствуют числам от 0 до 9. Соответственно, чтобы проверить наличие чисел, пользователю нужно 10 раз проверить диапазон. Это можно сделать с помощью функции ЕСЛИ, но такой подход требует очень много времени.
Чтобы решить эту проблему, можно воспользоваться специальной формулой, которая выполнит все проверки за один раз: =СЧЁТ(ПОИСК({1:2:3:4:5:6:7:8:9:0};A1))>0. Эта функция имеет тот же синтаксис, что и та, которая ищет кириллические символы в тексте.
Также можно воспользоваться надстройкой, в которой уже вмонтирован макрос для того, чтобы выполнять эту задачу. В таком случае достаточно просто воспользоваться специальной вкладкой !SEMTools, которую нужно применять на дополнительном столбце, который является полной копией того, который является исходным.
Следовательно, набор шагов, которые нужно предпринимать, полностью соответствует предыдущему пункту. Нужно сначала выделить исходный диапазон, скопировать его, а потом выделить появившуюся колонку и применить к ней макрос согласно последовательности шагов, приведенной в этой анимации.
Предположим, нам нужно найти только определенные цифры из всех приведенных. Как можно это сделать? Для начала давайте покажем, как это делать с помощю !SEMTools. Использовать инструмент просто. Достаточно в скобках записывать все нужные цифры, и потом нажать кнопку ОК для подтверждения. С помощью этого же метода можно найти латиницу или найти большие буквы в строке текста.
Также можно воспользоваться формулой для того, чтобы отыскать в диапазоне ячеек необходимые цифры. Для этого надо применять комбинацию функций СЧЕТ и ПОИСК. С ее помощью можно обнаружить не только отдельные цифры, но и целые числовые последовательности: =СЧЁТ(ПОИСК({01:02:03:911:112};A1))>0.
Иногда надо найти числа, отделенные пробелами. В этом случае они называются словами-числами. Чтобы их найти, необходимо также воспользоваться соответствующими инструментами !SEMTools. На этой анимации наглядно показано, какие действия нужно выполнить, чтобы это сделать.
Как узнать, что ячейка Эксель содержит латиницу
Очень часто пользователи Excel смешивают понятия «Найти» и «Извлечь», хотя между ними довольно большая разница. Под первым выражением подразумевают проверку, есть ли определенный символ в текстовой строке или диапазоне данных. В свою очередь, под понятием «Извлечь» подразумевают вытащить нужный символ из текста и передать его другой функции или записать в ячейку.
Что же нужно делать для того, чтобы обнаружить латиницу? Например, можно воспользоваться специальными шрифтами, которые дадут возможность определить английские символы на глаз. Например, это делает шрифт Dubai Medium, который делает английские символы жирными.
Но что же делать, если много данных? В этом случае определения на глаз нужной последовательности значений для того, чтобы проанализировать данные, недостаточно. В этом случае нужно искать способы автоматизации этого процесса. Есть несколько способов, как можно это сделать.
Использование специальной функции
Основная проблема поиска латинских букв, что их в два с половиной раза больше, чем цифр. Следовательно, нужно задавать программе цикл, состоящий из 26 итераций, что может быть довольно напряжно. Но если использовать формулу массива, состоящую из приведенных выше функций СЧЕТ и ПОИСК, то эта затея уже и не кажется настолько сложной: =СЧЁТ(ПОИСК({«a»:»b»:»c»:»d»:»e»:»f»:»g»:»h»:»i»:»j»:»k»:»l»:»m»:»n»:»o»:»p»:»q»:»r»:»s»:»t»:»u»:»v»:»w»:»x»:»y»:»z»};A1))>0. Эта формула вполне подходит для большинства ситуаций. Например, если нет возможности установить соответствующие макросы, которые бы смогли делать это проще и быстрее.
В описанной выше формуле A1 – это та ячейка, в которой осуществляется проверка. Соответственно, вам нужно поставить ту, которая подходит в вашей ситуации. В результате проверки с помощью этой функции возвращается логическое значение. Если совпадения обнаруживаются, то оператор возвращает ИСТИНА, если их нет – ЛОЖЬ.
Функция ПОИСК не дает возможности учитывать регистр при поиске символов. Чтобы это сделать, надо воспользоваться оператором НАЙТИ, который выполняет те же операции, имеет такие же самые аргументы, только уже учитывает регистр. Еще один способ – сделать описанную выше формулу формулой массива. В таком случае она будет иметь следующий вид:{=СЧЁТ(ПОИСК(СИМВОЛ(СТРОКА(65:90));A1))>0}.
Поскольку это формула массива, ее нужно указывать без скобок. При этом после ввода надо нажать комбинацию клавиш Ctrl + Shift + Enter (вместо простого нажатия клавиши ввода, как в случае с обычной функцией), после чего фигурные скобки появятся сами.
Если же нужно найти кириллицу, последовательность действий аналогичная, только в качестве диапазона поиска нужно задавать всю последовательность кириллических символов. =СЧЁТ(ПОИСК({«а»:»б»:»в»:»г»:»д»:»е»:»ё»:»ж»:»з»:»и»:»й»:»к»:»л»:»м»:»н»:»о»:»п»:»р»:»с»:»т»:»у»:»ф»:»х»:»ц»:»ч»:»ш»:»щ»:»ъ»:»ы»:»ь»:»э»:»ю»:»я»};A1))>0. Также можно юзать функцию СИМВОЛ, чтобы сделать это. {=СЧЁТ(ПОИСК(СИМВОЛ(СТРОКА(192:223));A1))>0}
Эта формула должна записываться так, как формула массива. Следовательно, нужно нажать комбинацию клавиш Ctrl + Shift + Enter вместо простого нажатия клавиши ввода. Но есть некоторые исключения, при которых эта функция не будет работать. Нужно предварительно убедиться в том, что язык по умолчанию для программ не в кодировке Unicode стоит русский. В этом случае проблем возникнуть не должно. Эти формулы имеют некоторые отличия между собой. Вместо 33 букв последняя формула применяет только 32. То есть, она не учитывает букву ё, как кириллическую.
В этом случае, аналогично, как и в предыдущем, для поиска нужных символов с учетом регистра, необходимо использовать функцию НАЙТИ. Поэтому можно искать, к примеру, половину алфавита, записанную маленькими буквами и половину, записанную большими. Аргументы те же самые.
Как найти слова в ячейке, которые содержат кириллицу и латиницу
Мы можем логически сделать вывод, что для поиска тех слов, которые содержат и кириллицу, и латиницу, нужно использовать в качестве того, что мы ищем, все символы русского и английского алфавитов.
Как найти в ячейке заглавные буквы
Чтобы найти заглавные буквы, необходимо воспользоваться функцией НАЙТИ, а в качестве аргументов указать заглавные кириллические буквы (или элементы латинского алфавита, если нужно найти их) или же их коды.
При поиске кириллических букв через коды нужно помнить о том, что предварительно таблица ASCII должна быть настроена на русский язык. Простыми словами, чтобы стояла русская локализация.
Если же нужно найти какие-угодно заглавные буквы, независимо от алфавита, в котором их надо искать, нужно использовать функции СТРОЧН и СОВПАД. Последовательность действий следующая:
- Делаем нижний регистр значений в отдельной ячейке.
- Сравниваем результаты с первоначальными.
- После этого используем следующую формулу: =НЕ(СОВПАД(СТРОЧН(A1);A1))
Если эти ячейки не совпадают, это говорит о том, что какой-то из символов в изначальной ячейке был в верхнем регистре.
Поиск символов в Excel при помощи регулярных выражений
Можно также воспользоваться регулярными выражениями для того, чтобы найти символы. Лучше всего это делать с помощью инструмента !SEMTools, поскольку он автоматизирует множество процессов их использования. Спектр использования регулярных выражений в Excel достаточно широк. Мы же остановимся прежде всего на функциях ПОИСК, ЗАМЕНИТЬ, ИЗВЛЕЧЬ.
Приятная новость: эти функции можно использовать как в Гугл таблицах, так и в Excel с этой настройкой.
Первая регулярная функция – REGEXMATCH, которая умеет проверять, похож ли этот паттерн на тот, который был в другой ячейке. Синтаксис: =REGEXMATCH(«текст»;»RegEx-паттерн для поиска»). Эта функция возвращает одно из двух значений: истинное или ложное. Что именно – зависит от того, действительно ли наблюдается соответствие или нет. Вторая функция – =REGEXEXTRACT(«текст»;»RegEx-паттерн для поиска») Она позволяет извлечь нужные символы из строки.
При этом данная функция имеет небольшие отличия от Google Таблиц. Заключается оно в том, что последние в случае ненахождения заданного текста возвращают ошибку, в то время как эта надстройка показывает лишь пустое значение.
Ну и наконец, нужно воспользоваться этой формулой для того, чтобы заменить текст: =REGEXREPLACE(«текст»;»RegEx-паттерн для поиска»;»текст, которым заменяем найденное»).
Что делать с найденными символами
Хорошо. Предположим, мы нашли символы. А что с ними можно делать дальше? Здесь есть несколько возможных вариантов, как можно поступить. Например, можно их удалить. Например, если мы среди кириллических значений нашли латиницу. Также можно заменить ее на аналогичный символ, только в кириллице (например, большую английскую М на русскую М) или же извлечь этот символ для использования в другой формуле.
Удаление лишних символов в Excel
Существует множество способов, как убрать ненужные знаки в Excel. Как один из вариантов – использование функции «Найти и заменить», где заменить тот символ, который нужно убрать, на пустую строку “». Можно воспользоваться теми же регулярными выражениями, которые используются для замены найденного символа.
Извлечение определенных символов в Excel
Для этого можно использовать функцию «Найти», но также можно использовать соответствующее регулярное выражение, где первым аргументом является текст, который надо извлечь, а вторым – та ячейка или диапазон, в которой будет осуществляться поиск.
Изменение символов в Excel
Процедура такая же самая, как и удаление, только искомый символ нужно заменять на другой знак (в том числе, и на непечатаемый), а не писать в соответствующем аргументе пустую строку.
Оцените качество статьи. Нам важно ваше мнение:
Меню «Обнаружить символы» помогает в 1 клик ответить на вопрос, содержатся в ячейке определённые символы или нет.
Казалось бы, невелика задача, найти в ячейке Excel определённый символ или последовательность. Перечислим основные штатные варианты поиска символов:
- Процедура “Найти и заменить” найдет символы в книге, на листе или в диапазоне
- Функции ПОИСК и НАЙТИ укажут позицию искомых символов внутри ячейки
- Функция ПОДСТАВИТЬ (несколько окольный путь, но тоже можно!) попытается заменить символы на пустоту. Если удастся это сделать – строка станет короче, что легко выявить функцией ДЛСТР
- Процедура Фильтр
- ПОИСКПОЗ (с подстановочными символами) вернет адрес ячейки, содержащей искомый символ
- Всесильная функция ВПР (с подстановочными символами) – вернет при поиске первую содержащую символ(ы) ячейку или то, что напротив
Иногда определённые трудности возникают при поиске символов ? и *, см. статью как найти звёздочки в Excel.
Однако не для всех типов символов пригодны и удобны перечисленные варианты. Когда нужно искать не 1 или 2 символа, а целые множества, использование штатных процедур и функций может быть времязатратным и сложным.
Именно для таких случаев я разработал интуитивно понятные процедуры в моей надстройке.
Я выделил среди всех популярных процедур поиска поиск символов по их типу и по начертанию и сделал для них отдельные меню:
Подробнее о процедурах можно прочитать в соответствующих статьях ниже.
Найти символы по типу
- Как найти в ячейке текстовые символы? Буквы и цифры;
- Как найти в ячейке цифры;
- Как узнать, что ячейка содержит латиницу;
- Как найти в ячейке слова, содержащие и кириллицу, и латиницу;
- Как найти в ячейке заглавные буквы.
Найти символы по начертанию
Иногда пользователям нужно выявить, есть ли в ячейках символы в определенном начертании шрифта – жирном, курсиве и подчеркнутом. Для каждой выделена своя процедура.
Поиск символов с помощью регулярных выражений
Регулярные выражения в Excel отсутствуют как штатная возможность, но немного кодинга позволяют включить их поддержку. Что и было сделано для пользователей надстройки. Зная их, вы сможете найти практически любые символы в тексте ячеек.
Помимо самого их наличия, приятный бонус — функции REGEXREPLACE, REGEXEXTRACT и REGEXMATCH доступны бесплатно как в полной, так и в базовой версии.
Похожие и связанные с поиском символов процедуры
Обычно после того, как удалось найти в ячейках определенные символы или сочетания символов, следуют другие операции с ними. Например, можно извлечь, удалить их или заменить на какие-то другие (например, заменить кириллицу на латиницу). В решении подобных задач помогут соответствующие разделы сайта:
- Удалить лишние символы в Excel;
- Извлечь определённые символы в Excel;
- Изменить символы в Excel.
ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)
Смотрите также подстроку заданного размера. полученному числу прибавляется дат. – это я колонке С не арифметические операции (по
Описание
ячейке специальные комбинации символови выглядит так: ПОИСК(). Согласно критерию=ПСТР(A2;1;НАЙТИ(” №”;A2;1)-1)Если “нач_позиция” больше, чем так и двухбайтовый, A2, начиная с или больше, чем В противном случаеВ этой статье описаны Начальная позиция символа единица для нахожденияВид исходной таблицы данных: так полагаю 12
пусто.
смежным столбцам)A1 (^v, ^l). В «?дрель?». В этом «дрел?» (длина 5
Выделяет текст от позиции длина аргумента “просматриваемый_текст”, как один знак,
шестого знака.
длина функция ПОИСКБ работает синтаксис формулы и в строке соответствует позиции первого символаДля заполнения номера дня часть единицы, а- количество строк,Формуляр). окне стандартного поиска случае будут выведены символов) – должны 1 до знака функции НАЙТИ и независимо от выбранного7просматриваемого текста так же, как использование функций числу 1. Если названия марки продукта. используем следующую формулу именно суток), например у которых в: Для этого существуетФормула для подсчета символа
EXCEL использование таких все значения,
-
быть выведены 3 “№” в строке НАЙТИБ, то возвращается
-
по умолчанию языка.=ПОИСК(A4;A3), возвращается значение ошибки функция ПОИСК, иПОИСК данный аргумент принимает Итоговое значение используется (использовать в качестве если надо более колонке D значение обычный Z в слове комбинаций не предусмотрено,
содержащие значения: Дрель, дрель, (“Керамический изолятор”) значение ошибки #ЗНАЧ!.Функция НАЙТИБ при подсчете
Синтаксис
Начальная позиция строки “маржа”
#ЗНАЧ!.
отсчитывает по одномуи
-
дробное число из в качестве аргумента формулы массива):
-
2 дней равно “Ожидание”FIND(find_text,within_text,start_num) Zigzag (с учетом но из ситуациислово дрель, и
-
Дрели.Керамический изоляторАргумент “нач_позиция” можно использовать, рассматривает каждый двухбайтовый (искомая строка вАргумент
Замечание
-
байту на каждыйПОИСКБ диапазона допустимых значений, начальная_позиция функции ПСТР.Описание аргументов:то поставить >2_Boroda_ALARMus регистра), см. файл можно выйти по-другому. у которых есть
-
Для создания списка, содержащего=ПСТР(A3;1;НАЙТИ(” №”;A3;1)-1) чтобы пропустить нужное знак как два ячейке A4) вначальная_позиция символ.в Microsoft Excel. дробная часть будет Для упрощения, вместоA2:A10 – диапазон ячеек ?: Красные ячейки: Именно его я примера:Для поиска, например, спецсимвола перед ним и
-
найденные значения, воспользуемсяВыделяет текст от позиции количество знаков. Предположим, знака, если включена
-
строке “Доход: маржа”можно использовать, чтобыК языкам, поддерживающим БДЦС,Функции
-
усечена; поиска номера последней с текстовым представлениемSerge_007ALARMus и пробовал, или=ДЛСТР(A1) – ДЛСТР(ПОДСТАВИТЬ(A1;”Z”;””)) Разрыв страницы (см.
-
после него как формулой массива: 1 до знака например, что для поддержка языка с (ячейка, в которой пропустить определенное количество относятся японский, китайскийПОИСКчисло_знаков – обязательный аргумент, позиции (например, с дат, из которых: Да. Дни в: вот это спасибо. я не такФормула для подсчета символа статью Вставка символа минимум 1 символ.=ИНДЕКС(Список; “№” в ячейке поиска строки “МДС0093.МесячныеПродажи” БДЦС и такой выполняется поиск — A3). знаков. Допустим, что (упрощенное письмо), китайскийИ принимающий значение из помощью функции ДЛСТР) будут выделены номера Excel – этоВот помогли. (+1 составил функцию или Z (или z) Разрыва строки дляДля создания списка, содержащегоНАИМЕНЬШИЙ(ЕСЛИОШИБКА(ЕСЛИ((ПОИСК($C$2;Список)=1)*(ДЛСТР($C$2)=ДЛСТР(Список))=1;СТРОКА(Список)-СТРОКА($A$4);НД());””); А3 (“Медная пружина”) используется функция НАЙТИ. язык установлен по8 функцию
Примеры
(традиционное письмо) иПОИСКБ диапазона неотрицательных чисел, указано число 100, дней; целая часть числа, exp. для моего одно из двух, в слове Zigzag удобства чтения формул найденные значения, воспользуемсяСТРОКА(ДВССЫЛ(“A1:A”&ЧСТРОК(Список))))Медная пружина
Чтобы найти номер |
||
умолчанию. В противном |
||
=ЗАМЕНИТЬ(A3;ПОИСК(A4;A3);6;”объем”) |
||
ПОИСК |
||
корейский. |
||
находят одну текстовую |
которое характеризует длину |
которое в данном |
1 – номер начальной |
значения даты и опыта) но НАЙТИ если (без учета РЕгиСТра): |
в ячейке) нужно |
формулой массива: |
)=ПСТР(A4;1;НАЙТИ(” №”;A4;1)-1) первого вхождения “М” случае функция НАЙТИБЗаменяет слово “маржа” словомнужно использовать для |
ПОИСК(искомый_текст;просматриваемый_текст;[начальная_позиция]) |
строку в другой |
в символах возвращаемой примере гарантированно превышает позиции символа извлекаемой времени.ALARMus указать диапазон в=ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A1);”z”;””)) сделать следующее: |
=ИНДЕКС(Список;НАИМЕНЬШИЙ( |
Часть формулы ПОИСК($C$2;Список)=1 определяет: |
Выделяет текст от позиции в описательную часть рассматривает каждый знак “объем”, определяя позицию работы с текстовой |
ПОИСКБ(искомый_текст;просматриваемый_текст;[начальная_позиция]) |
и возвращают начальную |
подстроки. Если в количество знаков в подстроки (первый символ |
ЗЫ И можно |
: А еще дополнительный |
котором надо искатьДля подсчета количества пробеловперейти в раскладку Английский |
ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($G$2;Список);СТРОКА(Список)-СТРОКА($A$4);НД());””); |
support.office.com
НАЙТИ, НАЙТИБ (функции НАЙТИ, НАЙТИБ)
начинается 1 до знака текстовой строки, задайте как один знак. слова “маржа” в строкой “МДС0093.МужскаяОдежда”. ЧтобыАргументы функций ПОИСК и
Описание
позицию первой текстовой качестве этого аргумента изначальной строке. в исходной строке); не вводить как вопрос. ищет до первого
(код символа пробела (США)
-
СТРОКА(ДВССЫЛ(“A1:A”&ЧСТРОК(Список))))ли значение из “№” в ячейке
-
значение аргумента “нач_позиция”К языкам, поддерживающим БДЦС, ячейке A3 и найти первое вхождение ПОИСКБ описаны ниже. строки (считая от передано число 0В результате расчетов получим:2 – номер последней формулу массива
-
Если у функции найденного. – 32) внажать) диапазона А4 (“Переменный резистор”)
-
равным 8, чтобы относятся японский, китайский заменяя этот знак “М” в описательнойИскомый_текст первого символа второй (нуль), функция ПСТРПример 3. В таблице позиции символа извлекаемойALARMus есть координаты ячеек
По крайней мере ячейке используйте формулу:CTRL+FЧасть формулы ПОИСК($G$2;Список) определяет:A5:A13
Синтаксис
Переменный резистор
поиск в той
(упрощенное письмо), китайский и последующие пять
-
части текстовой строки, Обязательный. Текст, который требуется текстовой строки). Например,
-
вернет пустую строку. содержатся данные о подстроки.: Что-то не все
-
с другого листа,200?’200px’:”+(this.scrollHeight+5)+’px’);”>=СУММПРОИЗВ((ЕСЛИОШИБКА(((НАЙТИ(“искомое слово”;’2012.07′!C2:C29))>0);0))*1)=ДЛСТР(A1) – ДЛСТР(ПОДСТАВИТЬ(A1;СИМВОЛ(32);””));содержитс фразы «дрел?».Найдем текстовые значения, удовлетворяющие части текста, которая (традиционное письмо) и
Замечания
-
знаков текстовой строкой задайте для аргумента найти. чтобы найти позицию Если аргумент задан сотрудниках в столбцахАналогичным способом выделим номера получается. то пишется этоДало результат 1,
-
В статье Подсчет вхожденийустановить курсор в полели значение изЧасть формулы ДЛСТР($C$2)=ДЛСТР(Список) заданному пользователем критерию. является серийным номером, корейский. “объем.”начальная_позиция
-
Просматриваемый_текст буквы “n” в
-
числом, превышающим количество ФИО и дата месяца и годыПервая часть подсчет так (‘Лист1’!;…;..)
-
хотя строк содержащих последовательности символов показано, Найти; диапазона
-
определяет: Критерии заданы с не производился. ФункцияНАЙТИ(искомый_текст;просматриваемый_текст;[нач_позиция])Доход: объем
-
значение 8, чтобы Обязательный. Текст, в котором слове “printer”, можно символов в строке, рождения. Создать столбец, для заполнения соответствующих и отбор строкКак вместо указания “искомое слово” гараздо как подсчитать количествоудерживая клавишу ALT, набратьA5:A13равна ли длина строки использованием подстановочных знаков. НАЙТИ начинает соНАЙТИБ(искомый_текст;просматриваемый_текст;[нач_позиция])=ПСТР(A3;ПОИСК(” “;A3)+1,4) поиск не выполнялся нужно найти значение использовать следующую функцию: будет возвращена вся в котором будет столбцов с учетом, содержащих определенный текст конкретного имени листа больше. Ну как вхождений некоторой последовательности
Примеры
на цифровой клавиатурефразу «?дрел?». Критериюзначения из диапазона Поиск будем осуществлять знака 8, находитАргументы функций НАЙТИ иВозвращает первые четыре знака, в той части аргумента=ПОИСК(“н”;”принтер”) часть строки начиная отображаться фамилия сотрудника что номер месяца
работает, а вот |
||
указать значение ячейки, |
||
понимаете я расчитывал |
символов в текстовой |
(блок цифр справа) |
также будут соответствовать |
A5:A13 в диапазоне с |
искомый_текст в следующем |
НАЙТИБ описаны ниже. |
которые следуют за текста, которая является |
искомый_текст |
Эта функция возвращает |
с указанной вторым и его возраст начинается с 4-го |
попробовал сделать тоже |
Пример 2
сама ячейка содержит |
||
получить количество строк |
||
строке. |
||
0010; |
||
значения содержащие фразы |
5 символам? |
повторяющимися значениями. При |
знаке и возвращает |
Искомый_текст первым пробелом в серийным номером (в. |
4 |
аргументом позиции. В |
в формате «Иванов символа в каждой самое для НЕ как раз имя |
содержащих “искомое слово”. |
О поиске позиции n-го |
отпустить ALT (символ может 5дрел7, Адрелу иЗнак * (умножить) между наличии повторов, можно |
число 9. Функция |
support.office.com
Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть2. Подстановочные знаки
— обязательный аргумент. Текст, строке “Доход: маржа” данном случае —Начальная_позиция, так как “н” дробных числах, используемых – 27». строке, а год содержащих такой текст нужного листа (этоALARMus вхождения буквы в быть не отображен); т.п.
частями формулы представляет ожидать, что критерию НАЙТИ всегда возвращает который необходимо найти. (ячейка A3).
Задача
“МДС0093”). Функция Необязательный. Номер знака в является четвертым символом в качестве данногоВид исходной таблицы: – с 7-го. – правильно посчиталось
А. Найти значения, которые начинаются с критерия и содержат определенное количество символов
когда много листов,: вот файлик слове или внажать ОК.Критерий вводится в ячейку
условие И (значение будет соответствовать несколько номер знака, считая
Просматриваемый_текстмаржПОИСК аргументе в слове “принтер”. аргумента, дробная частьДля возврата строки с Используем следующие формулы:
только общее количество, и ячейка этоSerge_007 текстовой строке можноВ статье Ввод символовI2
должно начинаться с значений. Для их от левого края — обязательный аргумент. Текст,=ПОИСК(“”””;A5)начинает поиск спросматриваемый_текстМожно также находить слова усекается. фамилией и текущим
=ПСТР(A2:A10;4;2) а вот остальное список содержит имя
:
прочитать здесь.
с помощью клавиши
и выглядит так:
дрел и иметь вывода в отдельный текста “просматриваемый_текст”, а в котором нужноПозиция первой двойной кавычки восьмого символа, находит
, с которого следует в других словах.Функция ПСТРБ имеет схожий возрастом используем следующую=ПСТР(A2:A10;7;4) не правильно
листа)QuoteALARMus Alt показано как «дрел?». В этом такую же длину, диапазон удобно использовать не от значения найти искомый текст. (“) в ячейке знак, указанный в начать поиск. Например, функция синтаксис:
Б. Найти значения, которые начинаются со слова дрель или дрели и содержат как минимум 6 букв
формулу:Вид заполненной таблицы данных:_Boroda_у меня листы(ALARMus)200?’200px’:”+(this.scrollHeight+5)+’px’);”>я расчитывал получить: В целом задача: ввести любой символ, случае будут выведены как и критерий, формулы массива. аргумента “нач_позиция”.Начальная_позиция
A5. аргументеФункции
=ПОИСК(“base”;”database”)
=ПСТРБ(текст;начальная_позиция;число_байтов)
Функция ПСТР возвращает часть
Таким образом нам удалось
: Тут немного иначе названы как 2012.7, количество строк содержащихПоиск слова(части слова) зная его ASCII все значения, т.е. 5 букв).Пусть Исходный список значенийСкопируйте образец данных из — необязательный аргумент. Знак,
В. Найти значения, у которых слово дрель находится в середине строки
5искомый_текстПОИСКвозвращаетОна отличается единственным аргументом: строки до символа разрезать на части нужно 2012.8,2012.9,… “искомое слово” в ячейке и код. Таблицу кодов
заканчивающиеся Критерию также будут (например, перечень инструментов)
следующей таблицы и
с которого нужно
=ПСТР(A5;ПОИСК(“”””;A5)+1;ПОИСК(“”””;A5;ПОИСК(“”””;A5)+1)-ПОИСК(“”””;A5)-1)
, в следующей позиции,
и5число_байтов – обязательный аргумент, пробела, позиция которого текст в ячейкахSerge_007ALARMus200?’200px’:”+(this.scrollHeight+5)+’px’);”>=СУММПРОИЗВ(–ЕЧИСЛО(НАЙТИ(“ввв”;A2:A14))) вычисление % значений, можно скачать здесь:
Г. Найти значения, которые заканчиваются на слово дрель или дрели
на слова дрель соответствовать такие несуразные находится в диапазоне вставьте их в начать поиск. ПервыйВозвращает из ячейки A5 и возвращает числоПОИСКБ, так как слово
принимающий целые числа
определяется функцией НАЙТИ. столбца A. Удалось:
: Вот файлик.
Quote
которые больше заданного
.
или дрели. значения как дрел5,A5:A13. ячейку A1 нового знак в тексте только текст, заключенный 9. Функцияне учитывают регистр. “base” начинается с из диапазона от
Для нахождения возраста
отдельно каждую датуФункция ПСТР в ExcelМожет если я(ALARMus)200?’200px’:”+(this.scrollHeight+5)+’px’);”>Нужно так как в другой ячейкеС помощью диалогового окна
excel2.ru
Поиск ячеек содержащих в MS EXCEL спецсимволы
дрелМ и т.п.См. Файл примера. листа Excel. Чтобы “просматриваемый_текст” имеет номер в двойные кавычки.ПОИСК Если требуется учитывать пятого символа слова 1 до N, сотрудника используется функция разделить на несколько предназначена для выделения не оптимально решил работает текстовый фильтр этой строки.
Символ (Вставка/ Текст/Для создания списка, содержащего (если они содержатсяВыведем в отдельный диапазон отобразить результаты формул, 1. Если номербосс
- всегда возвращает номер регистр, используйте функции
- “database”. Можно использовать где N – ДОЛЯГОДА, полученное значение
- ячеек по столбцам: подстроки из строки
- так строить файл по колонке сИли иными словами Символ) можно вставлять
- найденные значения, воспользуемся в списке).
- значения, которые удовлетворяют
выделите их и опущен, он полагаетсяВ этой статье описаны знака, считая отНАЙТИ функции число байтов в которой усекается до
день, месяц и текста, переданной в для данной цели, условием – “содержит” из общего числа символы, такие как формулой массива:Критерий вводится в ячейку критерию, причем критерий нажмите клавишу F2, равным 1. синтаксис формулы и началаиПОИСК исходной строке, характеризующий ближайшего меньшего целого, год. качестве первого аргумента, то так же – только воплотить содержащих заданное слово ©, или специальные=ИНДЕКС(Список;НАИМЕНЬШИЙ(E2 задан с использованием а затем — клавишу
excel2.ru
Подсчет вхождений в MS EXCEL Букв (Символов) в ТЕКСТовой строке
Функции НАЙТИ и НАЙТИБ использование функцийпросматриваемого текстаНАЙТИБ
и количество байт в чтобы получить число и возвращает требуемое приветствуются рекомендации и
с помощью какой-либо в ячейке A1, знаки, такие какЕСЛИОШИБКА(ЕСЛИ(ПОИСК($I$2;ПРАВСИМВ((Список);ДЛСТР($I$2)));СТРОКА(Список)-СТРОКА($A$4);НД());””);и выглядит так:
подстановочных знаков (*,
ВВОД. При необходимости работают с учетомНАЙТИ, включая символы, которые
.
ПОИСКБ возвращаемой подстроке. полных лет. ФункцияПример 2. В столбце
количество символов начиная
правки. функции вычислить процент тех, длинное тире (—)СТРОКА(ДВССЫЛ(“A1:A”&ЧСТРОК(Список)))) «дрел??». В этом
?). Рассмотрим различные измените ширину столбцов, регистра и неи пропускаются, если значение
excel2.ru
Поиск строк СОДЕРЖАЩИХ заданные символы
В аргументедля определения положения
Примечания: ТЕКСТ преобразует полученное таблицы хранятся текстовые с заданной позиции.Я попробовал вотФункции не могут
у которых длительность, или многоточие (…),) случае будут выведены варианты поиска. чтобы видеть все позволяют использовать подстановочныеНАЙТИБ аргумента
искомый_текст символа или текстовойФункция ПСТР вернет пустую значение в текстовую записи с наименованиемОдин символ в языках так
скрывать строки, как заданная в соответствующей
которых нет наЧасть формулы ПОИСК($I$2;ПРАВСИМВ((Список);ДЛСТР($I$2))) определяет: все значения, вДля удобства написания формул
данные. знаки. Если необходимов Microsoft Excel.начальная_позицияможно использовать подстановочные строки в другой строку, если в строку. и маркой товаров. с однобайтовой кодировкойно не работает: фильтр
ячейке B1 более клавиатуре. Следует помнить,совпадают ли последние 5 которые
создадим Именованный диапазонДанные выполнить поиск безФункции НАЙТИ и НАЙТИБбольше 1. знаки: вопросительный знак текстовой строке, а качестве аргумента начальная_позицияДля соединения (конкатенации) полученных Разделить имеющиеся строки соответствует 1 байту.
200?’200px’:”+(this.scrollHeight+5)+’px’);”> =ДВССЫЛ(“‘”&(ТЕКСТ(B4;”ГГГГ.ММ”))&”‘!”&$A$2:$A$325)
ALARMus
некоторой величины. что отображение символов в символовначинаются Список для диапазонаВладимир Егоров учета регистра или
находят вхождение однойСкопируйте образец данных из
( затем вернуть текст было передано число, строк используются символы на подстроки с При работе с
_Boroda_
: Ну мне жеСама загвоздка в ячейке зависит отзначений из диапазонас текста-критерия (соA5:A13Формула использовать подстановочные знаки,
текстовой строки в следующей таблицы и?
с помощью функций превышающее количество символов «&». В результате наименованием и маркой такими языками результаты: Почти правильно. Только не скрывать, анолог том как отобрать
выбранного шрифта ячейки
A5:A13 слова дрел) и
.Описание воспользуйтесь функцией ПОИСК
другую и возвращают
вставьте их в) и звездочку (ПСТР
в исходной строке. вычислений получим: соответственно и записать функций ПСТР и
формат должен быть с фильтром я те строки в (
с фразой «дрел?».длиной как минимумПеречень найденных значений будемРезультат
или ПОИСКБ. начальную позицию искомой
ячейку A1 нового*
иЕсли в качестве аргументаФункция имеет следующую синтаксическую
полученные значения в ПСТРБ (возвращает подстроку ГГГГ.М (или ГГГ.М)
привел не как которых содержится(т.е. средиCTRL+SHIFT+F Критерию также будут6 символов.
помещать в отдельный=НАЙТИ(“В”;A2)Если в качестве аргумента строки относительно первого листа Excel. Чтобы). Вопросительный знак соответствуетПСТРБ начальная_позиция было передано запись: соответствующие столбцы таблицы.
из строки на или листы должны визуальное скрытие, а
прочего текста) словофразачасть). Например, некоторые шрифты
соответствовать значения заканчивающиесяДля создания списка, содержащего столбец.Позиция первой “В” в “искомый_текст” задана пустая знака второй строки. отобразить результаты формул,
любому знаку, звездочка —или заменить его
значение 1, а=ПСТР(текст;начальная_позиция;число_знаков)
Вид таблицы данных: основе количества заданных называться не 2012.7, как отбор строк, фразы набор символов… включают дроби, знаки на фразы дрела,
найденные значения, воспользуемся
Найдем все названия инструментов,
ячейке A2
строка (“”), функцияВажно: выделите их и любой последовательности знаков. с помощью функций
аргумент число_знаков определен
Описание аргументов:Для заполнения столбца «Наименование» байт) не отличаются.
а 2012.07 для дальнейшей обработки. ? национальных алфавитов и дрел6 и т.п. формулой массива: которые1 НАЙТИ выводит значение,
нажмите клавишу F2, Если требуется найти
ЗАМЕНИТЬ числом, которое равнотекст – обязательный для используем следующую формулу: Если на компьютереОбщая формула
Спасибо.RAN символы национальных валют
СОВЕТ:=ИНДЕКС(Список;НАИМЕНЬШИЙ(начинаются
=НАЙТИ(“в”;A2) равное первому знакуЭти функции могут быть а затем — клавишу вопросительный знак илии или больше общему заполнения аргумент, принимающий=ПСТР(A2;1;НАЙТИ(” “;A2)) используется двухбайтовый язык,200?’200px’:”+(this.scrollHeight+5)+’px’);”>=СУММПРОИЗВ(–ЕЧИСЛО(ПОИСК(Справочник!$C$1;ДВССЫЛ(“‘”&ТЕКСТ($B$4;”ГГГ.М”)&”‘!A2:A325″))))
А остальные пункты: А сюда заглянуть? (см. статью ).
О поиске текстовыхЕСЛИОШИБКА(ЕСЛИ(ПОИСК($E$2;Список)=1;СТРОКА(Список)-СТРОКА($A$4);НД());””);
excelworld.ru
Пример функция ПСТР для разделения текста на части в Excel
с фразы дрелПозиция первой “в” в в строке поиска доступны не на ВВОД. При необходимости звездочку, введите передЗАМЕНИТЬБ числу знаков в
Примеры использования функции ПСТР в Excel
ссылку на ячейкуФункция НАЙТИ возвращает номер каждый символ присм. вложение как реализовать:ALARMus Встроенный шрифт Symbol значений с учетомСТРОКА(ДВССЫЛ(“A1:A”&ЧСТРОК(Список)))) и ячейке A2 (знак с номером, всех языках. измените ширину столбцов, ним тильду (. Эти функции показаны исходной строке, функция с текстом или
Как разделить текст на несколько ячеек по столбцам в Excel?
позиции символа пробела использовании ПСТРБ будетALARMusОтобрать все те: Что то я содержит стрелки, маркеры РЕгиСТра читайте в)длина строки
15
соответствующим аргументу “нач_позиция”Функция НАЙТИ предназначена для чтобы видеть все~
в примере 1
- ПСТР вернет всю текстовую строку, заключенную « » в считаться за два.: А чтобы задать
- строки в которых не нашел там и знаки, используемые статье Поиск текстовых
- Часть формулы ПОИСК($E$2;Список)=1 определяет:которых составляет 5=НАЙТИ(“и”;A2;3)
или 1). языков с однобайтовой данные.). данной статьи. строку целиком. в кавычки, из просматриваемой строке, который Двухбайтовыми языками являются все те которые
заголовок содержит “ввв”.
нужного.
в науке. Имеются
значений в списках.начинается символов.Позиция первой “и” вИскомый_текст не может содержать кодировкой, а функцияДанныеЕслиВажно:
Если аргумент начальная_позиция был
Как вырезать часть текста ячейки в Excel?
которой будет извлечена принимается в качестве корейский, японский и не содержат заданныйВычислить количество таких.Нужно так как также дополнительные шрифты, Часть3. Поиск сли значение изКритерий будет вводиться в
строке А2, начиная
подстановочные знаки. НАЙТИБ — для
Выписки
искомый_текст указан числом из подстрока определенной длины аргумента число_знаков функции китайский. текст ?Среди этих строк
работает текстовый фильтр такие как Wingdings, учетом РЕГИСТРА.
диапазона
ячейку с третьего знакаЕсли “искомый_текст” отсутствует в языков с двухбайтовойДоход: маржане найден, возвращаетсяЭти функции могут быть диапазона отрицательных чисел начиная с указанной ПСТР. В результатеПример 1. В столбце200?’200px’:”+(this.scrollHeight+5)+’px’);”>ПОИСК(НЕ(Справочник!$C$1);… (найденных по требованию по колонке с содержащие декоративные символы.В MS WORD спецсимволыA5:A13С2
8
Как посчитать возраст по дате рождения в Excel?
тексте “просматриваемый_текст”, функции кодировкой. Заданный намаржа значение ошибки #ЗНАЧ!. доступны не на или 0 (нулем), позиции первого символа; расчетов получим: таблицы содержатся даты,_Boroda_
выше) вычилсить:
условием – “содержит”Найдем количество вхождений определенной (конец абзаца, разрывс фразы «дрел??».
и выглядеть так:Данные НАЙТИ и НАЙТИБ компьютере язык поЗдесь “босс”.Если аргумент всех языках. функция ПСТР вернетначальная_позиция – обязательный аргумент,Для заполнения столбца «Марка» записанные в виде: вместо ЕЧИСЛО нужно- количество строк, – только воплотить
Буквы или любого строки и т.п.) Критерию также будут «дрел?». Вопросительный знак
Особенности использования функции ПСТР в Excel
Керамический изолятор №124-ТД45-87 возвращают значение ошибки
умолчанию влияет на
Формула
- начальная_позицияФункция ПОИСКБ отсчитывает по код ошибки #ЗНАЧ!. принимающий целые числа используем следующую формулу текстовых строк. Записать написать ЕОШИБКА у которых в с помощью какой-либо символа в ячейке
- легко найти с соответствовать значения начинающиеся является подстановочным знаком.Медная пружина №12-671-6772 #ЗНАЧ!. возвращаемое значение указаннымОписаниеопущен, то он два байта наЕсли аргумент число_знаков задан из диапазона от массива: отдельно в соседнихALARMus колонке B длительность функции, с тем
- EXCEL. помощью стандартного поиска с фраз дрелью,Для реализации этого вариантаПеременный резистор №116010Если “нач_позиция” не больше ниже образом.Результат полагается равным 1. каждый символ, только отрицательным числом, результатом 1 до N,=ПСТР(A2:A8;НАЙТИ(” “;A2:A8)+1;100) столбцах номер дня,: а поясните расчет более 2 часов. чтобы с отобраннымОпределим, сколько букв Z ( дрел23 и т.п. поиска требуется функция
Формула нуля, функции НАЙТИ
Функция НАЙТИ при подсчете
=ПОИСК(“и”;A2;6)
- Если аргумент если языком по выполнения функции ПСТР где N –Функция НАЙТИ возвращает позицию месяца и год, тех у кого- количество строк, таким способом списком
в слове Zigzag
- CTRL+FКритерий вводится в ячейку позволяющая использовать подстановочныеОписание (результат) и НАЙТИБ возвращают всегда рассматривает каждый
- Позиция первого знака “и”начальная_позиция умолчанию является язык будет код ошибки длина строки, из символа пробела. К выделенные из представленных более 2 часов(2/24 у которых в строк уже производить
- (слово находится в), т.к. им соответствуютG2 знаки: используем функциюРезультат значение ошибки #ЗНАЧ!.
- знак, как однобайтовый, в строке ячейкине больше 0 с поддержкой БДЦС. #ЗНАЧ!.
exceltable.com
которой требуется извлечь
Функции ЛЕВСИМВ, ПРАВСИМВ и ПСТР прекрасно применяются для разделения строк на слова или фрагменты текстов, но при условии, что вам заранее известны позиции символов с которых будет разделение. Что же делать если заранее вам не известно где в текстовой строке находится тот символ, начиная с которого нужно вырезать фрагмент текста?
Пример формулы НАЙТИ, ДЛСТР и ПРАВСИМВ в Excel
Допустим у нас имеется прайс-лист с кодами товаров, как получить часть символов после дефиса с каждого кода, если дефис каждый раз находиться на новой позиции символов?
- PTR-422
- CORPO-6755
- SVCCALL-56532
Функция ЛЕВСИМВ нам сразу не подходит, так как необходимо получить последнюю часть каждого кода. Функция ПРАВСИМВ так же не справиться с данной задачей, ведь в ее аргументах следует указать точное количество символов возвращаемого текста из всех разных кодов разной длины. Если в аргументе будет указано фиксированное числовое значение, то для некоторых кодов сработает, а для большинства будет слишком много или мало количество символов, возвращаемых функцией ПРАВСИМВ.
На практике очень часто приходится автоматически находить определенный символ, чтобы функция сама находила начальную позицию для отделения фрагмента текста из исходной строки.
Для реализации данной задачи следует использовать формулу с комбинацией функций ПРАВСИМВ, ДЛСТР и НАЙТИ:
Благодаря функции НАЙТИ можно автоматически определять позицию в текстовой строке для указанного символа в ее аргументах. А после использовать номер позиции в следующих операциях, например, при автоматической генерации значений для второго аргумента функции ПРАВСИМВ. Реализуется генерация путем определения необходимого числа при вычитании от длины строки, которую возвращает функция ДЛСТР номера позиции символа – «-».
Пример использования НАЙТИ и ПСТР в формуле Excel
В следующем примере, изображенном на рисунке, функция НАЙТИ используется в формуле вместе с функцией ПСТР для выборки средних чисел между дефисами из кода товаров прайс-листа.
Как видно на рисунке формула сначала ищет номер позиции для символа с помощь функции НАЙТИ. А после найденный номер позиции использует в своих аргументах функция ПСТР.
Функция НАЙТИ требует заполнить минимум 2 из 3-х аргументов:
- Искомый_текст – здесь необходимо указать текст, который следует найти и получить его порядковый номер (позицию) в исходной текстовой строке.
- Просматриваемый_текст – тут указываем ссылку на ячейку с исходной строкой, которая содержит искомый символ или текст.
- Нач_позиция – это не обязательный аргумент. Здесь можно указать номер позиции символа в строке, с которого следует начинать поиск. Если строка содержит более одного найденного искомого символа, то с помощью данного необязательного аргумента можно указать номер символа с которого будет просматриваться остальная часть строки. Если он не указан в этом аргументе, то по умолчанию он равен = 1, то есть с первого, а значит целая строка.
На пример, в примере функция находит первый дефис в строке «PWR-16-Small». В результате своего вычисления она по умолчанию возвращает число 4. Так как первый дефис в и сходной строке находится на четвертой позиции.
Динамические формулы с использованием функции НАЙТИ
Но если мы воспользуемся третьим необязательным аргументом и укажем в нем число 5. То есть просматривать первую не целиком, а начиная после первого дефиса, четвертого символа. Тогда функция будет возвращать нам порядковую позицию второго «-», то есть число – 7.
Текстовую функцию НАЙТИ чаще всего используют как вспомогательную указав ее в качестве аргумента для других текстовых функций. Например, если мы используем ее как второй аргумент для функции ПСТР, то мы получим возможность вырезать фрагмент текста разной длины, автоматически определяя необходимую позицию в строке как маркер для отделения ее части.
Если использовать формулу, указанную в примере мы вырезаем 2 числовых символа, которые находиться после первого дефиса из каждой строки кодов товаров. Обратите внимание на сложение в формуле +1, благодаря которому мы смещаем фокус функции на один символ, чтобы определить его позицию на символы после дефиса (минуя его).
Как уже упоминалось выше по умолчанию функция НАЙТИ возвращает позицию первого найденного искомого символа, который нашелся в исходной просматриваемой текстовой строке. Когда нам нужно найти второй такой же символ и узнать его позицию в строке, можем воспользоваться опциональным третьим аргументом функции. В этом аргументе можно определить позицию символа исходной строки, с которого следует начинать поиск.
Например, следующая формула возвращает позицию второго дефиса, так как в ее третьем аргументе указано число позиции первого дефиса. А значит поиски будут вестись не по всей строке, а только по ее части начиная от первого дефиса.
Таким образом мы создали динамическую формулу, которая автоматически определяет где (на какой позиции) в строке находится первый и второй дефисы. А дальше их можно использовать как аргументы в других функциях.
Пример из практического опыта офисного сотрудника. Необходимо получить часть кода товаров, которая начинается от второго дефиса. Для этого создаем динамическую формулу:
Здесь мы использовали автоматический поиск первого дефиса. Номер позиции послужил третьим необязательным опциональным аргументом функции НАЙТИ для автоматического поиска каждого второго дефиса в каждом коде товара. Далее используя функцию ДЛСТР, мы определяем длину исходной строки и вычитаем от нее число позиции второго символа. Другими словами, от длины кода вычитаем количество символов до второго дефиса (включительно с ним, о чем свидетельствует сложение +1). Таким образом мы динамически определяем второй аргумент для функции ПРАВСИМВ чтобы вырезать разной величины фрагмент текста из строк. К том уже все строки с разной длиной, да еще и в разном месте находится второй дефис. Но умная формула справилась полностью в автоматическом режиме.