Почему в Google Таблицах не функционирует подстановочный знак (*/?)?

Здравствуйте! У меня возникла проблема: подстановочные знаки в формулах <a href="https://support.google.com/docs/answer/78413?hl=ru-Ru&amp;ref_topic=9066125#zippy=%2C%D0%BF%D0%BE%D0%B4%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BE%D1%87%D0%BD%D1%8B%D0%B5-%D0%B7%D0%BD%D0%B0%D0%BA%D0%B8" rel="nofollow">условного форматирования</a> перестали работать. Знак вопроса и звездочка воспринимаются как обычные символы, а не как подстановочные. Я сначала подумал, что мог отключить какую-то настройку, но не смог найти ничего подобного. <br/><br/> Я даже создал новую таблицу под другим пользователем, но простейшая формула =F5="111*" не срабатывает, когда в ячейке нет текста "111*". То же происходит с формулой =ЕСЛИ(F5="111*";"да";"нет"), она возвращает "нет" для всех значений, кроме "111*". <br/><br/> Можете подсказать, связано ли это с какими-то настройками или что-то изменилось в программном обеспечении?
  • 25 марта 2025 г. 15:14
Ответы на вопрос 3
Подстановочные знаки в Google Таблицах работают в контексте функций, но не в контексте строгого сравнения строк в формулах. Когда вы используете формулы вроде `=F5="111*"`, Google Таблицы сравнивают значение ячейки F5 с текстом "111*", включая символы подстановки. Таким образом, `="111*"` воспринимается как обычная строка, а не как шаблон, и результат всегда будет "нет", если только в ячейке нет именно текста "111*".

Если вы хотите использовать подстановочные знаки в Google Таблицах, вам нужно применять функции, которые поддерживают их, такие как `СЧЕТЕСЛИ`, `СЧЕТЕСЛИМН`, `ПОИСК`, `НАЙТИ` и т.д. Вот примеры:

1. **Использование СЧЕТЕСЛИ:**
   ```plaintext
   =ЕСЛИ(СЧЕТЕСЛИ(F5; "111*") > 0; "да"; "нет")
   ```
   Эта формула вернет "да", если в ячейке F5 содержится текст, начинающийся с "111".

2. **Использование СЧЕТ:**
   Если вы хотите проверить, заканчивается ли текст на определенный символ, вы можете использовать:
   ```plaintext
   =ЕСЛИ(ПРАВО(F5; 1) = "*"; "да"; "нет")
   ```
   Этот подход позволяет проверить последний символ в строке.

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

Касаемо условного форматирования надо писать все эти * и ? превращать в вариации к функции ПОИСК (или аналогичным). Например, для слова YYYYxxxAAAA полностью подходит "=ЕСЛИОШИБКА(ПОИСК("xxx"; $F5);0)<>0".
Подстановочные знаки работают не во всех функциях. Например, в SEARCHB работают согласно документации: 
https://support.google.com/docs/answer/3295923?hl=ru

У вас же подстановочный знак вообще не относится к функции! Вы сначала делаете обычный оператор сравнения = , который, естественно, не учитывает подстановочные знаки. А затем вы результат уже подставляете в функцию. Такое не сработает ни с одной функцией, даже если она поддерживает подстановочные знаки, потому что функция как бы не будет знать, что они использовались. Функция получит на вход результат выражения (в данном слeчае результат True или False), а уж откуда и как этот результат получен - не её дело.
Похожие вопросы