Spis treści
Samouczek wyjaśnia czym jest ISNUMBER w Excelu oraz podaje przykłady podstawowych i zaawansowanych zastosowań.
Koncepcja funkcji ISNUMBER w Excelu jest bardzo prosta - po prostu sprawdza ona, czy dana wartość jest liczbą, czy nie. Ważną kwestią jest tutaj fakt, że praktyczne zastosowania funkcji wykraczają daleko poza jej podstawową koncepcję, zwłaszcza w połączeniu z innymi funkcjami w ramach większych formuł.
Funkcja ISNUMBER w programie Excel
Funkcja ISNUMBER w Excelu sprawdza, czy komórka zawiera wartość liczbową, czy nie. Należy ona do grupy funkcji IS.
Funkcja jest dostępna we wszystkich wersjach Excela dla Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007 i niższych.
Składnia ISNUMBER wymaga tylko jednego argumentu:
=ISNUMBER(wartość)
Gdzie wartość Zazwyczaj jest to wartość reprezentowana przez odwołanie do komórki, ale można również podać wartość rzeczywistą lub zagnieździć inną funkcję wewnątrz ISNUMBER, aby sprawdzić wynik.
Jeśli wartość Dla innych wartości (wartości tekstowe, błędy, puste miejsca) funkcja zwraca TRUE.
Jako przykład przetestujmy wartości w komórkach od A2 do A6, a dowiemy się, że pierwsze 3 wartości to liczby, a dwie ostatnie to tekst:
2 rzeczy, które powinieneś wiedzieć o funkcji ISNUMBER w Excelu
Warto zwrócić tu uwagę na kilka ciekawych kwestii:
- W wewnętrznej reprezentacji Excela, daty oraz razy są wartościami liczbowymi, więc formuła ISNUMBER zwraca dla nich TRUE (proszę zobaczyć B3 i B4 na powyższym zrzucie ekranu).
- Dla liczb przechowywanych jako tekst, funkcja ISNUMBER zwraca FALSE (zobacz ten przykład).
Przykłady formuły ISNUMBER w Excelu
Poniższe przykłady pokazują kilka powszechnych i kilka nietrywialnych zastosowań ISNUMBER w Excelu.
Sprawdź, czy wartość jest liczbą
Gdy w arkuszu masz kilka wartości i chcesz wiedzieć, które z nich są liczbami, ISNUMBER jest właściwą funkcją do użycia.
W tym przykładzie pierwsza wartość znajduje się w A2, więc do jej sprawdzenia używamy poniższej formuły, a następnie przeciągamy ją do tylu komórek, ile potrzeba:
=ISNUMBER(A2)
Proszę zwrócić uwagę, że choć wszystkie wartości wyglądają jak liczby, to formuła ISNUMBER zwróciła FALSE dla komórek A4 i A5, co oznacza, że wartości te są ciągi liczbowe Mogą być różne powody, na przykład wiodące zera, poprzedzający apostrof itp. Niezależnie od przyczyny, Excel nie rozpoznaje takich wartości jako liczby. Tak więc, jeśli twoje wartości nie są obliczane poprawnie, pierwszą rzeczą, którą powinieneś sprawdzić, jest to, czy są one naprawdę liczbami w kategoriach Excela, a następnie przekonwertować tekst na liczbę w razie potrzeby.
Formuła wyszukiwania ISNUMBER w programie Excel
Oprócz identyfikowania liczb funkcja Excel ISNUMBER może również sprawdzić, czy komórka zawiera określony tekst jako część zawartości. W tym celu należy użyć ISNUMBER wraz z funkcją SZUKAJ.
W formie ogólnej formuła wygląda następująco:
ISNUMBER(SEARCH( podciąg , komórka ))Gdzie podciąg to tekst, który chcesz znaleźć.
Jako przykład sprawdźmy, czy ciąg w A3 zawiera określony kolor, powiedzmy czerwony:
=ISNUMBER(SEARCH("red", A3))
Formuła ta działa ładnie dla pojedynczej komórki. Ponieważ jednak nasza przykładowa tabela (patrz poniżej) zawiera trzy różne kolory, pisanie osobnej formuły dla każdego z nich byłoby stratą czasu. Zamiast tego będziemy odwoływać się do komórki zawierającej interesujący nas kolor (B2).
=ISNUMBER(SEARCH(B$2, $A3))
Aby formuła poprawnie skopiowała się w dół i w prawo, pamiętaj o zablokowaniu poniższych współrzędnych znakiem $:
- W podciąg odwołanie, zablokuj wiersz (B$2), aby skopiowane formuły zawsze wybierały podciągi w wierszu 2. Odwołanie do kolumny jest względne, ponieważ chcemy, aby dostosowało się do każdej kolumny, tj. gdy formuła zostanie skopiowana do C3, odwołanie do podciągu zmieni się na C$2.
- W komórka źródłowa odniesienia, zablokuj kolumnę ($A3), aby wszystkie formuły sprawdzały wartości w kolumnie A.
Poniższy zrzut ekranu przedstawia wynik:
ISNUMBER FIND - formuła rozróżniająca wielkość liter
Ponieważ funkcja SZUKAJ jest bez rozróżniania wielkości liter , powyższa formuła nie rozróżnia dużych i małych liter. Jeśli szukasz formuły uwzględniającej wielkość liter, użyj funkcji FIND zamiast SEARCH.
ISNUMBER(FIND( podciąg , komórka ))Dla naszego przykładowego zbioru danych formuła przyjęłaby taką postać:
=ISNUMBER(FIND(B$2, $A3))
Jak działa ta formuła
Logika formuły jest dość oczywista i łatwa do naśladowania:
- Funkcja SZUKAJ / ZNAJDŹ szuka podłańcucha w podanej komórce. Jeśli podłańcuch zostanie znaleziony, zwracana jest pozycja pierwszego znaku. Jeśli podłańcuch nie zostanie znaleziony, funkcja generuje błąd #VALUE!
- Funkcja ISNUMBER przejmuje go stamtąd i przetwarza pozycje numeryczne. Tak więc, jeżeli podłańcuch zostanie znaleziony i jego pozycja zostanie zwrócona jako liczba, ISNUMBER wypisuje TRUE. Jeżeli podłańcuch nie zostanie znaleziony i wystąpi błąd #VALUE!, ISNUMBER wypisuje FALSE.
IF ISNUMBER wzór
Jeśli chcesz uzyskać formułę, która wyprowadza coś innego niż TRUE lub FALSE, użyj ISNUMBER wraz z funkcją IF.
Przykład 1. Komórka zawierająca jaki tekst
Biorąc poprzedni przykład dalej, załóżmy, że chcesz oznaczyć kolor każdego elementu przez "x", jak pokazano w tabeli poniżej.
Aby to mieć, wystarczy zawinąć formułę ISNUMBER SEARCH do instrukcji IF:
=IF(ISNUMBER(SEARCH(B$2, $A3)), "x", "")
Jeśli ISNUMBER zwraca TRUE, to funkcja IF wyprowadza "x" (lub dowolną inną wartość, którą podasz do wartość_jeśli_true Jeżeli ISNUMBER zwraca FALSE, to funkcja IF wyprowadza pusty łańcuch ("").
Przykład 2. Pierwszy znak w komórce to liczba lub tekst
Wyobraź sobie, że pracujesz z listą ciągów alfanumerycznych i chcesz wiedzieć, czy pierwszy znak ciągu jest liczbą czy literą.
Aby zbudować taki wzór, będziemy potrzebować 4 różnych funkcji:
- Funkcja LEWA wyciąga pierwszy znak z początku ciągu, powiedzmy w komórce A2:
LEWA(A2, 1)
- Ponieważ funkcja LEWA należy do kategorii funkcji tekstowych, jej wynikiem jest zawsze łańcuch tekstowy, nawet jeśli zawiera tylko liczby. Dlatego przed sprawdzeniem wyodrębnionego znaku musimy spróbować przekonwertować go na liczbę. W tym celu należy użyć funkcji WARTOŚĆ lub podwójnego operatora jednoargumentowego:
VALUE(LEFT(A2, 1))
lub(--LEFT(A2, 1))
- Funkcja ISNUMBER określa czy wyodrębniony znak jest numeryczny czy nie:
ISNUMBER(VALUE(LEFT(A2, 1)))
- Na podstawie wyniku ISNUMBER (TRUE lub FALSE), funkcja IF zwraca odpowiednio "Number" lub "Letter".
Zakładając, że testujemy ciąg w A2, kompletna formuła przyjmuje taki kształt:
=IF(ISNUMBER(VALUE(LEFT(A2, 1))), "Number", "Letter")
lub
=IF(ISNUMBER(--LEFT(A2, 1)), "Number", "Letter")
Funkcja ISNUMBER przydaje się również do wyodrębnianie liczb Oto przykład: Pobierz liczbę z dowolnej pozycji w ciągu.
Sprawdź, czy wartość nie jest liczbą
Choć Microsoft Excel posiada specjalną funkcję ISNONTEXT, która pozwala określić, czy wartość komórki nie jest tekstem, to brakuje analogicznej funkcji dla liczb.
Łatwym rozwiązaniem jest użycie ISNUMBER w połączeniu z NOT, który zwraca przeciwieństwo wartości logicznej. Innymi słowy, gdy ISNUMBER zwraca TRUE, NOT konwertuje go na FALSE i na odwrót.
Aby zobaczyć ją w działaniu, proszę obserwować wyniki poniższej formuły:
=NOT(ISNUMBER(A2))
Innym podejściem jest użycie funkcji JEŻELI i ISNUMBER razem:
=IF(ISNUMBER(A2), "", "Nie numer")
Jeśli A2 jest liczbowe, formuła nie zwraca nic (pusty łańcuch). Jeśli A2 nie jest liczbowe, formuła mówi o tym z góry: "Not number".
Jeśli chcesz wykonać jakieś obliczenia z użyciem liczb, to umieść równanie lub inną formułę w wartość_jeśli_true Na przykład, poniższa formuła pomnoży liczby przez 10 i da "Nie liczba" dla wartości nienumerycznych:
=IF(ISNUMBER(A2), A2*10, "Nie numer")
Sprawdź, czy zakres zawiera jakąś liczbę
W sytuacji, gdy chcesz przetestować cały zakres dla liczb, użyj funkcji ISNUMBER w połączeniu z SUMPRODUCT jak poniżej:
SUMPRODUCT(--ISNUMBER( zakres ))>0 SUMPRODUCT(ISNUMBER( zakres )*1)>0Na przykład, aby dowiedzieć się, czy zakres A2:A5 zawiera dowolną wartość liczbową, formuły przebiegałyby następująco:
=SUMPRODUKT(--ISNUMBER(A2:A5))>0
=SUMPRODUKT(ISNUMBER(A2:A5)*1)>0
Jeśli chcesz wyprowadzić "Tak" i "Nie" zamiast TRUE i FALSE, użyj instrukcji IF jako "opakowania" dla powyższych formuł. Na przykład:
=IF(SUMPRODUCT(--ISNUMBER(A2:A5))>0, "Yes", "No")
Jak działa ta formuła
W sercu formuły, funkcja ISNUMBER ocenia każdą komórkę określonego zakresu, powiedzmy B2:B5, i zwraca TRUE dla liczb, FALSE dla wszystkiego innego. Ponieważ zakres zawiera 4 komórki, tablica ma 4 elementy:
{TRUE;FALSE;FALSE;FALSE}
Operacja mnożenia lub podwójny unarny (--) zamienia TRUE i FALSE odpowiednio na 1 i 0:
{1;0;0;0}
Funkcja SUMPRODUCT sumuje elementy tablicy. Jeśli wynik jest większy od zera, oznacza to, że istnieje co najmniej jedna liczba z zakresu. Używasz więc ">0", aby uzyskać ostateczny wynik TRUE lub FALSE.
ISNUMBER w formatowaniu warunkowym, aby podświetlić komórki zawierające określony tekst
Jeśli chcesz wyróżnić komórki lub całe wiersze zawierające określony tekst, utwórz regułę formatowania warunkowego opartą na formule ISNUMBER SEARCH (wielkość liter nie ma znaczenia) lub ISNUMBER FIND (wielkość liter ma znaczenie).
Dla tego przykładu będziemy podświetlać wiersze na podstawie wartości w kolumnie A. Dokładniej, podświetlimy pozycje, które zawierają słowo "czerwony".Oto jak:
- Zaznacz wszystkie wiersze danych (A2:C6 w tym przykładzie) lub tylko kolumnę, w której chcesz podświetlić komórki.
- Na Strona główna zakładka, w Style grupa, kliknij Nowa zasada > Użyj formuły, aby określić, które komórki mają być sformatowane .
- W Formatuj wartości, w których ta formuła jest prawdziwa pole, wprowadź poniższą formułę (zwróć uwagę, że współrzędna kolumny jest zablokowana znakiem $):
=ISNUMBER(SEARCH("red", $A2))
- Kliknij przycisk Format i wybierz żądany format.
- Kliknij dwukrotnie przycisk OK.
Jeśli masz niewielkie doświadczenie z formatowaniem warunkowym w Excelu, szczegółowe kroki ze zrzutami ekranu znajdziesz w tym samouczku: Jak utworzyć regułę formatowania warunkowego opartą na formule.
W efekcie wszystkie elementy o czerwonym kolorze są podświetlone:
Zamiast "hardcodować" kolor w regule formatowania warunkowego, możesz wpisać go do predefiniowanej komórki, powiedzmy E2, i odwołać się do tej komórki w swojej formule (pamiętaj o bezwzględnym odwołaniu do komórki $E$2). Dodatkowo musisz sprawdzić, czy komórka wejściowa nie jest pusta:
=AND(ISNUMBER(SEARCH($E$2, $A2)), $E$2")
W rezultacie otrzymasz bardziej elastyczną regułę, która podkreśla wiersze na podstawie danych wejściowych w E2:
Oto jak używać funkcji ISNUMBER w Excelu. Dziękuję za przeczytanie i mam nadzieję, że zobaczymy się na naszym blogu za tydzień!
Dostępne pliki do pobrania
Przykłady formuły ISNUMBER w Excelu