В этом руководстве показано, как применять формулы на основе функций LEN и SUSTITUTE для подсчета количества раз, когда определенный символ появляется в ячейке Excel.
Как посчитать количество конкретных символов в ячейке?
Общая формула
=LEN(cell_ref)-LEN(SUBSTITUTE(cell_ref, «character»,»»))
аргументы
Cell_ref: Ячейка содержит текст, внутри которого вы будете считать определенный символ. Вы также можете напрямую заменить cell_ref текстом, заключенным в кавычки;
Характер: Персонаж, которого вы хотите посчитать. Это может быть:
1. Символ, заключенный в кавычки;
2. Или ссылку на ячейку, содержащую символ.
Как пользоваться этой формулой?
1. Выберите пустую ячейку, скопируйте в нее формулу ниже, чтобы получить результат.
=LEN(B3)-LEN(SUBSTITUTE(B3,»e»,»»))
В этом случае он возвращает результат 3, что означает, что символ «e» встречается в B3 три раза.
Tips: Вы можете напрямую ссылаться на символьную ячейку в формуле, как показано ниже. Получив первый результат, перетащите маркер заполнения, чтобы применить формулу к другим ячейкам.
=LEN(B3)-LEN(SUBSTITUTE(B3,C3,»»))
Заметки:
- 1. Если конкретный символ не найден, он вернет 0;
- 2. Функция ЗАМЕНА чувствительна к регистру;
- 3. Если вы хотите подсчитать определенный символ в ячейке и проигнорировать регистр, используйте функцию ВЕРХНИЙ внутри ПОДСТАВКИ, как показано ниже:
- =LEN(B3)-LEN(SUBSTITUTE(UPPER(B3),C3,»»))
Как работает эта формула?
- 1. LEN(B3): Эта функция LEN вычисляет общую длину текста B3 и возвращает результат 20.
- 2. LEN(SUBSTITUTE(B3,»e»,»»)): Функция ЗАМЕНА удаляет символ «e» из ячейки B3, а затем функция LEN вычисляет длину текста для ячейки B3 без специального символа «e». Здесь результат 17;
- 3. Наконец, длина текста без символа «e» вычитается из общей длины текста исходной текстовой строки и получается общее количество «e» в ячейке B3 (20-17 = 3).
Связанные функции
Функция ДЛСТР в Excel
Функция LEN возвращает количество символов в текстовой строке.
Функция ПОДСТАВИТЬ в Excel
Функция SUBSTITUTE заменяет текст или символы в текстовой строке другим текстом или символами.
Родственные формулы
Лучшие инструменты для работы в офисе
Kutools for Excel — Помогает вам выделиться из толпы
Хотите быстро и качественно выполнять свою повседневную работу? Kutools for Excel предлагает 300 мощных расширенных функций (объединение книг, суммирование по цвету, разделение содержимого ячеек, преобразование даты и т. д.) и экономит для вас 80 % времени.
- Разработан для 1500 рабочих сценариев, помогает решить 80% проблем с Excel.
- Уменьшите количество нажатий на клавиатуру и мышь каждый день, избавьтесь от усталости глаз и рук.
- Станьте экспертом по Excel за 3 минуты. Больше не нужно запоминать какие-либо болезненные формулы и коды VBA.
- 30-дневная неограниченная бесплатная пробная версия. 60-дневная гарантия возврата денег. Бесплатное обновление и поддержка 2 года.
Вкладка Office — включение чтения и редактирования с вкладками в Microsoft Office (включая Excel)
- Одна секунда для переключения между десятками открытых документов!
- Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
- Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
- Добавляет эффективные вкладки в Office (включая Excel), точно так же, как Chrome, Firefox и новый Internet Explorer.
Комментарии (1)
Оценок пока нет. Оцените первым!
Помогаю со студенческими работами здесь
Индекс первого символа первого вхождения аргумента в строке
В книге указано: метод получает строку-аргумент и возвращает индекс первого символа первого…
Определить позицию первого символа «a» в тексте и вывести на экран строку, начиная с этого символа
Здравствуйте.
Имеется задача:
Задан текст. Определить позицию первого символа "a" в тексте и…
Определить последнее вхождение символа “р” в строке и вывести строку, начиная с первого символа и до последнего “р” в строке
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить последнее вхождение символа…
Вывести все символы исходной строки а$, начиная от первого заданного символа x$ до последнего заданного символа y$
Мужики, спасайте ^^
2)Вывести все символы исходной строки а$, начиная от первого заданного…
Искать еще темы с ответами
Или воспользуйтесь поиском по форуму:
Пользователи 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
Процедура такая же самая, как и удаление, только искомый символ нужно заменять на другой знак (в том числе, и на непечатаемый), а не писать в соответствующем аргументе пустую строку.
Оцените качество статьи. Нам важно ваше мнение:
Символы в экселе
Microsoft Excel
трюки • приёмы • решения
Как в Excel вводить специальные символы
В Excel есть окно Символ, которое применяется для поиска и вставки специальных символов в ячейку (рис. 66.1). Вы можете открыть это окно, выбрав команду Вставка ► Символы ► Символ.
На вкладке Символы в раскрывающемся списке Шрифт выберите нужный шрифт. Для большинства шрифтов вы также можете выбирать категорию шрифтов из раскрывающегося списка Набор. Выберите нужный символ и нажмите кнопку Вставить. Продолжите вставку дополнительных символов, если они вам еще нужны, или нажмите кнопку Закрыть, чтобы закрыть окно.
Рис. 66.1. Символы из категории технические знаки шрифта Arial Unicode MS
Если вы вставили символ из определенного шрифта, то Excel продолжит отображать тот же символ независимо оттого, какой шрифт применился к ячейке. Для большого набора символов используйте шрифт Arial Unicode MS.
Если вы используете какой-либо символ часто, то можете захотеть сделать его более доступным, например это может быть КНС. В Excel это выполняется с помощью функции Автозамена. Исполнив следующие инструкции, вы сделаете нужный вам символ (для нашего примера он выбран на рис. 66.1) легкодоступным.
- Выберите пустую ячейку.
- Выполните команду Вставка ► Символы ► Символ и используйте диалоговое окно. Символ для поиска символов, которые вы хотите использовать. В нашем примере код символа равен 2318, а сам символ относится к категории технические знаки шрифта Arial Unicode MS.
- Вставьте этот символ в ячейку, нажав кнопку Вставить.
- Нажмите Закрыть, чтобы закрыть диалоговое окно Символ.
- Нажмите Ctrl+C, чтобы скопировать символ в активной ячейке.
- Выберите Файл ► Параметры, чтобы открыть окно Параметры Excel, перейдите в раздел Правописание, а затем нажмите кнопку Параметры автозамены для вызова диалогового окна Автозамена (или просто нажмите Alt+TA).
- В окне Автозамена выберите одноименную вкладку.
- В поле заменять введите последовательность символов, например (р).
- Перейдите к полю на и нажмите Ctrl+V, чтобы вставить специальный символ.
- Нажмите 0К для закрытия окна Автозамена.
После выполнения этих шагов Excel будет заменять символ, когда вы введете (р). Выбирая строку замены, укажите последовательность символов, которые вы обычно не печатаете. В противном случае вы можете обнаружить, что Excel делает замену там, где она вам не нужна. Помните, что всегда можете нажать Ctrl+Z, чтобы отменить автозамену. Для получения более подробной информации об использовании автозамены см. статью «Настройка и совместное использование автозамены в Excel».
Визуализация значками с функцией СИМВОЛ (CHAR)
В стандартном наборе шрифтов Windows есть много специальных символов, которые иногда весьма приятно и полезно было использовать на листе Excel:
- всяческие звездочки для визуализации рейтингов
- различные виды стрелок для отображения динамики, роста или падения
- иконки человечков для иллюстрирования населения или количества сотрудников
- символы различных объектов (автомобилей, самолетов, книг) для показа объема продаж и т.д.
В Microsoft Excel подобный трюк можно выполнить с помощью функция СИМВОЛ (CHAR) , которая умеет выводить символ по его коду:
где Код — число от 0 до 255, внутренний код символа Windows.
Заметьте, что в разных шрифтах символы с одним и тем же кодом могут выглядеть по-разному. Поэтому для вывода нужного значка необходимо знать имя шрифта и код символа в нем. Проще всего это определить с помощью небольшой таблицы, которую можно сделать себе за пару минут и использовать потом как справочник:
Для всех ячеек столбца В установлен шрифт Arial, для столбца C — шрифт Webdings и т.д. Так что одна и та же функция СИМВОЛ (CHAR) показывает нам символы с заданными кодами в каждом шрифте.
Обратите внимание, что первые три десятка кодов зарезервированы во всех шрифтах под системные нужды и в виде осмысленных символов не отображаются. А вот с остальными можно поиграться.
Также можно выбрать на вкладке Вставка команду Символ (Insert — Symbol) , задать нужный шрифт и посмотреть код требуемого символа в нижей части окна:
Вот так, например, можно визуализировать рост или падение продаж, используя символы с кодами 233 и 234 из шрифта Wingdings и простую проверку функцией ЕСЛИ (IF) :
Цвет стрелок можно задать дополнительно, используя условное форматирование.
Или можно наглядно отобразить, например, количество персонала в каждом филиале компании, используя символ человечка (код 128 в шрифте Webdings) и функцию ПОВТОР (REPT) , которая умеет повторять заданный символ икс раз:
Функции СИМВОЛ ЗНАК ТИП в Excel и примеры работы их формул
В Excel часто необходимо использовать при вычислениях значения, которые повязанных с символами, знаком числа и типом.
Для этого используются следующие функции:
Функция СИМВОЛ дает возможность получить знак с заданным его кодом. Функция используется, чтоб преобразовать числовые коды символов, которые получены с других компьютеров, в символы данного компьютера.
Функция ТИП определяет типы данных ячейки, возвращая соответствующее число.
Функция ЗНАК возвращает знак числа и возвращает значение 1, если оно положительное, 0, если равно 0, и -1, когда – отрицательное.
Примеры использования функций СИМВОЛ, ТИП и ЗНАК в формулах Excel
Пример 1. Дана таблица с кодами символов: от 65 – до 74:
Необходимо с помощью функции СИМВОЛ отобразить символы, которые соответствуют данным кодам.
Для этого введем в ячейку В2 формулу следующего вида:
Аргумент функции: Число – код символа.
В результате вычислений получим:
Как использовать функцию СИМВОЛ в формулах на практике? Например, нам нужно отобразить текстовую строку в одинарных кавычках. Для Excel одинарная кавычка как первый символ – это спец символ, который преобразует любое значение ячейки в текстовый тип данных. Поэтому в самой ячейке одинарная кавычка как первый символ – не отображается:
Для решения данной задачи используем такую формулу с функцией =СИМВОЛ(39)
Также данную функцию полезно применять, когда нужно формулой сделать перенос строки в ячейке Excel. И для других подобного рода задач.
Значение 39 в аргументе функции как вы уже догадались это код символа одинарной кавычки.
Как посчитать количество положительных и отрицательных чисел в Excel
Пример 2. В таблице дано 3 числа. Вычислить, какой знак имеет каждое число: положительный (+), отрицательный (-) или 0.
Введем данные в таблицу вида:
Введем в ячейку E2 формулу:
Аргумент функции: Число – любое действительное числовое значение.
Скопировав эту формулу вниз, получим:
Сначала посчитаем количество отрицательных и положительных чисел в столбцах «Прибыль» и «ЗНАК»:
А теперь суммируем только положительные или только отрицательные числа:
Как сделать отрицательное число положительным, а положительное отрицательным? Очень просто достаточно умножить на -1:
Можно еще упростить формулу, просто поставить знак оператора вычитания – минус, перед ссылкой на ячейку:
Но что, если нужно число с любым знаком сделать положительным? Тогда следует использовать функцию ABS. Данная функция возвращает любое число по модулю:
Теперь не сложно догадаться как сделать любое число с отрицательным знаком минус:
Проверка какие типы вводимых данных ячейки в таблице Excel
Пример 3. Используя функцию ТИП, отобразить тип данных, которые введены в таблицу вида:
Функция ТИП возвращает код типов данных, которые могут быть введены в ячейку Excel:
Подстановочные знаки (символы *, ? и
Рассмотрим применение подстановочных знаков в Excel (символы звездочки «*», тильды «
» и вопросительного знака «?») и их использование при поиске и замене текстовых значений.
Приветствую всех, дорогие читатели блога TutorExcel.Ru.
В начале предлагаю вспомнить определение подстановочных знаков и понять, что же это такое и для каких целей они применяются в Excel. А затем уже разберем применение на конкретных примерах.
Подстановочные знаки — это специальные символы, которые могут принимать вид любого произвольного количества символов, другими словами, являются определенными масками комбинаций символов.
Всего в Excel есть 3 типа подобных знаков:
- * (звездочка); Обозначает любое произвольное количество символов. Например, поиск по фразе «*ник» найдет слова типа «понедельник», «всадник», «источник» и т.д.
- ? (вопросительный знак); Обозначает один произвольный символ. К примеру, поиск по фразе «ст?л» найдет «стол», «стул» и т.д.
(тильда) с последующими знаками *, ? или
. Обозначает конкретный символ *, ? или
. Например, поиск по фразе «хор*» найдет все фразы начинающиеся на «хор» («хоровод», «хорошо» и т.д.). Поэтому для точного поиска «хор*» нужно использовать символ «
» и искать по фразе «хор
» гарантирует, что Excel прочитает следующий символ как текст, а не как подстановочный знак.
Использование таких спецсимволов может быть полезно при фильтрации данных, для сравнения текста, при поиске и замене текстовых значений. Давайте подробно остановимся на каждом из основных вариантов применения.
Фильтрация данных
Рассмотрим пример. Предположим, что у нас имеется список сотрудников компании и мы хотим отфильтровать только тех сотрудников, у которых фамилии начинаются на конкретную букву (к примеру, на букву «п»):
Для начала добавляем фильтр на таблицу (выбираем вкладку Главная -> Редактирование -> Сортировка и фильтр или нажимаем сочетание клавиш Ctrl + Shift + L).
Для фильтрации списка воспользуемся символом звездочки, а именно введем в поле для поиска «п*» (т.е. фамилия начинается на букву «п», после чего идет произвольный текст):
Фильтр определил 3 фамилии удовлетворяющих критерию (начинающиеся с буквы «п»), нажимаем ОК и получаем итоговый список из подходящих фамилий:
В общем случае при фильтрации данных мы можем использовать абсолютно любые критерии, никак не ограничивая себя в выборе маски поиска (произвольный текст, различные словоформы, числа и т.д.).
К примеру, чтобы показать все варианты фамилий, которые начинаются на букву «к» и содержат букву «в», то применим фильтр «к*в*» (т.е. фраза начинается на «к», затем идет произвольный текст, потом «в», а затем еще раз произвольный текст).
Или поиск по «п?т*» найдет фамилии с первой буквой «п» и третьей буквой «т» (т.е. фраза начинается на «п», затем идет один произвольный символ, затем «т», и в конце опять произвольный текст).
Применение в функциях
Как уже говорилось выше, подстановочные знаки в Excel могут использоваться в качестве критерия при сравнении текста в различных функциях Excel (например, СЧЁТЕСЛИ, СУММЕСЛИ, СУММЕСЛИМН, ГПР, ВПР и другие).
Повторим задачу из предыдущего примера и подсчитаем количество сотрудников компании, фамилии которых начинаются на букву «п».
Воспользуемся функцией СЧЁТЕСЛИ, которая позволяет посчитать количество ячеек соответствующих указанному критерию.
В качестве диапазона данных укажем диапазон с сотрудниками (A2:A20), а в качестве критерия укажем запись «п*» (т.е. любая фраза начинающаяся на букву «п»):
Как и в первом примере, в результате мы получили ровно 3 фамилии.
Однако не все функции поддерживают применение подстановочных знаков. Некоторые из них (к примеру, функция НАЙТИ) любой символ воспринимают как текст, даже несмотря на то, что он может быть служебным.
С помощью функции НАЙТИ найдем в тексте позицию вхождения вопросительного знака и звездочки:
Обратным примером служит аналогичная функция ПОИСК, в которой мы должно четко указать что ищем именно служебный символ:
Как видим результат у функций получился одинаковым, однако обращение к подстановочным знакам разное.
Инструмент «Найти и заменить»
Подстановочные знаки в Excel также можно использовать для поиска и замены текстовых значений в инструменте «Найти и заменить» (комбинация клавиш Ctrl + F для поиска и Ctrl + H для замены).
Рассмотрим пример. Имеется список продукции магазина, в котором нам нужно найти продукт «молоко».
Предположим, что при вводе данных сделали ошибки из-за чего в списке появились продукты «малоко».
Чтобы несколько раз не искать данные по словам «молоко» или «малоко», при поиске воспользуемся критерием «м?локо» (т.е. вторая буква — произвольная):
При этом не стоит забывать, что с помощью данного инструмента можно не только искать текст, но и заменять его (к примеру, заменить «м?локо» на «молоко»).
Как заменить звездочку «*» в Excel?
Практически наверняка каждый сталкивался со следующей ситуацией — в тексте присутствует символ звездочки, который необходимо удалить или заменить на какой-либо другой текст.
Однако при попытке заменить звездочку возникают трудности — при замене меняются абсолютно весь текст, что естественно и логично, так как Excel воспринимает символ «*» как любой произвольный текст.
Но мы теперь уже знаем как с этим бороться, поэтому в поле Найти указываем текст «
*» (явно показываем, что звездочка является специальным символом), а в поле Заменить на указываем на что заменяем звездочку, либо оставляем поле пустым, если хотим удалить звездочку:
Аналогичная ситуация и при замене или удалении вопросительного знака и тильды.
Производя замену «
?» (для тильды — «
») мы также без проблем сможем заменить или удалить спецсимвол.
Как вставить в Excel символ: функции КОДСИМВ и СИМВОЛ
Здравствуйте, уважаемые читатели. Все символы, которые использует программа Microsoft Excel, хранятся в таблицах символов ANSI и UNICODE. Они содержат привычные кириллические символы, латиницу, цифры в различных способах представления, а так же специальные символы (например, стрелки, греческий алфавит, другие знаки). Как правило, специфических знаков нет на клавиатуре и для вставки нужно использование функций.
Чтобы вставить специфический символ, можно воспользоваться ленточной командой Вставка – Символы – Символ . Там выбрать нужный элемент и сделать на нём двойной клик.
Вставка символа с помощью ленты
Если вы используете символ, которого нет на клавиатуре, можно воспользоваться функциями Excel. Я, например, помню коды тех символов, которые часто использую.
Чтобы определить код знака, воспользуйтесь функцией КОДСИМВ. Выполнение следующей операции даст результат «62»:
То есть, знак «больше» в таблице символов расположен под номером 62. Так же, этот номер можно увидеть в окне «Символ» в поле «Код знака» (см. рисунок).
Использование функции КОДСИМВ
Чтобы вставить символ, зная его код, воспользуемся функцией СИМВОЛ:
Функция СИМВОЛ в Эксель
Результатом выполнения этой функции будет знак «>» в ячейке. Так можно получить все символы из таблицы кодировки. Это полезно, когда вставка знака – часть большой формулы с условиями.
Попрактикуйтесь в использовании функций КОДСИМВ и СИМВОЛ, необходимость их применения может возникнуть в любой момент, вы должны быть к этому готовы.
Кстати, если Вы чувствуете, что не очень хорошо готовы к написанию формул и применению функций, Вам будут интересны посты о написании формул и применении функций в Excel.
А в следующем посте я расскажу как сравнить две текстовые строки. Почему эти функции нужно изучить досконально? Потому, что правильное сравнение данных может заменить ручной перебор строк и сэкономить Ваше время. Присоединяйтесь, будет полезно!
Содержание
- Получение последней позиции символа с помощью формулы Excel
- Получение последней позиции символа с помощью пользовательской функции (VBA)
В этом руководстве вы узнаете, как найти позицию последнего вхождения символа в строке в Excel.
Несколько дней назад коллега столкнулся с этой проблемой.
У него был список URL-адресов, как показано ниже, и ему нужно было извлечь все символы после последней косой черты («/»).
Так, например, с https://example.com/archive/Январь ему пришлось извлечь «январь».
Это было бы очень просто, если бы в URL-адресах была только одна косая черта.
У него был огромный список из тысяч URL-адресов разной длины и с различным количеством косых черт.
В таких случаях хитрость заключается в том, чтобы найти позицию последнего появления косой черты в URL-адресе.
В этом уроке я покажу вам два способа сделать это:
- Использование формулы Excel
- Использование пользовательской функции (созданной через VBA)
Когда у вас есть позиция последнего вхождения, вы можете просто извлечь что-нибудь справа от него, используя функцию ВПРАВО.
Вот формула, которая находит последнюю позицию косой черты и извлекает весь текст справа от нее.
= ПРАВО (A2; LEN (A2) -НАЙТИ ("@", ПОДСТАВИТЬ (A2, "/", "@", LEN (A2) -LEN (ПОДСТАВИТЬ (A2, "/", ""))), 1 ))
Как работает эта формула?
Давайте разберем формулу и объясним, как работает каждая ее часть.
- ЗАМЕНА (A2; ”/”,“”) — Эта часть формулы заменяет косую черту пустой строкой. Так, например, если вы хотите найти вхождение любой строки, кроме косой черты, используйте ее здесь.
- LEN (A2) -LEN (ЗАМЕНА (A2; ”/”,“”)) — Эта часть сообщит вам, сколько косых черт в строке. Он просто вычитает длину строки без косой черты из длины строки с косой чертой.
- ПОДСТАВИТЬ (A2, ”/”, ”@”, LEN (A2) -LEN (ПОДСТАВИТЬ (A2, ”/”, ””))) — Эта часть формулы заменит последнюю косую черту на @. Идея состоит в том, чтобы сделать этого персонажа уникальным. Вы можете использовать любой персонаж, какой захотите. Просто убедитесь, что он уникален и его еще нет в строке.
- НАЙТИ («@», ПОДСТАВИТЬ (A2, «/», «@», LEN (A2) -LEN (ПОДСТАВИТЬ (A2, «/», »»))), 1) — Эта часть формулы даст вам позицию последней косой черты.
- LEN (A2) -FIND («@», ПОДСТАВИТЬ (A2, «/», «@», LEN (A2) -LEN (ПОДСТАВИТЬ (A2, «/», »»))), 1) — Эта часть формулы сообщает нам, сколько символов стоит после последней косой черты.
- = ПРАВО (A2; LEN (A2) -НАЙТИ («@», ПОДСТАВИТЬ (A2, «/», «@», LEN (A2) -LEN (ПОДСТАВИТЬ (A2, «/», »»))), 1 )) — Теперь это просто даст нам строку после последней косой черты.
Получение последней позиции символа с помощью пользовательской функции (VBA)
Вышеупомянутая формула прекрасна и работает как шарм, но она немного сложна.
Если вам удобно использовать VBA, вы можете использовать настраиваемую функцию (также называемую функцией, определяемой пользователем), созданную с помощью VBA. Это может упростить формулу и сэкономить время, если вам придется делать это часто.
Давайте воспользуемся тем же набором данных URL-адресов (как показано ниже):
Для этого случая я создал функцию с именем LastPosition, которая находит последнюю позицию указанного символа (в данном случае это косая черта).
Вот формула, которая сделает это:
= ПРАВО (A2; LEN (A2) -LastPosition (A2; "/") + 1)
Вы можете видеть, что это намного проще, чем тот, который мы использовали выше.
Вот как это работает:
- LastPosition — наша настраиваемая функция — возвращает позицию косой черты. Эта функция принимает два аргумента — ссылку на ячейку с URL-адресом и символ, позицию которого нам нужно найти.
- Затем функция ВПРАВО дает нам все символы после косой черты.
Вот код VBA, создавший эту функцию:
Функция LastPosition (rCell As Range, rChar As String) 'Эта функция выдает последнюю позицию указанного символа' Этот код был разработан Sumit Bansal (https://trumpexcel.com) Dim rLen As Integer rLen = Len (rCell) For i = rLen To 1 Step -1 If Mid (rCell, i - 1, 1) = rChar Then LastPosition = i Exit Function End If Next i End Function
Чтобы эта функция работала, вам нужно поместить ее в редактор VB. После этого вы можете использовать эту функцию, как любую другую обычную функцию Excel.
Вот шаги, чтобы скопировать и вставить этот код в серверную часть VB:
Вот шаги, чтобы поместить этот код в редактор VB:
- Перейдите на вкладку Разработчик.
- Выберите вариант Visual Basic. Это откроет редактор VB в бэкэнде.
- На панели Project Explorer в редакторе VB щелкните правой кнопкой мыши любой объект книги, в которую вы хотите вставить код. Если вы не видите Project Explorer, перейдите на вкладку View и нажмите Project Explorer.
- Перейдите во вкладку «Вставить» и нажмите «Модуль». Это вставит объект модуля для вашей книги.
- Скопируйте и вставьте код в окно модуля.
Теперь формула будет доступна на всех листах книги.
Обратите внимание, что вам необходимо сохранить книгу в формате .XLSM, поскольку в ней есть макрос. Кроме того, если вы хотите, чтобы эта формула была доступна во всех используемых вами книгах, вы можете сохранить ее в личной книге макросов или создать на ее основе надстройку.
Вам также могут понравиться следующие руководства по Excel:
- Как узнать количество слов в Excel.
- Как использовать ВПР с несколькими критериями.
- Найдите последнее вхождение подстановочного значения в списке в Excel.
- Извлечь подстроку в Excel.