Оглавление
Все, что вам нужно знать о подстановочных знаках на одной странице: что это такое, как лучше использовать их в Excel и почему подстановочные знаки не работают с числами.
Когда вы ищете что-то, но не уверены, что именно, подстановочные знаки - идеальное решение. Можно считать, что подстановочный знак - это джокер, который может принимать любое значение. В Excel всего 3 подстановочных знака (звездочка, вопросительный знак и тильда), но они могут делать так много полезных вещей!
Подстановочные знаки Excel
В Microsoft Excel подстановочный знак - это особый вид символа, который может заменить любой другой символ. Другими словами, когда вы не знаете точного символа, вы можете использовать подстановочный знак в этом месте.
Два распространенных символа, которые распознает Excel, - это звездочка (*) и вопросительный знак (?). Тильда (~) заставляет Excel рассматривать эти символы как обычные, а не как символы подстановки.
Подстановочные знаки могут пригодиться в любой ситуации, когда вам нужно частичное совпадение. Вы можете использовать их в качестве критериев сравнения для фильтрации данных, для поиска записей, имеющих некоторые общие части, или для нечеткого соответствия в формулах.
Звездочка как подстановочный знак
Звездочка (*) является наиболее общим символом подстановочного знака, который может представлять любое количество символов Например:
- ч* - соответствует любому слову, начинающемуся на "ch", например Чарльз , проверьте , шахматы , и т.д.
- *ch - заменяет любую текстовую строку, которая заканчивается на "ch", например Март , дюйм , получить , и т.д.
- *ch* - представляет собой любое слово, содержащее "ch" в любой позиции, например Чад , головная боль , арка , и т.д.
Вопросительный знак в качестве подстановочного знака
Вопросительный знак (?) обозначает любой отдельный символ Это может помочь вам получить более конкретные данные при поиске частичного совпадения. Например:
- ? - соответствует любой записи, содержащей один символ, например, "a", "1", "-" и т.д.
- ?? - заменяет любые два символа, например, "ab", "11", "a*" и т.д.
- ???-???? - представляет собой любую строку, содержащую 2 группы из 3 символов, разделенных дефисом, например ABC-DEF , ABC-123 , 111-222 , и т.д.
- при? - спички цена , гордость , приз , и т.п.
Тильда как нуллификатор подстановочных знаков
Тильда (~), расположенная перед символом подстановочного знака отменяет действие подстановочного знака и превращает его в буквенную звездочку (~*), буквенный вопросительный знак (~?) или буквенную тильду (~~). Например:
- *~? - находит любую запись, заканчивающуюся знаком вопроса, например. Что? , Кто-нибудь есть? , и т.д.
- *~** - находит любые данные, содержащие звездочку, например. *1 , *11* , 1-мар-2020* , и т.д. В данном случае 1-я и 3-я звездочки являются подстановочными знаками, а вторая обозначает буквальный символ звездочки.
Поиск и замена подстановочных знаков в Excel
Использование символов подстановочного знака в функции "Найти и заменить" Excel весьма разнообразно. В следующих примерах мы рассмотрим несколько распространенных сценариев и предупредим вас о нескольких предостережениях.
Как выполнять поиск с помощью подстановочных знаков
По умолчанию Найти и заменить Диалог настроен на поиск заданных критериев в любом месте ячейки, а не на поиск всего содержимого ячейки. Например, если вы используете "AA" в качестве критерия поиска, Excel вернет все записи, содержащие его, такие как AA-01 , 01-AA , 01-AA-02 Это отлично работает в большинстве ситуаций, но при определенных обстоятельствах может вызвать осложнения.
В приведенном ниже наборе данных, предположим, вы хотите найти идентификаторы, состоящие из 4 символов, разделенных дефисом. Итак, вы открываете команду Найти и заменить диалог (Ctrl + F), введите ??-?? в Найдите то, что поле, и нажмите Найти все Результат выглядит несколько озадачивающе, не так ли?
Технически, строки типа AAB-01 или ВВ-002 также соответствуют критериям, поскольку содержат подстроку ??-??. Чтобы исключить их из результатов, нажмите кнопку Опции и проверьте Сопоставить все содержимое ячейки box. Теперь Excel ограничит результаты только строками ??-??:
Как заменить с помощью подстановочного знака
Если ваши данные содержат нечеткие совпадения, подстановочные знаки помогут вам быстро найти и объединить их.
На скриншоте ниже вы можете видеть два варианта написания одного и того же города Гомель и Гомель Мы хотели бы заменить оба варианта на другой - Homyel . (И да, все три варианта написания моего родного города являются правильными и общепринятыми :)
Чтобы заменить частичные совпадения, нужно сделать следующее:
- Нажмите Ctrl + H, чтобы открыть Заменить вкладка Найти и заменить диалог.
- В Найдите то, что введите выражение подстановочного знака: ?omel
- В Заменить на введите текст замены: Homyel
- Нажмите кнопку Заменить все кнопка.
И наблюдайте за результатами:
Как найти и заменить символы подстановочного знака
Чтобы найти символ, который Excel распознает как подстановочный знак, т.е. буквальную звездочку или вопросительный знак, включите тильду (~) в критерии поиска. Например, чтобы найти все записи, содержащие звездочки, введите ~* в поле Найти что:
Если вы хотите заменить звездочки на что-то другое, переключитесь на параметр Заменить вкладку и введите интересующий вас символ в Заменить на Чтобы удалить все найденные символы звездочки, оставьте поле Заменить на поле пустым, и нажмите Заменить все .
Фильтрация данных с помощью подстановочных знаков в Excel
Подстановочные знаки Excel также очень полезны, когда у вас есть огромный столбец данных и вы хотите отфильтровать эти данные на основе условия.
Предположим, что в нашем наборе данных вы хотите отфильтровать идентификаторы, начинающиеся на "B". Для этого сделайте следующее:
- Добавьте фильтр к ячейкам заголовка. Самый быстрый способ - нажать сочетание клавиш Ctrl + Shift + L.
- В столбце "Цель" щелкните раскрывающуюся стрелку фильтра.
- В Поиск введите свои критерии, B* в нашем случае.
- Нажмите OK .
Это позволит мгновенно отфильтровать данные на основе ваших критериев, как показано ниже:
Подстановочные знаки также можно использовать в расширенном фильтре, что может сделать его хорошей альтернативой регулярным выражениям (также называемым regexes Для получения дополнительной информации см. раздел "Расширенный фильтр Excel с подстановочными знаками".
Формулы Excel с подстановочными знаками
Прежде всего, следует отметить, что довольно ограниченное число функций Excel поддерживает подстановочные знаки. Ниже приведен список наиболее популярных функций с примерами формул:
AVERAGEIF с подстановочными знаками - находит среднее значение (среднее арифметическое) ячеек, удовлетворяющих заданному условию.
AVERAGEIFS - возвращает среднее значение ячеек, удовлетворяющих нескольким критериям. Как и AVERAGEIF, в приведенном выше примере допускаются подстановочные знаки.
COUNTIF с подстановочными символами - подсчитывает количество ячеек на основе одного критерия.
COUNTIFS с подстановочными знаками - подсчитывает количество ячеек на основе нескольких критериев.
SUMIF с подстановочным знаком - суммирует ячейки с условием.
SUMIFS - добавляет ячейки с несколькими критериями. Как и SUMIF в приведенном выше примере, принимает символы подстановки.
VLOOKUP с подстановочными знаками - выполняет вертикальный поиск с частичным совпадением.
HLOOKUP с подстановочным знаком - выполняет горизонтальный поиск с частичным совпадением.
XLOOKUP с символами подстановки - выполняет поиск частичного соответствия как в столбце, так и в строке.
Формула MATCH с подстановочными знаками - находит частичное совпадение и возвращает его относительную позицию.
XMATCH с подстановочными знаками - современный преемник функции MATCH, который также поддерживает сопоставление подстановочных знаков.
ПОИСК с подстановочными знаками - в отличие от чувствительной к регистру функции FIND, нечувствительный к регистру ПОИСК понимает символы подстановки.
Если вам нужно выполнить частичное сопоставление с другими функциями, которые не поддерживают подстановочные знаки, вам придется найти обходной путь, например, формулу подстановочного знака Excel IF.
Следующие примеры демонстрируют некоторые общие подходы к использованию подстановочных знаков в формулах Excel.
Формула подстановочного знака Excel COUNTIF
Допустим, вы хотите подсчитать количество ячеек, содержащих текст "AA" в диапазоне A2:A12. Это можно сделать тремя способами.
Самый простой вариант - включить символы подстановки непосредственно в критерии аргумент:
=COUNTIF(A2:A12, "*AA*")
На практике такое "жесткое кодирование" не является лучшим решением. Если впоследствии критерии изменятся, вам придется каждый раз редактировать свою формулу.
Вместо того чтобы вводить критерии в формулу, вы можете ввести их в некоторую ячейку, например E1, и объединить ссылку на ячейку с символами подстановки. Ваша полная формула будет выглядеть следующим образом:
=COUNTIF(A2:A12,"*"&E1&"*")
В качестве альтернативы можно ввести строку с подстановочным знаком (*AA* в нашем примере) в ячейку критериев (E1) и включить в формулу только ссылку на ячейку:
=COUNTIF(A2:A12, E1)
Все три формулы дают одинаковый результат, поэтому какую из них использовать - это вопрос ваших личных предпочтений.
Примечание. Поиск по подстановочному знаку не чувствителен к регистру Таким образом, формула считает символы как в верхнем, так и в нижнем регистре, например AA-01 и аа-01 .
Формула VLOOKUP Excel с подстановочным знаком
Если вам нужно найти значение, которое не имеет точного соответствия в исходных данных, вы можете использовать символы подстановки для поиска частичного соответствия.
В этом примере мы собираемся найти идентификаторы, начинающиеся с определенных символов, и вернуть их цены из столбца B. Чтобы сделать это, введите команду уникальные детали идентификаторов целей в ячейках D2, D3 и D4 и используйте эту формулу для получения результатов:
=VLOOKUP(D2& "*", $A$2:$B$12, 2, FALSE)
Приведенная выше формула находится в ячейке E1, и благодаря грамотному использованию относительных и абсолютных ссылок на ячейки она правильно копируется в нижележащие ячейки.
Примечание. Поскольку функция Excel VLOOKUP возвращает первое найденное совпадение, следует быть очень осторожным при поиске с использованием подстановочных знаков. Если значение поиска совпадает с более чем одним значением в диапазоне поиска, вы можете получить недостоверные результаты.
Подстановочный знак Excel для чисел
Иногда утверждается, что подстановочные знаки в Excel работают только с текстовыми значениями, но не с числами. Однако это не совсем так. С помощью функции Найти и заменить функция, а также Фильтр Подстановочные знаки отлично работают как для текста, так и для чисел.
Найти и заменить с помощью подстановочного знака
На скриншоте ниже мы используем *4* в качестве критерия поиска для поиска ячеек, содержащих цифру 4, и Excel находит как текстовые строки, так и числа:
Фильтр с подстановочным числом
Аналогично, автофильтр Excel без проблем отфильтрует числа, содержащие "4":
Почему подстановочный знак Excel не работает с числами в формулах
Использование символов подстановочных знаков с числами в формулах - это совсем другая история. Использование символов подстановочных знаков вместе с числами (независимо от того, окружено ли число символами подстановочных знаков или конкатенировано со ссылкой на ячейку) преобразует числовое значение в текстовую строку. В результате Excel не распознает строку в диапазоне чисел.
Например, обе приведенные ниже формулы прекрасно подсчитывают количество строк, содержащих "4":
=COUNTIF(A2:A12, "*4*" )
=COUNTIF(A2:A12, "*"&E1& "*" )
Но ни один из них не может определить цифру 4 в числе:
Как заставить подстановочные знаки работать для чисел
Самое простое решение - преобразовать числа в текст (например, с помощью функции Text to Columns), а затем выполнить обычные операции VLOOKUP, COUNTIF, MATCH и т.д.
Например, чтобы получить количество клеток, которые начать с число в E1, формула такова:
=COUNTIF(B2:B12, E1& "*" )
В ситуации, когда такой подход практически неприемлем, вам придется разработать собственную формулу для каждого конкретного случая. Увы, универсального решения не существует :( Ниже вы найдете пару примеров.
Пример 1. Формула подстановочного знака Excel для чисел
В этом примере показано, как подсчитать числа, содержащие определенную цифру. В приведенной ниже таблице-образце предположим, что вы хотите подсчитать, сколько чисел в диапазоне B2:B12 содержат "4". Вот формула, которую нужно использовать:
=SUMPRODUCT(--(ISNUMBER(SEARCH("4", B2:B12))))
Как работает эта формула
Работает изнутри наружу, вот что делает формула:
Функция ПОИСКПОЗ ищет указанную цифру в каждой ячейке диапазона и возвращает ее позицию, а если она не найдена, то выдает ошибку #VALUE. На выходе получается следующий массив:
{#VALUE!;1;#VALUE!;#VALUE!;3;#VALUE!;#VALUE!;1;#VALUE!;#VALUE!;#VALUE!}
Функция ISNUMBER берет его оттуда и изменяет любое число на TRUE, а ошибку на FALSE:
{FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE}
Двойной унарный оператор (--) переводит TRUE и FALSE в 1 и 0, соответственно:
{0;1;0;0;1;0;0;1;0;0;0}
Наконец, функция SUMPRODUCT суммирует 1 и возвращает результат.
Примечание. При использовании подобной формулы в своих рабочих листах ни в коем случае не включайте "$" или любой другой символ валюты в функцию ПОИСК. Помните, что это только "визуальный" формат валюты, применяемый к ячейкам, базовые значения - это просто числа.
Пример 2. Формула подстановочного знака для дат
Формула SUMPRODUCT, рассмотренная выше, прекрасно работает для чисел, но не работает для дат. Почему? Потому что внутри Excel даты хранятся как порядковые номера, и формула будет обрабатывать эти номера, а не даты, отображаемые в ячейках.
Чтобы преодолеть это препятствие, используйте функцию ТЕКСТ для преобразования дат в текстовые строки, а затем передайте эти строки в функцию ПОИСК.
В зависимости от того, что именно вы хотите подсчитать, текстовые форматы могут различаться.
Чтобы подсчитать все даты в C2:C12, которые имеют "4" в дне, месяце или году, используйте " mmddyyyy" :
=SUMPRODUCT(--(ISNUMBER(SEARCH("4",TEXT(C2:C12, "mmddyyy")))))
Для подсчета только дней которые содержат "4", игнорируя месяцы и годы, используйте " дд" текстовый формат:
=SUMPRODUCT(--(ISNUMBER(SEARCH("4",TEXT(C2:C12, "dd")))))
Вот как использовать подстановочные знаки в Excel. Надеюсь, эта информация окажется полезной в вашей работе. В любом случае, я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!
Рабочая тетрадь для тренировок для скачивания
Подстановочные знаки в формулах Excel (файл .xlsx)