Obsah
V učebnici sa vysvetľuje, čo je to ISNUMBER v programe Excel, a uvádzajú sa príklady základného a pokročilého použitia.
Koncepcia funkcie ISNUMBER v programe Excel je veľmi jednoduchá - jednoducho kontroluje, či daná hodnota je alebo nie je číslo. Dôležité je, že praktické využitie tejto funkcie ďaleko presahuje jej základnú koncepciu, najmä ak sa kombinuje s inými funkciami v rámci väčších vzorcov.
Funkcia ISNUMBER aplikácie Excel
Funkcia ISNUMBER v programe Excel kontroluje, či bunka obsahuje číselnú hodnotu alebo nie. Patrí do skupiny funkcií IS.
Funkcia je k dispozícii vo všetkých verziách aplikácie Excel pre Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007 a nižších.
Syntax ISNUMBER vyžaduje len jeden argument:
=ISNUMBER(hodnota)
Kde hodnota je hodnota, ktorú chcete otestovať. Zvyčajne je reprezentovaná odkazom na bunku, ale môžete tiež zadať skutočnú hodnotu alebo vložiť inú funkciu do ISNUMBER, aby ste skontrolovali výsledok.
Ak hodnota je číselná hodnota, funkcia vráti TRUE. Pre ostatné hodnoty (textové hodnoty, chyby, prázdne miesta) vráti ISNUMBER FALSE.
Ako príklad si otestujeme hodnoty v bunkách A2 až A6 a zistíme, že prvé tri hodnoty sú čísla a posledné dve sú text:
2 veci, ktoré by ste mali vedieť o funkcii ISNUMBER v programe Excel
Je tu niekoľko zaujímavých bodov:
- V internom zastúpení programu Excel, dátumy a krát sú číselné hodnoty, takže vzorec ISNUMBER pre ne vráti hodnotu TRUE (pozri B3 a B4 na obrázku vyššie).
- Pre čísla uložené ako text vráti funkcia ISNUMBER hodnotu FALSE (pozri tento príklad).
Príklady vzorca ISNUMBER aplikácie Excel
Nižšie uvedené príklady demonštrujú niekoľko bežných a niekoľko netriviálnych použití príkazu ISNUMBER v programe Excel.
Kontrola, či je hodnota číslo
Ak máte v pracovnom hárku niekoľko hodnôt a chcete zistiť, ktoré z nich sú čísla, je vhodnou funkciou ISNUMBER.
V tomto príklade sa prvá hodnota nachádza v A2, takže na jej kontrolu použijeme nasledujúci vzorec a potom vzorec pretiahneme do toľkých buniek, koľko je potrebné:
=ISNUMBER(A2)
Upozorňujeme, že hoci všetky hodnoty vyzerajú ako čísla, vzorec ISNUMBER vrátil pre bunky A4 a A5 hodnotu FALSE, čo znamená, že tieto hodnoty sú číselné reťazce , t. j. čísla formátované ako text. Dôvody môžu byť rôzne, napríklad úvodné nuly, predchádzajúci apostrof atď. Nech je dôvod akýkoľvek, Excel takéto hodnoty nerozpozná ako čísla. Ak sa teda vaše hodnoty nevypočítajú správne, najprv si skontrolujte, či sú z hľadiska Excelu naozaj číslami, a potom v prípade potreby prekonvertujte text na číslo.
Vzorec Excel ISNUMBER SEARCH
Okrem identifikácie čísel môže funkcia ISNUMBER programu Excel skontrolovať aj to, či bunka obsahuje ako súčasť obsahu konkrétny text. Na tento účel použite funkciu ISNUMBER spolu s funkciou SEARCH.
Vo všeobecnej podobe vyzerá vzorec takto:
ISNUMBER(SEARCH( podreťazec , bunka ))Kde podreťazec je text, ktorý chcete nájsť.
Ako príklad uveďme, či reťazec v A3 obsahuje určitú farbu, napríklad červenú:
=ISNUMBER(SEARCH("červená", A3))
Tento vzorec funguje pekne pre jednu bunku. Ale keďže naša vzorová tabuľka (pozri nižšie) obsahuje tri rôzne farby, písanie samostatného vzorca pre každú z nich by bolo stratou času. Namiesto toho sa budeme odvolávať na bunku obsahujúcu farbu, ktorá nás zaujíma (B2).
=ISNUMBER(SEARCH(B$2, $A3))
Aby sa vzorec správne kopíroval smerom nadol a doprava, nezabudnite nasledujúce súradnice uzamknúť znakom $:
- Na stránke podreťazec odkaz, uzamknite riadok (B$2), aby kopírované vzorce vždy vyberali podreťazce v riadku 2. Odkaz na stĺpec je relatívny, pretože chceme, aby sa prispôsobil pre každý stĺpec, t. j. keď sa vzorec skopíruje do C3, odkaz na podreťazec sa zmení na C$2.
- V zdrojová bunka odkaz, uzamknite stĺpec ($A3), aby všetky vzorce kontrolovali hodnoty v stĺpci A.
Výsledok je zobrazený na nasledujúcej snímke obrazovky:
ISNUMBER FIND - vzorec citlivý na veľkosť písmen
Keďže funkcia VYHĽADÁVANIE je rozlišovanie veľkých a malých písmen , uvedený vzorec nerozlišuje veľké a malé písmená. Ak hľadáte vzorec, ktorý rozlišuje malé a veľké písmená, použite radšej funkciu FIND ako SEARCH.
ISNUMBER(FIND( podreťazec , bunka ))Pre náš vzorový súbor údajov by vzorec mal tento tvar:
=ISNUMBER(FIND(B$2, $A3))
Ako tento vzorec funguje
Logika vzorca je celkom zrejmá a ľahko sa dodržiava:
- Funkcia SEARCH / FIND hľadá podreťazec v zadanej bunke. Ak sa podreťazec nájde, vráti sa pozícia prvého znaku. Ak sa podreťazec nenájde, funkcia vyhodí chybu #VALUE!.
- Funkcia ISNUMBER ho odtiaľ prevezme a spracuje číselné pozície. Ak sa teda podreťazec nájde a jeho pozícia sa vráti ako číslo, ISNUMBER vypíše TRUE. Ak sa podreťazec nenájde a nastane chyba #VALUE!, ISNUMBER vypíše FALSE.
IF vzorec ISNUMBER
Ak chcete získať vzorec, ktorého výstupom bude niečo iné ako TRUE alebo FALSE, použite funkciu ISNUMBER spolu s funkciou IF.
Príklad 1. Ktorý text obsahuje bunka
Ak pokračujeme v predchádzajúcom príklade, predpokladajme, že chcete označiť farbu každej položky symbolom "x", ako je uvedené v nasledujúcej tabuľke.
Ak to chcete urobiť, jednoducho zabaľte vzorec ISNUMBER SEARCH do príkazu IF:
=IF(ISNUMBER(SEARCH(B$2, $A3)), "x", "")
Ak funkcia ISNUMBER vráti hodnotu TRUE, funkcia IF vypíše hodnotu "x" (alebo akúkoľvek inú hodnotu, ktorú zadáte do funkcie value_if_true Ak funkcia ISNUMBER vráti hodnotu FALSE, funkcia IF vypíše prázdny reťazec ("").
Príklad 2. Prvý znak v bunke je číslo alebo text
Predstavte si, že pracujete so zoznamom alfanumerických reťazcov a chcete zistiť, či prvý znak reťazca je číslo alebo písmeno.
Na vytvorenie takéhoto vzorca budeme potrebovať 4 rôzne funkcie:
- Funkcia LEFT vyberie prvý znak zo začiatku reťazca, napríklad v bunke A2:
LEFT(A2, 1)
- Keďže funkcia LEFT patrí do kategórie funkcií Text, jej výsledkom je vždy textový reťazec, aj keď obsahuje len čísla. Preto sa pred kontrolou vyňatého znaku musíme pokúsiť o jeho konverziu na číslo. Na to použijeme buď funkciu VALUE, alebo dvojitý unárny operátor:
HODNOTA(LEFT(A2, 1))
alebo(--LEVO(A2, 1))
- Funkcia ISNUMBER určuje, či je extrahovaný znak číselný alebo nie:
ISNUMBER(HODNOTA(LEFT(A2, 1))
- Na základe výsledku ISNUMBER (TRUE alebo FALSE) funkcia IF vráti "Number" alebo "Letter".
Ak predpokladáme, že testujeme reťazec v A2, celý vzorec má tento tvar:
=IF(ISNUMBER(VALUE(LEFT(A2, 1))), "Číslo", "Písmeno")
alebo
=IF(ISNUMBER(--LEFT(A2, 1)), "Číslo", "Písmeno")
Funkcia ISNUMBER sa hodí aj na extrahovanie čísel z reťazca. Tu je príklad: Získajte číslo z ľubovoľnej pozície v reťazci.
Kontrola, či hodnota nie je číslo
Hoci má Microsoft Excel špeciálnu funkciu ISNONTEXT na určenie, či hodnota bunky nie je text, analogická funkcia pre čísla chýba.
Jednoduchým riešením je použiť ISNUMBER v kombinácii s NOT, ktorý vráti opačnú logickú hodnotu. Inými slovami, keď ISNUMBER vráti TRUE, NOT ju prevedie na FALSE a naopak.
Ak chcete vidieť, ako to funguje, sledujte výsledky nasledujúceho vzorca:
=NOT(ISNUMBER(A2))
Ďalším prístupom je spoločné použitie funkcií IF a ISNUMBER:
=IF(ISNUMBER(A2), "", "Nie je číslo")
Ak je A2 číslo, vzorec nevráti nič (prázdny reťazec). Ak A2 nie je číslo, vzorec to povie vopred: "Nie je číslo".
Ak chcete vykonať nejaké výpočty s číslami, vložte rovnicu alebo iný vzorec do value_if_true namiesto prázdneho reťazca. Napríklad nasledujúci vzorec vynásobí čísla číslom 10 a pre nečíselné hodnoty poskytne "Nie je číslo":
=IF(ISNUMBER(A2), A2*10, "Nie je číslo")
Kontrola, či rozsah obsahuje nejaké číslo
Ak chcete otestovať celý rozsah čísel, použite funkciu ISNUMBER v kombinácii s funkciou SUMPRODUCT takto:
SUMPRODUCT(--ISNUMBER( rozsah ))>0 SUMPRODUCT(ISNUMBER( rozsah )*1)>0Ak chcete napríklad zistiť, či rozsah A2:A5 obsahuje nejakú číselnú hodnotu, vzorce by boli nasledovné:
=SUMPRODUCT(--ISNUMBER(A2:A5))>0
=SUMPRODUCT(ISNUMBER(A2:A5)*1)>0
Ak chcete namiesto TRUE a FALSE vypisovať "Yes" a "No", použite príkaz IF ako "obal" pre vyššie uvedené vzorce:
=IF(SUMPRODUCT(--ISNUMBER(A2:A5))>0, "Áno", "Nie")
Ako tento vzorec funguje
Jadrom vzorca je funkcia ISNUMBER, ktorá vyhodnotí každú bunku zadaného rozsahu, napríklad B2:B5, a vráti TRUE pre čísla, FALSE pre čokoľvek iné. Keďže rozsah obsahuje 4 bunky, pole má 4 prvky:
{TRUE;FALSE;FALSE;FALSE}
Operácia násobenia alebo dvojitá unárna operácia (--) mení TRUE a FALSE na 1, resp. 0:
{1;0;0;0}
Funkcia SUMPRODUCT sčíta prvky poľa. Ak je výsledok väčší ako nula, znamená to, že v rozsahu je aspoň jedno číslo. Takže pomocou ">0" získate konečný výsledok TRUE alebo FALSE.
ISNUMBER v podmienenom formátovaní na zvýraznenie buniek, ktoré obsahujú určitý text
Ak chcete zvýrazniť bunky alebo celé riadky, ktoré obsahujú konkrétny text, vytvorte pravidlo podmieneného formátovania založené na vzorci ISNUMBER SEARCH (nerozlišuje veľké a malé písmená) alebo ISNUMBER FIND (rozlišuje veľké a malé písmená).
V tomto príklade budeme zvýrazňovať riadky na základe hodnoty v stĺpci A. Presnejšie, budeme zvýrazňovať položky, ktoré obsahujú slovo "červená". Tu je postup:
- Vyberte všetky riadky údajov (v tomto príklade A2:C6) alebo len stĺpec, v ktorom chcete zvýrazniť bunky.
- Na Domov na karte Štýly kliknite na položku Nové pravidlo > Použitie vzorca na určenie buniek, ktoré sa majú formátovať .
- V Formátovanie hodnôt, pri ktorých je tento vzorec pravdivý zadajte nasledujúci vzorec (všimnite si, že súradnica stĺpca je uzamknutá znakom $):
=ISNUMBER(SEARCH("red", $A2))
- Kliknite na tlačidlo Formát a vyberte požadovaný formát.
- Kliknite dvakrát na tlačidlo OK.
Ak máte s podmieneným formátovaním programu Excel málo skúseností, podrobné kroky so snímkami obrazovky nájdete v tomto návode: Ako vytvoriť pravidlo podmieneného formátovania založené na vzorci.
Výsledkom je, že všetky položky červenej farby sú zvýraznené:
Namiesto toho, aby ste farbu "natvrdo" zakódovali do pravidla podmieneného formátovania, môžete ju zadať do vopred definovanej bunky, napríklad E2, a vo vzorci sa na túto bunku odvolať (nezabudnite na absolútny odkaz na bunku $E$2). Okrem toho musíte skontrolovať, či vstupná bunka nie je prázdna:
=AND(ISNUMBER(SEARCH($E$2, $A2)), $E$2"")
Výsledkom bude flexibilnejšie pravidlo, ktoré zvýrazní riadky na základe vašich vstupov v E2:
Takto sa používa funkcia ISNUMBER v programe Excel. Ďakujem vám za prečítanie a dúfam, že sa uvidíme na našom blogu budúci týždeň!
Dostupné súbory na stiahnutie
Príklady vzorca ISNUMBER aplikácie Excel