Функція ISNUMBER в Excel з прикладами формул

  • Поділитися Цим
Michael Brown

Посібник пояснює, що таке ЧИСЛО в Excel, і наводить приклади базового та розширеного використання.

Концепція функції ЧИСЛО в Excel дуже проста - вона просто перевіряє, чи є задане значення числом чи ні. Важливим моментом тут є те, що практичне використання функції виходить далеко за межі її базової концепції, особливо в поєднанні з іншими функціями в рамках великих формул.

    Функція ISNUMBER в Excel

    Функція СЧЕТЕСЛИ в Excel перевіряє, чи містить комірка числове значення чи ні. Вона відноситься до групи функцій СРЗНАЧ.

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

    Синтаксис ISNUMBER вимагає лише одного аргументу:

    =ISNUMBER(значення)

    Де значення це значення, яке ви хочете перевірити. Зазвичай воно представлене посиланням на комірку, але ви також можете ввести реальне значення або вкласти іншу функцію в ISNUMBER, щоб перевірити результат.

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

    Як приклад, перевіримо значення в комірках з А2 по А6, і виявимо, що перші 3 значення є числами, а останні два - текстом:

    2 речі, які варто знати про функцію ЧИСЛО в Excel

    Тут є кілька цікавих моментів, на які слід звернути увагу:

    • У внутрішньому представленні Excel, дати і разів є числовими значеннями, тому формула ISNUMBER повертає для них значення ІСТИНА (див. B3 та B4 на скріншоті вище).
    • Для чисел, що зберігаються у вигляді тексту, функція ISNUMBER повертає значення FALSE (див. цей приклад).

    Приклади формул ISNUMBER в Excel

    Наведені нижче приклади демонструють кілька поширених і кілька нетривіальних застосувань функції ISNUMBER в Excel.

    Перевірка, чи є значення числом

    Якщо у вас є кілька значень на робочому аркуші, і ви хочете знати, які з них є числами, ISNUMBER - це правильна функція для використання.

    У цьому прикладі перше значення знаходиться в комірці A2, тому ми використовуємо наведену нижче формулу для його перевірки, а потім перетягуємо формулу вниз на стільки клітинок, скільки потрібно:

    =ISNUMBER(A2)

    Зверніть увагу, що хоча всі значення виглядають як числа, формула ISNUMBER повернула ЛОЖЬ для комірок A4 і A5, що означає, що ці значення є числові рядки Причини цього можуть бути різні, наприклад, провідні нулі, попередній апостроф і т.д. Якою б не була причина, Excel не розпізнає такі значення як числа. Отже, якщо ваші значення розраховуються некоректно, перше, що вам потрібно перевірити, чи дійсно вони є числами з точки зору Excel, а потім, при необхідності, перетворити текст в число.

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

    Крім ідентифікації чисел, функція НОМЕР в Excel може також перевірити, чи містить комірка певний текст як частину вмісту. Для цього використовуйте функцію НОМЕР разом з функцією ПОИСК.

    У загальному вигляді формула виглядає наступним чином:

    ISUMBER(SEARCH( підрядок , клітина ))

    Де підрядок це текст, який ви хочете знайти.

    Як приклад, перевіримо, чи містить рядок у форматі А3 певний колір, скажімо, червоний:

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

    Ця формула добре працює для однієї клітинки. Але оскільки наша таблиця (див. нижче) містить три різні кольори, написання окремої формули для кожного з них було б марною тратою часу. Замість цього ми звернемося до клітинки, що містить колір, який нас цікавить (B2).

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

    Щоб формула коректно копіювалася вниз і вправо, обов'язково зафіксуйте наступні координати знаком $:

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

    Скріншот нижче демонструє результат:

    ISNUMBER FIND - формула, чутлива до регістру

    Як працює функція ПОШУК нечутливий до регістру наведена вище формула не розрізняє великі та малі літери. Якщо ви шукаєте формулу з урахуванням регістру, використовуйте функцію "ЗНАЙТИ", а не "ПОШУК".

    ISNUMBER(FIND( підрядок , клітина ))

    Для нашого прикладу формула матиме такий вигляд:

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

    Як працює ця формула

    Логіка формули досить очевидна і проста для розуміння:

    • Функція ПОИСК/ЗНАЙТИ шукає підрядок у вказаній комірці. Якщо підрядок знайдено, то повертається позиція першого символу. Якщо підрядок не знайдено, то функція видає помилку #ЗНАЧ!
    • Функція ISNUMBER бере його звідти і обробляє числові позиції. Таким чином, якщо підрядок знайдено і його позиція повертається у вигляді числа, ISNUMBER виводить TRUE. Якщо підрядок не знайдено і виникає помилка #VALUE!, ISNUMBER виводить FALSE.

    Формула IF ISNUMBER

    Якщо ви хочете отримати формулу, яка виводить щось інше, ніж ІСТИНА або ХИБНІСТЬ, використовуйте ЧИСЛО разом з функцією ЕСЛИ.

    Приклад 1. яка комірка містить текст

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

    Для цього просто помістіть формулу ПОШУК НОМЕРІВ в оператор IF:

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

    Якщо ISNUMBER повертає значення ІСТИНА, функція IF виводить "x" (або будь-яке інше значення, яке ви введете в value_if_true Якщо ISNUMBER повертає значення FALSE, то функція IF виводить порожній рядок ("").

    Приклад 2. перший символ у комірці - число або текст

    Уявіть, що ви працюєте зі списком алфавітно-цифрових рядків і хочете дізнатися, чи є перший символ рядка цифрою або літерою.

    Для побудови такої формули нам знадобляться 4 різні функції:

    • Функція LEFT витягує перший символ з початку рядка, наприклад, з комірки A2:

      LEFT(A2, 1)

    • Оскільки функція LEFT відноситься до категорії Text, то її результатом завжди є текстовий рядок, навіть якщо він містить тільки цифри. Тому перед перевіркою витягнутого символу потрібно спробувати перетворити його в число. Для цього використовують або функцію VALUE, або унарний оператор double:

      VALUE(LEFT(A2, 1)) або (--LEFT(A2, 1))

    • Функція ISNUMBER визначає, чи є витягнутий символ цифровим чи ні:

      ISUMBER(VALUE(LEFT(A2, 1)))

    • На основі результату ISNUMBER (ІСТИНА або ХИБНІСТЬ) функція IF повертає "Число" або "Літеру" відповідно.

    Якщо припустити, що ми тестуємо рядок в комірці A2, то повна формула набуває такого вигляду:

    =IF(ISNUMBER(VALUE(LEFT(A2, 1))), "Номер", "Буква")

    або

    =IF(ISNUMBER(--LEFT(A2, 1)), "Номер", "Буква")

    Функція ISNUMBER також стане в нагоді для вилучення номерів з рядка. Ось приклад: Отримати число з будь-якої позиції в рядку.

    Перевірка, якщо значення не є числом

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

    Простим рішенням є використання ISNUMBER в поєднанні з NOT, який повертає протилежне логічне значення. Іншими словами, коли ISNUMBER повертає значення TRUE, NOT перетворює його в FALSE, і навпаки.

    Щоб побачити це в дії, прошу звернути увагу на результати наступної формули:

    =NOT(ISUMBER(A2))

    Інший підхід полягає у спільному використанні функцій IF та ISNUMBER:

    =IF(ISNUMBER(A2), "", "Не число")

    Якщо А2 є числовим значенням, то формула нічого не повертає (порожній рядок). Якщо А2 не є числовим значенням, то формула повідомляє про це заздалегідь: "Не є числом".

    Якщо ви хочете виконати якісь обчислення з числами, то введіть рівняння або іншу формулу в поле value_if_true Наприклад, наведена нижче формула буде множити числа на 10 і повертатиме "Не число" для нечислових значень:

    =IF(ISNUMBER(A2), A2*10, "Не число")

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

    У ситуації, коли потрібно перевірити весь діапазон на наявність чисел, використовуйте функцію ISNUMBER у поєднанні з SUMPRODUCT, наприклад, таким чином:

    SUMPRODUCT(--ISNUMBER( діапазон ))>0 СУММЕСЛИ(ISNUMBER( діапазон )*1)>0

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

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

    =СУММЕСЛИ(НОМЕР(A2:A5)*1)>0

    Якщо ви хочете вивести "Так" і "Ні" замість TRUE і FALSE, використовуйте оператор IF як "обгортку" для наведених вище формул. Наприклад:

    =IF(SUMPRODUCT(--ISNUMBER(A2:A5))>0, "Так", "Ні")

    Як працює ця формула

    В основі формули лежить функція ИСЧИСЛ, яка обчислює кожну комірку вказаного діапазону, скажімо B2:B5, і повертає значення ІСТИНА для чисел, ЛОЖЬ для всього іншого. Оскільки діапазон містить 4 комірки, то масив має 4 елементи:

    {TRUE;FALSE;FALSE;FALSE;FALSE}

    Операція множення або подвійний унарний оператор (--) перетворює значення TRUE та FALSE в 1 та 0 відповідно:

    {1;0;0;0}

    Функція СУММЕСЛИ підсумовує елементи масиву. Якщо результат більше нуля, то це означає, що в діапазоні є хоча б одне число. Отже, для отримання кінцевого результату ІСТИНА або ХИБНІСТЬ використовується ">0".

    ЦИФРА в умовному форматуванні для виділення комірок, які містять певний текст

    Якщо потрібно виділити клітинки або цілі рядки, що містять певний текст, створіть правило умовного форматування на основі формули ПОИСК ЧИСЛА (без урахування регістру) або ПОИСК ЧИСЛА (з урахуванням регістру).

    Для цього прикладу ми будемо виділяти рядки на основі значення в колонці А. Точніше, ми будемо виділяти елементи, які містять слово "червоний". Ось як:

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

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

    4. Натисніть на кнопку Формат та оберіть потрібний формат.
    5. Двічі натисніть OK.

    Якщо у вас мало досвіду роботи з умовним форматуванням в Excel, ви можете знайти детальні кроки зі скріншотами в цій інструкції: Як створити правило умовного форматування на основі формули.

    В результаті всі елементи червоного кольору підсвічуються:

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

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

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

    Ось так можна використовувати функцію СЧЕТЕСЛИ в Excel. Дякую за прочитання і сподіваюся побачити Вас на нашому блозі наступного тижня!

    Доступні для завантаження

    Приклади формул ISNUMBER в Excel

    Майкл Браун — відданий ентузіаст технологій із пристрастю до спрощення складних процесів за допомогою програмних засобів. Маючи понад десятирічний досвід роботи в технологічній індустрії, він відточив свої навички роботи з Microsoft Excel і Outlook, а також із Google Таблицями та Документами. Блог Майкла присвячений тому, щоб поділитися своїми знаннями та досвідом з іншими, надаючи прості поради та навчальні посібники для підвищення продуктивності та ефективності. Незалежно від того, чи є ви досвідченим професіоналом чи початківцем, блог Майкла пропонує цінну інформацію та практичні поради щодо отримання максимальної користі від цих основних програмних інструментів.