Funkce ISNUMBER aplikace Excel s příklady vzorců

  • Sdílet Toto
Michael Brown

Výukový program vysvětluje, co je to ISNUMBER v aplikaci Excel, a uvádí příklady základního a pokročilého použití.

Koncepce funkce ISNUMBER v aplikaci Excel je velmi jednoduchá - pouze kontroluje, zda je daná hodnota číslo, nebo ne. Důležité je, že praktické využití této funkce dalece přesahuje její základní koncepci, zejména v kombinaci s dalšími funkcemi v rámci rozsáhlejších vzorců.

    Funkce ISNUMBER aplikace Excel

    Funkce ISNUMBER v aplikaci Excel kontroluje, zda buňka obsahuje číselnou hodnotu, nebo ne. Patří do skupiny funkcí IS.

    Funkce je k dispozici ve všech verzích aplikace Excel pro Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007 a nižších.

    Syntaxe ISNUMBER vyžaduje pouze jeden argument:

    =ISNUMBER(value)

    Kde: hodnota je hodnota, kterou chcete otestovat. Obvykle je reprezentována odkazem na buňku, ale můžete také zadat skutečnou hodnotu nebo do funkce ISNUMBER vnořit jinou funkci, která výsledek ověří.

    Pokud hodnota je číselná, funkce vrací TRUE. Pro cokoli jiného (textové hodnoty, chyby, prázdná místa) vrací ISNUMBER FALSE.

    Jako příklad otestujme hodnoty v buňkách A2 až A6 a zjistíme, že první tři hodnoty jsou čísla a poslední dvě jsou text:

    2 věci, které byste měli vědět o funkci ISNUMBER v aplikaci Excel

    Je zde několik zajímavých bodů, které stojí za povšimnutí:

    • V interní reprezentaci aplikace Excel, data a krát jsou číselné hodnoty, takže vzorec ISNUMBER pro ně vrací hodnotu TRUE (viz B3 a B4 na obrázku výše).
    • Pro čísla uložená jako text vrací funkce ISNUMBER hodnotu FALSE (viz tento příklad).

    Příklady vzorce ISNUMBER aplikace Excel

    Níže uvedené příklady ukazují několik běžných a několik netriviálních použití ISNUMBER v aplikaci Excel.

    Kontrola, zda je hodnota číslo

    Pokud máte v pracovním listu několik hodnot a chcete zjistit, které z nich jsou čísla, je vhodné použít funkci ISNUMBER.

    V tomto příkladu je první hodnota v A2, takže ji zkontrolujeme pomocí níže uvedeného vzorce a poté vzorec přetáhneme do tolika buněk, kolik potřebujeme:

    =ISNUMBER(A2)

    Věnujte prosím pozornost tomu, že ačkoli všechny hodnoty vypadají jako čísla, vzorec ISNUMBER vrátil pro buňky A4 a A5 hodnotu FALSE, což znamená, že tyto hodnoty jsou číselné řetězce , tj. čísla formátovaná jako text. Důvody mohou být různé, například počáteční nuly, předřazený apostrof atd. Ať už je důvod jakýkoli, Excel takové hodnoty jako čísla nerozpozná. Pokud se tedy vaše hodnoty nepočítají správně, je třeba nejprve zkontrolovat, zda jsou z hlediska Excelu skutečně čísly, a pak případně převést text na číslo.

    Vzorec ISNUMBER SEARCH aplikace Excel

    Kromě identifikace čísel může funkce ISNUMBER aplikace Excel také zkontrolovat, zda buňka obsahuje jako součást obsahu určitý text. K tomu použijte funkci ISNUMBER společně s funkcí HLEDAT.

    V obecném tvaru vypadá vzorec takto:

    ISNUMBER(HLEDAT( podřetězec , buňka ))

    Kde: podřetězec je text, který chcete najít.

    Jako příklad uveďme kontrolu, zda řetězec ve formátu A3 obsahuje určitou barvu, například červenou:

    =ISNUMBER(HLEDAT("červená", A3))

    Tento vzorec funguje dobře pro jednu buňku. Protože však naše ukázková tabulka (viz níže) obsahuje tři různé barvy, bylo by psaní samostatného vzorce pro každou z nich ztrátou času. Místo toho se budeme odkazovat na buňku obsahující barvu, která nás zajímá (B2).

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

    Aby se vzorec správně zkopíroval dolů a doprava, nezapomeňte následující souřadnice zamknout znakem $:

    • Na adrese podřetězec odkaz, uzamkněte řádek (B$2), aby kopírované vzorce vždy vybíraly podřetězce v řádku 2. Odkaz na sloupec je relativní, protože chceme, aby se přizpůsobil každému sloupci, tj. při kopírování vzorce do C3 se odkaz na podřetězec změní na C$2.
    • V zdrojová buňka odkaz, zamkněte sloupec ($A3), aby všechny vzorce kontrolovaly hodnoty ve sloupci A.

    Výsledek je zobrazen na následujícím obrázku:

    ISNUMBER FIND - vzorec rozlišující malá a velká písmena

    Protože funkce HLEDAT je rozlišování velkých a malých písmen , výše uvedený vzorec nerozlišuje velká a malá písmena. Pokud hledáte vzorec rozlišující malá a velká písmena, použijte raději funkci FIND než SEARCH.

    ISNUMBER(FIND( podřetězec , buňka ))

    Pro náš vzorový soubor dat by vzorec měl tento tvar:

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

    Jak tento vzorec funguje

    Logika vzorce je zcela zřejmá a snadno pochopitelná:

    • Funkce HLEDAT / NAJÍT hledá podřetězec v zadané buňce. Pokud je podřetězec nalezen, je vrácena pozice prvního znaku. Pokud podřetězec nalezen není, funkce vyhodí chybu #VALUE!.
    • Funkce ISNUMBER jej převezme a zpracuje číselné pozice. Pokud je tedy podřetězec nalezen a jeho pozice je vrácena jako číslo, ISNUMBER vypíše TRUE. Pokud podřetězec nalezen není a dojde k chybě #VALUE!, ISNUMBER vypíše FALSE.

    IF vzorec ISNUMBER

    Pokud chcete získat vzorec, jehož výsledkem bude něco jiného než TRUE nebo FALSE, použijte funkci ISNUMBER společně s funkcí IF.

    Příklad 1. Který text obsahuje buňka

    Pokud budeme pokračovat v předchozím příkladu, předpokládejme, že chcete označit barvu každé položky symbolem "x", jak je uvedeno v tabulce níže.

    Chcete-li to provést, jednoduše zabalte vzorec ISNUMBER SEARCH do příkazu IF:

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

    Pokud funkce ISNUMBER vrátí hodnotu TRUE, funkce IF vypíše hodnotu "x" (nebo jakoukoli jinou hodnotu, kterou zadáte do funkce IF). value_if_true Pokud funkce ISNUMBER vrátí hodnotu FALSE, funkce IF vypíše prázdný řetězec ("").

    Příklad 2. První znak v buňce je číslo nebo text

    Představte si, že pracujete se seznamem alfanumerických řetězců a chcete zjistit, zda je prvním znakem řetězce číslo nebo písmeno.

    K sestavení takového vzorce budeme potřebovat 4 různé funkce:

    • Funkce LEFT extrahuje první znak ze začátku řetězce, například v buňce A2:

      LEFT(A2, 1)

    • Protože funkce LEFT patří do kategorie funkcí Text, je jejím výsledkem vždy textový řetězec, i když obsahuje pouze čísla. Proto se před kontrolou vyjmutého znaku musíme pokusit převést jej na číslo. K tomu použijeme buď funkci VALUE, nebo dvojitý unární operátor:

      HODNOTA(LEFT(A2, 1)) nebo (--LEVÁ(A2, 1))

    • Funkce ISNUMBER určuje, zda je extrahovaný znak číselný nebo ne:

      ISNUMBER(HODNOTA(LEFT(A2, 1)))

    • Na základě výsledku ISNUMBER (TRUE nebo FALSE) funkce IF vrátí "Číslo" nebo "Písmeno".

    Za předpokladu, že testujeme řetězec v A2, má celý vzorec tento tvar:

    =IF(ISNUMBER(VALUE(LEFT(A2, 1))), "Číslo", "Písmeno")

    nebo

    =IF(ISNUMBER(--LEFT(A2, 1)), "Číslo", "Písmeno")

    Funkce ISNUMBER se hodí také pro. extrakce čísel z řetězce. Zde je příklad: Získejte číslo z libovolné pozice v řetězci.

    Kontrola, zda hodnota není číslo

    Ačkoli má Microsoft Excel speciální funkci ISNONTEXT, která určuje, zda hodnota buňky není text, analogická funkce pro čísla chybí.

    Snadným řešením je použít ISNUMBER v kombinaci s NOT, který vrací opak logické hodnoty. Jinými slovy, když ISNUMBER vrátí hodnotu TRUE, NOT ji převede na FALSE a naopak.

    Chcete-li se o tom přesvědčit v praxi, sledujte výsledky následujícího vzorce:

    =NOT(ISNUMBER(A2))

    Dalším přístupem je společné použití funkcí IF a ISNUMBER:

    =IF(ISNUMBER(A2), "", "Není číslo")

    Pokud je A2 číslo, vzorec nevrátí nic (prázdný řetězec). Pokud A2 není číslo, vzorec to řekne předem: "Není číslo".

    Pokud chcete provádět nějaké výpočty s čísly, vložte do pole rovnici nebo jiný vzorec. value_if_true místo prázdného řetězce. Například níže uvedený vzorec vynásobí čísla 10 a pro nečíselné hodnoty poskytne hodnotu "Not number":

    =IF(ISNUMBER(A2), A2*10, "Není číslo")

    Zkontrolujte, zda rozsah obsahuje nějaké číslo

    Pokud chcete otestovat celý rozsah čísel, použijte funkci ISNUMBER v kombinaci s funkcí SUMPRODUCT takto:

    SUMPRODUCT(--ISNUMBER( rozsah ))>0 SUMPRODUCT(ISNUMBER( rozsah )*1)>0

    Chcete-li například zjistit, zda rozsah A2:A5 obsahuje nějakou číselnou hodnotu, použijte následující vzorce:

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

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

    Pokud chcete místo TRUE a FALSE vypsat "Yes" a "No", použijte příkaz IF jako "obal" pro výše uvedené vzorce. Například:

    =IF(SUMPRODUCT(--ISNUMBER(A2:A5))>0, "Ano", "Ne")

    Jak tento vzorec funguje

    Jádrem vzorce je funkce ISNUMBER, která vyhodnotí každou buňku zadaného rozsahu, například B2:B5, a vrátí TRUE pro čísla, FALSE pro cokoli jiného. Protože rozsah obsahuje 4 buňky, má pole 4 prvky:

    {PRAVDA;NEPRAVDA;NEPRAVDA;NEPRAVDA}

    Operace násobení nebo dvojitá unární operace (--) mění hodnoty TRUE a FALSE na 1, resp. 0:

    {1;0;0;0}

    Funkce SUMPRODUCT sečte prvky pole. Pokud je výsledek větší než nula, znamená to, že v rozsahu je alespoň jedno číslo. Takže pomocí ">0" získáte konečný výsledek TRUE nebo FALSE.

    ISNUMBER v podmíněném formátování pro zvýraznění buněk, které obsahují určitý text

    Pokud chcete zvýraznit buňky nebo celé řádky, které obsahují určitý text, vytvořte pravidlo podmíněného formátování založené na vzorci ISNUMBER SEARCH (nerozlišuje velká a malá písmena) nebo ISNUMBER FIND (rozlišuje velká a malá písmena).

    V tomto příkladu budeme zvýrazňovat řádky na základě hodnoty ve sloupci A. Přesněji řečeno, budeme zvýrazňovat položky, které obsahují slovo "červená". Zde je uveden postup:

    1. Vyberte všechny datové řádky (v tomto příkladu A2:C6) nebo pouze sloupec, ve kterém chcete zvýraznit buňky.
    2. Na Home na kartě Styly klikněte na tlačítko Nové pravidlo > Pomocí vzorce určete, které buňky se mají formátovat .
    3. V Formátování hodnot, kde je tento vzorec pravdivý zadejte následující vzorec (všimněte si, že souřadnice sloupce je uzamčena znakem $):

      =ISNUMBER(HLEDAT("červená", $A2))

    4. Klikněte na Formát a vyberte požadovaný formát.
    5. Dvakrát klikněte na tlačítko OK.

    Pokud máte s podmíněným formátováním aplikace Excel jen malé zkušenosti, najdete podrobný postup se snímky obrazovky v tomto návodu: Jak vytvořit pravidlo podmíněného formátování založené na vzorci.

    Výsledkem je zvýraznění všech položek červené barvy:

    Místo toho, abyste barvu "natvrdo" zadávali do pravidla podmíněného formátování, můžete ji zadat do předem definované buňky, například E2, a na tuto buňku se ve vzorci odkázat (nezapomeňte na absolutní odkaz na buňku $E$2). Kromě toho je třeba zkontrolovat, zda vstupní buňka není prázdná:

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

    Výsledkem je flexibilnější pravidlo, které zvýrazňuje řádky na základě zadání v E2:

    To je návod, jak používat funkci ISNUMBER v Excelu. Děkuji vám za přečtení a doufám, že se uvidíme na našem blogu příští týden!

    Dostupné soubory ke stažení

    Příklady vzorce ISNUMBER aplikace Excel

    Michael Brown je oddaný technologický nadšenec s vášní pro zjednodušování složitých procesů pomocí softwarových nástrojů. S více než desetiletými zkušenostmi v technologickém průmyslu zdokonalil své dovednosti v aplikacích Microsoft Excel a Outlook a také v Tabulkách a Dokumentech Google. Michaelův blog je věnován sdílení jeho znalostí a odborných znalostí s ostatními a poskytuje snadno pochopitelné tipy a návody pro zlepšení produktivity a efektivity. Ať už jste zkušený profesionál nebo začátečník, Michaelův blog nabízí cenné postřehy a praktické rady, jak tyto základní softwarové nástroje co nejlépe využít.