Съдържание
В урока е обяснено какво е ISNUMBER в Excel и са дадени примери за основни и разширени употреби.
Концепцията на функцията ISNUMBER в Excel е много проста - тя просто проверява дали дадена стойност е число или не. Важно е да се отбележи, че практическите приложения на функцията далеч надхвърлят нейната основна концепция, особено когато се комбинира с други функции в по-големи формули.
Функция ISNUMBER на Excel
Функцията ISNUMBER в Excel проверява дали дадена клетка съдържа числова стойност или не. Тя принадлежи към групата на функциите IS.
Функцията е налична във всички версии на Excel за Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007 и по-ниски.
Синтаксисът ISNUMBER изисква само един аргумент:
=ISNUMBER(стойност)
Къде: стойност Обикновено тя е представена чрез препратка към клетка, но можете да предоставите и реална стойност или да вложите друга функция в ISNUMBER, за да проверите резултата.
Ако стойност е числова, функцията връща TRUE. За всички останали стойности (текстови стойности, грешки, празни полета) ISNUMBER връща FALSE.
Като пример, нека тестваме стойностите в клетките от A2 до A6 и ще установим, че първите 3 стойности са числа, а последните две - текст:
2 неща, които трябва да знаете за функцията ISNUMBER в Excel
Тук трябва да се отбележат няколко интересни момента:
- Във вътрешното представяне на Excel, дати и пъти са числови стойности, така че формулата ISNUMBER връща TRUE за тях (моля, вижте B3 и B4 на скрийншота по-горе).
- За числа, съхранени като текст, функцията ISNUMBER връща FALSE (вж. този пример).
Примери за формулата ISNUMBER на Excel
Примерите по-долу демонстрират няколко често срещани и няколко нетривиални употреби на ISNUMBER в Excel.
Проверка дали дадена стойност е число
Когато в работния си лист имате няколко стойности и искате да разберете кои от тях са числа, функцията ISNUMBER е подходяща за използване.
В този пример първата стойност се намира в A2, затова използваме формулата по-долу, за да я проверим, и след това преместваме формулата надолу до толкова клетки, колкото е необходимо:
=ISNUMBER(A2)
Обърнете внимание, че въпреки че всички стойности изглеждат като числа, формулата ISNUMBER е върнала FALSE за клетки A4 и A5, което означава, че тези стойности са цифрови низове , т.е. числа, форматирани като текст. Възможно е да има различни причини за това, например водещи нули, предхождащ апостроф и т.н. Каквато и да е причината, Excel не разпознава такива стойности като числа. Така че, ако стойностите ви не се изчисляват правилно, първото нещо, което трябва да проверите, е дали те наистина са числа от гледна точка на Excel, и след това да преобразувате текста в число, ако е необходимо.
Формула Excel ISNUMBER SEARCH
Освен за идентифициране на числа, функцията ISNUMBER на Excel може също така да провери дали дадена клетка съдържа определен текст като част от съдържанието ѝ. За тази цел използвайте ISNUMBER заедно с функцията SEARCH.
В общия случай формулата изглежда по следния начин:
ISNUMBER(ТЪРСЕНЕ( подниз , клетка ))Къде: подниз е текстът, който искате да намерите.
Като пример, нека проверим дали низът в A3 съдържа определен цвят, например червен:
=ISNUMBER(SEARCH("red", A3))
Тази формула работи добре за една клетка. Но тъй като нашата примерна таблица (моля, вижте по-долу) съдържа три различни цвята, писането на отделна формула за всеки от тях би било загуба на време. Вместо това ще се позоваваме на клетката, съдържаща интересуващия ни цвят (B2).
=ISNUMBER(SEARCH(B$2, $A3))
За да може формулата да се копира правилно надолу и надясно, не забравяйте да заключите следните координати със знака $:
- В подниз референцията, заключете реда (B$2), така че копираните формули винаги да избират поднизите в ред 2. Референцията за колона е относителна, защото искаме да се адаптира за всяка колона, т.е. когато формулата се копира в C3, референцията за подниза ще се промени на C$2.
- В изходна клетка справка, заключете колоната ($A3), така че всички формули да проверяват стойностите в колона A.
Резултатът е показан на снимката на екрана по-долу:
ISNUMBER FIND - формула, чувствителна към малки и големи букви
Тъй като функцията SEARCH е без значение на размера на буквите , горната формула не прави разлика между главни и малки букви. Ако търсите формула, чувствителна към големи и малки букви, използвайте функцията 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 SEARCH в оператора IF:
=IF(ISNUMBER(SEARCH(B$2, $A3)), "x", "")
Ако функцията ISNUMBER върне TRUE, функцията IF извежда "x" (или друга стойност, която подавате на функцията value_if_true Ако ISNUMBER върне FALSE, функцията IF извежда празен низ ("").
Пример 2. Първият символ в клетка е число или текст
Представете си, че работите със списък от буквено-цифрови низове и искате да разберете дали първият символ на даден низ е цифра или буква.
За да създадете такава формула, ще ви трябват 4 различни функции:
- Функцията LEFT извлича първия символ от началото на низ, например в клетка А2:
LEFT(A2, 1)
- Тъй като LEFT принадлежи към категорията на функциите за текст, резултатът от нея винаги е текстов низ, дори и да съдържа само числа. Затова, преди да проверим извлечения символ, трябва да се опитаме да го превърнем в число. За целта използвайте функцията VALUE или двойния унарен оператор:
СТОЙНОСТ(LEFT(A2, 1))
или(--LEFT(A2, 1))
- Функцията ISNUMBER определя дали извлеченият символ е цифров или не:
ISNUMBER(СТОЙНОСТ(LEFT(A2, 1))
- Въз основа на резултата от ISNUMBER (TRUE или FALSE) функцията IF връща съответно "Number" или "Letter".
Ако приемем, че тестваме низ в 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 не е число, формулата го казва предварително: "Не е число".
Ако искате да извършите някои изчисления с числа, поставете уравнение или друга формула в value_if_true вместо празен низ. Например формулата по-долу ще умножи числата по 10 и ще даде резултат "Not number" за нецифрови стойности:
=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
Ако искате да изведете "Да" и "Не" вместо TRUE и FALSE, използвайте оператора IF като "обвивка" за горните формули. Например:
=IF(SUMPRODUCT(--ISNUMBER(A2:A5))>0, "Yes", "No")
Как работи тази формула
В основата на формулата е функцията ISNUMBER, която оценява всяка клетка от зададения диапазон, например B2:B5, и връща TRUE за числата, FALSE за всичко останало. Тъй като диапазонът съдържа 4 клетки, масивът има 4 елемента:
{TRUE;FALSE;FALSE;FALSE}
Операцията умножение или двойният едночленен ключ (--) превръщат TRUE и FALSE съответно в 1 и 0:
{1;0;0;0}
Функцията SUMPRODUCT сумира елементите на масива. Ако резултатът е по-голям от нула, това означава, че има поне едно число от диапазона. Затова използвайте ">0", за да получите краен резултат TRUE или FALSE.
ISNUMBER в условно форматиране за подчертаване на клетки, които съдържат определен текст
Ако искате да маркирате клетки или цели редове, които съдържат определен текст, създайте правило за условно форматиране въз основа на формулата ISNUMBER SEARCH (без значение на размера на буквите) или ISNUMBER FIND (без значение на размера на буквите).
В този пример ще маркираме редове въз основа на стойността в колона А. По-конкретно ще маркираме елементите, които съдържат думата "червен". Ето как:
- Изберете всички редове с данни (A2:C6 в този пример) или само колоната, в която искате да маркирате клетките.
- На Начало в раздела Стилове група, щракнете върху Ново правило > Използвайте формула, за да определите кои клетки да форматирате .
- В Форматиране на стойности, за които тази формула е вярна въведете следната формула (моля, обърнете внимание, че координатата на колоната е заключена със знака $):
=ISNUMBER(SEARCH("red", $A2))
- Щракнете върху Формат и изберете желания формат.
- Щракнете два пъти върху OK.
Ако имате малко опит с условното форматиране в Excel, можете да намерите подробни стъпки с екранни снимки в този урок: Как да създадем правило за условно форматиране, базирано на формула.
В резултат на това всички елементи с червен цвят са подчертани:
Вместо да "кодирате" цвета в правилото за условно форматиране, можете да го въведете в предварително определена клетка, например E2, и да се позовете на тази клетка във формулата си (моля, имайте предвид абсолютната препратка към клетката $E$2). Освен това трябва да проверите дали входната клетка не е празна:
=AND(ISNUMBER(SEARCH($E$2, $A2)), $E$2"")
В резултат на това ще получите по-гъвкаво правило, което подчертава редовете въз основа на въведените от вас данни в E2:
Това е начинът за използване на функцията ISNUMBER в Excel. Благодаря ви, че прочетохте, и се надявам да се видим в нашия блог следващата седмица!
Налични изтегляния
Примери за формулата ISNUMBER на Excel