Excel: функция ISNUMBER — как проверять числа и очищать данные

Excel предлагает множество функций для сложных вычислений и анализа. Одна из полезных логических функций — ISNUMBER. Она позволяет быстро отличать числовые значения от текста или ошибок, что особенно удобно при обработке больших таблиц.
Что такое функция ISNUMBER
ISNUMBER — логическая функция, возвращающая TRUE, если значение в ячейке распознано как число, и FALSE, если нет.
Определение в одну строку: логическая функция, проверяющая, является ли аргумент числом.
Синтаксис:
=ISNUMBER(value)Здесь value — ссылка на ячейку, результат формулы или константа. Примеры:
=ISNUMBER(A1)
=ISNUMBER(123)
=ISNUMBER(VALUE(B2))Если в A1 число, формула вернёт TRUE, иначе — FALSE.
Важно: ISNUMBER проверяет, распознаёт ли Excel значение как число. Текстовые строки, даже если они состоят только из цифр, вернут FALSE, пока не будут преобразованы в число (например, через VALUE или арифметическую операцию).
Использование ISNUMBER вместе с другими функциями
ISNUMBER часто применяется в составе вложенных формул для решения реальных задач: поиска подстроки, проверки префикса, подсчёта наличия чисел в диапазоне и т.д.
Использование FIND вместе с ISNUMBER
FIND возвращает позицию подстроки внутри строки или ошибку #VALUE!, если подстрока не найдена. В комбинации с ISNUMBER получается надёжная проверка наличия подстроки.
Пример: найти адреса Gmail в столбце A:
=IF(ISNUMBER(FIND("@gmail.com",A2)),"Gmail address","Not a Gmail address")Как это работает:
- FIND возвращает число (позицию) при совпадении; ISNUMBER даёт TRUE.
- Если подстрока отсутствует, FIND даёт ошибку; ISNUMBER даёт FALSE.
Примечание: FIND чувствителен к регистру. Для нечувствительного поиска используйте SEARCH.
Использование LEFT вместе с ISNUMBER
LEFT извлекает первые N символов. Чтобы проверить, являются ли они числовыми, нужно преобразовать результат в число.
Пример: проверить, являются ли первые четыре символа номера детали числом:
=ISNUMBER(LEFT(A2,4)*1)Здесь умножение на 1 конвертирует текст в число, если это возможно. Если в первых четырёх символах есть буквы или пробелы, конвертация вернёт ошибку или нечисловой результат — ISNUMBER даст FALSE.
Совет: вместо умножения на 1 можно использовать VALUE(LEFT(…)), чтобы явно преобразовать текст в число.
Использование SUMPRODUCT вместе с ISNUMBER
Чтобы протестировать диапазон на наличие хотя бы одного числа, удобно применять массивную логику и SUMPRODUCT.
Пример: проверить, есть ли хоть одно число в диапазоне A2:A6:
=SUMPRODUCT(--ISNUMBER(A2:A6))>0Пояснение:
- ISNUMBER возвращает массив TRUE/FALSE.
- Двойное отрицание – превращает TRUE/FALSE в 1/0.
- SUMPRODUCT суммирует единицы; сравнение >0 даёт окончательный логический ответ.
Альтернатива: в современных Excel можно использовать функцию COUNT or COUNTIF для подсчёта чисел: =COUNT(A2:A6)>0.
Типичные сценарии и готовые шаблоны
Ниже — набор полезных шаблонов и сниппетов для реальных задач.
Шпаргалка формул:
=IF(ISNUMBER(A2),"Число","Не число")
=IF(ISNUMBER(SEARCH("@gmail.com",A2)),"Gmail","Другой")
=FILTER(A2:A100,ISNUMBER(A2:A100)) // в Excel 365/2021
=SUMPRODUCT(--ISNUMBER(VALUE(TRIM(A2:A100)))) // учитывая пробелыМетодика быстрой очистки числовых данных (мини-методология):
- Привести пробелы: TRIM или SUBSTITUTE для неразрывных пробелов.
- Удалить символы валюты и разделители: SUBSTITUTE, либо использовать Power Query.
- Преобразовать текст в число: VALUE или умножение на 1.
- Проверить результат: ISNUMBER.
- Отфильтровать / заменить неверные значения.
Когда ISNUMBER не сработает или даст ложные ожидания
- Текст, состоящий из цифр, но форматирован как текст, вернёт FALSE, пока не будет явно приведён к числу.
- Даты и часы — числовые в Excel, поэтому ISNUMBER вернёт TRUE для даты (это ожидаемо, но важно учитывать).
- Формулы, возвращающие ошибку (#N/A, #VALUE!, #REF!), дадут FALSE; иногда лучше использовать IFERROR вокруг выражения.
- Локальные разделители: в разных локалях десятичный разделитель отличается (запятая/точка). Это влияет на попытки преобразовать строку в число.
Альтернативные подходы
- SEARCH + ISNUMBER — нечувствительный к регистру поиск подстрок.
- VALUE — явное преобразование текста в число; полезно перед ISNUMBER.
- NUMBERVALUE — учитывает локальные разделители, удобен для импорта строк с разной локализацией.
- COUNT, COUNTIF — быстрый подсчёт чисел в диапазоне без массивных конструкций.
- Power Query — для массовой очистки и устойчивой трансформации типов.
Руководство по проверке данных с ISNUMBER — пошаговый SOP
- Создайте копию листа перед массовыми изменениями.
- Выполните визуальную проверку: отфильтруйте по формату текста/числа.
- Примените TRIM и SUBSTITUTE для удаления невидимых символов.
- Преобразуйте потенциальные числовые строки: VALUE или NUMBERVALUE.
- Пометьте результат колонкой проверки: =ISNUMBER(ячейка).
- Отфильтруйте FALSE и исправьте вручную или через правила замены.
- Повторно проверьте и зафиксируйте результаты.
Критерии приёмки
- Все ожидаемые числовые поля помечены TRUE.
- Количество преобразованных значений совпадает с ожидаемым числом записей.
- Нет ошибок формата в итоговых числовых столбцах.
Тестовые случаи и сценарии приёмки
- Простые числа: 123, -45, 0.01 → ISNUMBER = TRUE.
- Числовые строки: “123” → после VALUE или умножения → TRUE.
- Дата: 01.01.2020 → ISNUMBER = TRUE (проверить ожидания).
- Текст с буквами: “12A3” → ISNUMBER = FALSE.
- Пробелы: “ 456 “ → TRIM + VALUE → ISNUMBER = TRUE.
- Ошибки формул: #VALUE! → ISNUMBER = FALSE; использовать IFERROR для обработки.
Чек-лист по ролям
Аналитик:
- Проверить столбцы на смешанные типы.
- Использовать ISNUMBER для фильтрации чисел.
Разработчик отчётов:
- Автоматизировать преобразования через Power Query.
- Добавлять контрольные столбцы с ISNUMBER для валидации источников.
QA:
- Прогнать тестовые наборы и подтвердить критерии приёмки.
- Проверить локализацию числовых форматов.
Диаграмма принятия решения
flowchart TD
A[Начать проверку] --> B{Значение пустое?}
B -- Да --> C[Отметить как пустое]
B -- Нет --> D[Попробовать NUMBERVALUE]
D --> E{NUMBERVALUE вернул число?}
E -- Да --> F[ISNUMBER = TRUE]
E -- Нет --> G[Проверить SEARCH/FIND для шаблонов]
G --> H{Найдена подстрока?}
H -- Да --> I[Маркировать по правилу]
H -- Нет --> J[ISNUMBER = FALSE и ручная проверка]Глоссарий
ISNUMBER — функция, проверяющая, является ли аргумент числом. VALUE — функция, преобразующая текст в число. NUMBERVALUE — функция, преобразующая текст в число с учётом локальных разделителей. FIND — поиск подстроки с учётом регистра. SEARCH — поиск подстроки без учёта регистра.
Полезные замечания
Important: для смешанных данных лучше использовать Power Query — он устойчив к разным локалям и формам представления чисел.
Note: при международных данных используйте NUMBERVALUE для явного указания десятичного и тысячного разделителей.
Резюме
ISNUMBER — простая и надёжная функция для проверки чисел в ячейках. В комбинации с FIND, LEFT, SUMPRODUCT и функциями преобразования (VALUE, NUMBERVALUE) она становится мощным инструментом для валидации и очистки данных. Для масштабной обработки и устойчивости к разным форматам рекомендуем использовать Power Query и системные проверки в несколько этапов.
Ключевые действия:
- Очищайте исходный текст (TRIM, SUBSTITUTE), затем преобразовывайте (VALUE/NUMBERVALUE).
- Используйте ISNUMBER для маркировки и фильтрации результатов.
- Для массовой трансформации применяйте Power Query.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone