Функция Excel ISNUMBER с примерами формул

  • Поделись Этим
Michael Brown

В учебнике объясняется, что такое ISNUMBER в Excel, и приводятся примеры базового и расширенного использования.

Концепция функции ISNUMBER в Excel очень проста - она просто проверяет, является ли данное значение числом или нет. Важным моментом здесь является то, что практическое использование этой функции выходит далеко за рамки ее базовой концепции, особенно в сочетании с другими функциями в больших формулах.

    Функция Excel ISNUMBER

    Функция ISNUMBER в Excel проверяет, содержит ли ячейка числовое значение или нет. Она относится к группе функций IS.

    Функция доступна во всех версиях Excel для Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007 и ниже.

    Синтаксис ISNUMBER требует только одного аргумента:

    =ISNUMBER(value)

    Где значение это значение, которое вы хотите проверить. Обычно оно представлено ссылкой на ячейку, но вы также можете предоставить реальное значение или вложить другую функцию в ISNUMBER для проверки результата.

    Если значение является числовым, функция возвращает TRUE. Для всего остального (текстовые значения, ошибки, пробелы) ISNUMBER возвращает FALSE.

    В качестве примера проверим значения в ячейках с A2 по A6, и выясним, что первые 3 значения - числа, а последние два - текст:

    2 вещи, которые вы должны знать о функции ISNUMBER в Excel

    Здесь можно отметить несколько интересных моментов:

    • Во внутреннем представлении Excel, даты и раз являются числовыми значениями, поэтому формула ISNUMBER возвращает для них значение TRUE (см. B3 и B4 на скриншоте выше).
    • Для чисел, хранящихся в виде текста, функция ISNUMBER возвращает FALSE (см. этот пример).

    Примеры формулы Excel ISNUMBER

    Приведенные ниже примеры демонстрируют несколько обычных и несколько нетривиальных вариантов использования ISNUMBER в Excel.

    Проверьте, является ли значение числом

    Когда в рабочем листе имеется множество значений, и вы хотите узнать, какие из них являются числами, необходимо использовать функцию ISNUMBER.

    В этом примере первое значение находится в A2, поэтому мы используем приведенную ниже формулу для его проверки, а затем перетаскиваем формулу вниз на столько ячеек, сколько необходимо:

    =ISNUMBER(A2)

    Обратите внимание, что хотя все значения выглядят как числа, формула ISNUMBER вернула FALSE для ячеек A4 и A5, что означает, что эти значения являются числовые строки т.е. числа, отформатированные как текст. Причины могут быть разные, например, ведущие нули, предшествующий апостроф и т.д. Независимо от причины, Excel не распознает такие значения как числа. Поэтому, если ваши значения вычисляются неправильно, первым делом проверьте, действительно ли они являются числами с точки зрения Excel, а затем при необходимости преобразуйте текст в число.

    Формула Excel ПОИСК ПО ЧИСЛУ

    Помимо идентификации чисел, функция Excel ISNUMBER может также проверить, содержит ли ячейка определенный текст в качестве части содержимого. Для этого используйте ISNUMBER вместе с функцией ПОИСКПОЗ.

    В общем виде формула выглядит следующим образом:

    ISNUMBER(SEARCH( подстрока , ячейка ))

    Где подстрока это текст, который вы хотите найти.

    В качестве примера, давайте проверим, содержит ли строка в A3 определенный цвет, скажем, красный:

    =ISNUMBER(SEARCH("red", A3))

    Эта формула хорошо работает для одной ячейки. Но поскольку наша таблица-образец (см. ниже) содержит три разных цвета, написание отдельной формулы для каждого из них было бы пустой тратой времени. Вместо этого мы будем обращаться к ячейке, содержащей интересующий нас цвет (B2).

    =ISNUMBER(SEARCH(B$2, $A3))

    Чтобы формула правильно копировалась вниз и вправо, обязательно зафиксируйте следующие координаты знаком $:

    • В подстрока ссылка, зафиксируйте строку (B$2), чтобы скопированные формулы всегда выбирали подстроки в строке 2. Ссылка на столбец является относительной, поскольку мы хотим, чтобы она подстраивалась под каждый столбец, т.е. когда формула копируется в C3, ссылка на подстроку изменится на C$2.
    • В исходная ячейка ссылка, заблокируйте столбец ($A3), чтобы все формулы проверяли значения в столбце A.

    На скриншоте ниже показан результат:

    ISNUMBER FIND - формула, чувствительная к регистру

    Поскольку функция ПОИСК является без учета регистра Если вам нужна формула, чувствительная к регистру, используйте функцию FIND, а не SEARCH.

    ISNUMBER(FIND( подстрока , ячейка ))

    Для нашего набора данных формула примет следующий вид:

    =ISNUMBER(FIND(B$2, $A3))

    Как работает эта формула

    Логика формулы вполне очевидна и легко выполнима:

    • Функция SEARCH / FIND ищет подстроку в указанной ячейке. Если подстрока найдена, возвращается позиция первого символа. Если подстрока не найдена, функция выдает ошибку #VALUE!
    • Функция ISNUMBER берет его оттуда и обрабатывает числовые позиции. Таким образом, если подстрока найдена и ее позиция возвращается в виде числа, ISNUMBER выводит TRUE. Если подстрока не найдена и возникает ошибка #VALUE!, ISNUMBER выводит FALSE.

    формула IF ISNUMBER

    Если вы хотите получить формулу, которая выводит что-то отличное от TRUE или FALSE, используйте ISNUMBER вместе с функцией IF.

    Пример 1. В какой ячейке содержится текст

    Продолжая предыдущий пример, предположим, что вы хотите отметить цвет каждого элемента знаком "x", как показано в таблице ниже.

    Чтобы сделать это, просто оберните формулу ПОИСК ISNUMBER в оператор IF:

    =IF(ISNUMBER(SEARCH(B$2, $A3)), "x", "")

    Если ISNUMBER возвращает TRUE, функция IF выводит "x" (или любое другое значение, которое вы передаете в функцию значение_если_истина Если ISNUMBER возвращает FALSE, функция IF выводит пустую строку ("").

    Пример 2. Первый символ в ячейке - число или текст

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

    Чтобы построить такую формулу, нам понадобятся 4 различные функции:

    • Функция LEFT извлекает первый символ из начала строки, скажем, в ячейке A2:

      LEFT(A2, 1)

    • Поскольку LEFT относится к категории текстовых функций, ее результатом всегда является текстовая строка, даже если она содержит только числа. Поэтому, прежде чем проверять извлеченный символ, нужно попытаться преобразовать его в число. Для этого используйте либо функцию VALUE, либо двойной унарный оператор:

      ЗНАЧЕНИЕ(LEFT(A2, 1)) или (--LEFT(A2, 1))

    • Функция ISNUMBER определяет, является ли извлеченный символ числовым или нет:

      ISNUMBER(VALUE(LEFT(A2, 1)))

    • На основании результата ISNUMBER (TRUE или FALSE) функция IF возвращает "Число" или "Буква", соответственно.

    Если предположить, что мы проверяем строку в A2, то полная формула примет следующий вид:

    =IF(ISNUMBER(VALUE(LEFT(A2, 1))), "Число", "Буква")

    или

    =IF(ISNUMBER(--LEFT(A2, 1)), "Число", "Буква")

    Функция ISNUMBER также может пригодиться в следующих случаях извлечение чисел из строки. Вот пример: Получить число из любой позиции в строке.

    Проверьте, не является ли значение числом

    Хотя в Microsoft Excel есть специальная функция ISNONTEXT для определения того, не является ли значение ячейки текстом, аналогичная функция для чисел отсутствует.

    Простым решением является использование ISNUMBER в сочетании с NOT, который возвращает противоположное логическое значение. Другими словами, когда ISNUMBER возвращает TRUE, NOT преобразует его в FALSE, и наоборот.

    Чтобы увидеть его в действии, проследите за результатами следующей формулы:

    =NOT(ISNUMBER(A2))

    Другой подход заключается в использовании функций IF и ISNUMBER вместе:

    =IF(ISNUMBER(A2), "", "Не номер")

    Если A2 является числовым, формула не возвращает ничего (пустую строку). Если A2 не является числовым, формула говорит об этом прямо: "Не число".

    Если вы хотите выполнить некоторые вычисления с числами, то поместите уравнение или другую формулу в поле значение_если_истина вместо пустой строки. Например, приведенная ниже формула будет умножать числа на 10 и выдавать "Не число" для нечисловых значений:

    =IF(ISNUMBER(A2), A2*10, "Не номер")

    Проверьте, содержит ли диапазон какое-либо число

    В ситуации, когда необходимо проверить весь диапазон на наличие чисел, используйте функцию ISNUMBER в сочетании с SUMPRODUCT следующим образом:

    SUMPRODUCT(--ISNUMBER( ассортимент ))>0 SUMPRODUCT(ISNUMBER( ассортимент )*1)>0

    Например, чтобы узнать, содержит ли диапазон A2:A5 какое-либо числовое значение, формулы будут выглядеть следующим образом:

    =SUMPRODUCT(--ISNUMBER(A2:A5))>0

    =SUMPRODUCT(ISNUMBER(A2:A5)*1)>0

    Если вы хотите вывести "Yes" и "No" вместо TRUE и FALSE, используйте оператор IF в качестве "обертки" для вышеуказанных формул. Например:

    =IF(SUMPRODUCT(--ISNUMBER(A2:A5))>0, "Да", "Нет")

    Как работает эта формула

    В основе формулы функция ISNUMBER оценивает каждую ячейку указанного диапазона, скажем B2:B5, и возвращает TRUE для чисел, FALSE для всего остального. Поскольку диапазон содержит 4 ячейки, массив имеет 4 элемента:

    {TRUE;FALSE;FALSE;FALSE;FALSE}

    Операция умножения или двойной унари (--) превращает TRUE и FALSE в 1 и 0, соответственно:

    {1;0;0;0}

    Функция SUMPRODUCT суммирует элементы массива. Если результат больше нуля, это означает, что в диапазоне есть хотя бы одно число. Таким образом, вы используете ">0", чтобы получить окончательный результат TRUE или FALSE.

    ISNUMBER в условном форматировании для выделения ячеек, содержащих определенный текст

    Если вам нужно выделить ячейки или целые строки, содержащие определенный текст, создайте правило условного форматирования на основе формулы ISNUMBER SEARCH (нечувствительный к регистру) или ISNUMBER FIND (чувствительный к регистру).

    В данном примере мы будем выделять строки на основе значения в столбце А. Точнее, мы будем выделять элементы, содержащие слово "красный". Вот как это делается:

    1. Выберите все строки данных (A2:C6 в данном примере) или только столбец, в котором нужно выделить ячейки.
    2. На Главная во вкладке Стили группу, нажмите Новое правило > Используйте формулу, чтобы определить, какие ячейки форматировать .
    3. В Форматируйте значения, для которых эта формула истинна введите приведенную ниже формулу (обратите внимание, что координата столбца закрыта знаком $):

      =ISNUMBER(SEARCH("red", $A2))

    4. Нажмите кнопку Формат и выберите нужный формат.
    5. Дважды нажмите OK.

    Если у вас мало опыта работы с условным форматированием в Excel, вы можете найти подробные шаги со скриншотами в этом руководстве: Как создать правило условного форматирования на основе формулы.

    В результате все элементы красного цвета будут выделены:

    Вместо того чтобы "жестко кодировать" цвет в правиле условного форматирования, вы можете ввести его в предопределенную ячейку, например E2, и ссылаться на нее в своей формуле (пожалуйста, помните об абсолютной ссылке на ячейку $E$2). Кроме того, вам нужно проверить, не является ли входная ячейка пустой:

    =AND(ISNUMBER(SEARCH($E$2, $A2)), $E$2"")

    В результате вы получите более гибкое правило, которое выделяет строки на основе ваших данных в E2:

    Вот как использовать функцию ISNUMBER в Excel. Я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!

    Доступные загрузки

    Примеры формулы Excel ISNUMBER

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.