Menu

Подстановочные знаки в Excel (эксель): *, ? и ~ в формулах

В условиях Excel * означает любое число символов, а ? ровно один: =СЧЁТЕСЛИ(A2:A7;"*apple*") считает ячейки, в которых есть apple. ~ превращает подстановочный знак обратно в обычный символ.

Каждая таблица на этой странице живая: измените число или формулу, и она пересчитается.

В Excel есть три подстановочных знака для условий и поиска: * соответствует любому числу символов (в том числе нулю), ? ровно одному символу, а ~ превращает следующий * или ? обратно в обычный символ. =СЧЁТЕСЛИ(A2:A7;"*apple*") считает ячейки, в которых apple встречается в любом месте. В таблицах формулы записаны по-английски, но их можно вводить и по-русски, с точкой с запятой, как здесь.

Подсчёт с подстановочными знаками
D2
ABCD
1ProductPatternCount
2Apple juice*apple*4
3Green appleapple*2
4Pineapple*juice2
5Orange juice?????0
6Pear*e4
7Apples
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =СЧЁТЕСЛИ($A$2:$A$7;C2)
  • *apple* содержит apple: 4 совпадения, потому что Pineapple тоже подходит.
  • apple* начинается с apple: только Apple juice и Apples. СЧЁТЕСЛИ не учитывает регистр.
  • *juice заканчивается на juice.
  • ????? ровно пять символов. Ни в одном из этих товаров нет пяти символов, поэтому 0; введите Peach в A6, и получится 1.
  • *e заканчивается на e.

Введите свой шаблон в столбце C, например *an* или P*, и количество обновится.

Частичное совпадение в ВПР и ПРОСМОТРX

ВПР принимает подстановочные знаки в режиме точного совпадения (ЛОЖЬ в последнем аргументе). Присоедините знак к значению прямо в формуле, тогда в D2 достаточно ввести только первые буквы:

Поиск по первым буквам
E2
ABCDE
1ProductPriceStarts withPrice
2Apple juice3.5Pin4
3Green apple1.24
4Pineapple4
5Orange juice3.2
6Pear0.9
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =ВПР(D2&"*";A2:B6;2;ЛОЖЬ)

Обе формулы находят Pineapple. Замените D2 на juice: шаблону ВПР juice* нужен текст, который начинается с juice, поэтому она возвращает #Н/Д (по-английски #N/A; таблицы на этой странице показывают ошибки под английскими именами), а шаблон ПРОСМОТРX *juice* находит первый товар, где это слово есть, Apple juice. Как и любое точное совпадение, поиск с подстановочным знаком возвращает первую подходящую строку, поэтому делайте шаблон достаточно точным.

ПРОСМОТРX считает * и ? подстановочными знаками, только когда её пятый аргумент, режим сопоставления, равен 2. Без него она ищет звёздочку буквально. ПОИСКПОЗ принимает подстановочные знаки с типом сопоставления 0, а ПОИСКПОЗX с режимом 2, как ПРОСМОТРX. Остальные аргументы описаны на странице ВПР.

Посчитать товары phone
D2
ABCD
1ProductPhone products
2Smartphone
3Headphones
4Phone stand
5Laptop bag
6Charger
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.

Ваша очередь: В D2 посчитайте товары, в названии которых в любом месте есть phone.

Сумма и среднее с подстановочным знаком

Все функции с условиями читают их одинаково, поэтому те же шаблоны работают в СУММЕСЛИ, СУММЕСЛИМН, СРЗНАЧЕСЛИ, СРЗНАЧЕСЛИМН, МАКСЕСЛИ и МИНЕСЛИ:

Сумма по части названия
E2
ABCDE
1RegionSalesPatternTotal
2North-East120North*285
3North-West95*West155
4South80?????150
5South-West60
6East110
7North70
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =СУММЕСЛИ(A2:A7;D2;B2:B7)

North* складывает все регионы, начинающиеся с North, включая сам North, потому что * соответствует и пустоте. ????? складывает регионы ровно из пяти символов: South и North.

Продажи всех регионов West
E2
ABCDE
1RegionSalesWest total
2North-East120
3North-West95
4South80
5South-West60
6East110
7North70
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.

Ваша очередь: В E2 посчитайте сумму продаж всех регионов, название которых заканчивается на West.

Найти настоящую звёздочку или вопросительный знак через ~

Чтобы посчитать текст, в котором есть настоящий * или ?, поставьте перед ним тильду. Сама тильда записывается как ~~.

Экранировать подстановочный знак
C2
ABC
1NoteCount
2Rated 5*1
3Why?1
4Done4
55 stars
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =СЧЁТЕСЛИ(A2:A5;"*~**")

C2 считает ячейки с буквальной звёздочкой (только A2), C3 ячейки с вопросительным знаком. C4 показывает другую сторону: "*" сам по себе соответствует любому тексту, поэтому считает все текстовые ячейки, здесь 4. Числа и пустые ячейки он пропускает, поэтому СЧЁТЕСЛИ(range;"*") обычно и используют для подсчёта текстовых ячеек.

Какие функции принимают подстановочные знаки

Принимают *, ?, ~Не принимают
СЧЁТЕСЛИ, СЧЁТЕСЛИМН, СУММЕСЛИ, СУММЕСЛИМН, СРЗНАЧЕСЛИ, СРЗНАЧЕСЛИМН, МАКСЕСЛИ, МИНЕСЛИ=, <> и другие сравнения
ВПР и ГПР с ЛОЖЬЕСЛИ сама по себе
ПОИСКПОЗ с 0НАЙТИ
ПРОСМОТРX и ПОИСКПОЗX с режимом сопоставления 2ФИЛЬТР, УНИК, СОРТ
ПОИСКПОДСТАВИТЬ, ТЕКСТДО, ТЕКСТПОСЛЕ
«Найти и заменить» (Ctrl+H), поля фильтра

ПОИСК принимает подстановочные знаки внутри формулы: =ПОИСК("b?d";"a bad day") возвращает 3 в Excel (подробности на странице НАЙТИ и ПОИСК). Для ФИЛЬТР используйте вместо шаблона условие ЕЧИСЛО(ПОИСК(...)).

Частая ошибка: подстановочный знак после =

Оператор = никогда не читает подстановочные знаки: =A2="*apple*" спрашивает, содержит ли A2 семь символов *apple*. В Excel, если в A2 стоит Green apple:

=A2="*apple*"                    FALSE
=IF(A2="*apple*","yes","no")     no

Перенесите проверку в СЧЁТЕСЛИ, которая для одной ячейки возвращает 1 или 0, или используйте ПОИСК:

Проверить одну ячейку с подстановочным знаком
B2
ABC
1ProductCOUNTIF testSEARCH test
2Green applecontains applecontains apple
3Pearnono
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =ЕСЛИ(СЧЁТЕСЛИ(A2;"*apple*");"contains apple";"no")

ЕСЛИ считает 1 от СЧЁТЕСЛИ значением ИСТИНА, а 0 значением ЛОЖЬ. Варианту с ПОИСК подстановочные знаки вообще не нужны, потому что ПОИСК и так ищет текст в любом месте ячейки.

Часто задаваемые вопросы

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

* соответствует любому числу символов, в том числе нулю; ? ровно одному символу; ~ перед *, ? или ~ делает его обычным символом. "*apple*" означает «содержит apple», "A*" «начинается с A», "???" «ровно три символа».

Как использовать подстановочный знак в ВПР?

Присоедините знак к искомому значению и используйте точное совпадение: =ВПР(E2&"*";A2:B6;2;ЛОЖЬ) находит первую запись, которая начинается с E2. В ПРОСМОТРX задайте режиму сопоставления значение 2: =ПРОСМОТРX("*"&E2&"*";A2:A6;B2:B6;"none";2).

Почему подстановочный знак не работает в формуле ЕСЛИ?

Сравнение через = не понимает подстановочные знаки, поэтому =ЕСЛИ(A2="*apple*";...) совпадёт только с буквальным текстом *apple*. Используйте =ЕСЛИ(СЧЁТЕСЛИ(A2;"*apple*");"Yes";"No") или =ЕСЛИ(ЕЧИСЛО(ПОИСК("apple";A2));"Yes";"No").

Как посчитать ячейки, в которых есть звёздочка?

Поставьте перед ней тильду: =СЧЁТЕСЛИ(A2:A10;"*~**"). Первая и последняя * это подстановочные знаки, а ~* это буквальная звёздочка.

Иллюстрация языков программирования Coddy

Учитесь программировать с Coddy

НАЧАТЬ