Spis treści
Tutorial pokazuje jak policzyć liczbę komórek z określonym tekstem w Excelu. Znajdziesz tu przykłady formuł dla komórek z dopasowaniem dokładnym, częściowym i filtrowanych.
W zeszłym tygodniu przyjrzeliśmy się, jak policzyć komórki z tekstem w Excelu, czyli wszystkie komórki z dowolnym tekstem. Podczas analizowania dużych porcji informacji możesz również chcieć wiedzieć, ile komórek zawiera określony tekst. Ten samouczek wyjaśnia, jak to zrobić w prosty sposób.
Jak policzyć komórki z określonym tekstem w programie Excel
Microsoft Excel posiada specjalną funkcję do warunkowego zliczania komórek - funkcję COUNTIF. Wystarczy, że podasz docelowy ciąg tekstowy w polu kryteria argument.
Oto ogólna formuła Excela do zliczania liczby komórek zawierających określony tekst:
COUNTIF(zakres, " tekst ")Poniższy przykład pokazuje to w działaniu. Załóżmy, że masz listę identyfikatorów elementów w A2:A10 i chcesz policzyć liczbę komórek z konkretnym id, powiedzmy "AA-01". Wpisz ten ciąg w drugim argumencie, a otrzymasz tę prostą formułę:
=COUNTIF(A2:A10, "AA-01")
Aby umożliwić użytkownikom zliczanie komórek z dowolnym tekstem bez konieczności modyfikowania formuły, wprowadź tekst do predefiniowanej komórki, powiedzmy D1, i podaj odwołanie do komórki:
=COUNTIF(A2:A10, D1)
Uwaga. Funkcja COUNTIF w Excelu to. bez rozróżniania wielkości liter Aby inaczej traktować duże i małe litery, należy użyć formuły uwzględniającej wielkość liter.
Jak policzyć komórki z określonym tekstem (dopasowanie częściowe)
Formuła omówiona w poprzednim przykładzie dokładnie spełnia kryteria. Jeśli w komórce znajduje się przynajmniej jeden inny znak, na przykład dodatkowa spacja na końcu, nie będzie to dokładne dopasowanie i taka komórka nie zostanie zaliczona.
Aby znaleźć liczbę komórek, które zawierają określony tekst jako część swojej zawartości, użyj w swoich kryteriach znaków wieloznacznych, czyli gwiazdki (*), która reprezentuje dowolny ciąg lub znaki. W zależności od celu, jaki chcesz osiągnąć, formuła może wyglądać jak jedna z poniższych.
Zlicz komórki, które zawierają określony tekst na sam początek :
COUNTIF(zakres, " tekst *")Policz komórki, które zawierają określony tekst w każda pozycja :
COUNTIF(zakres, "* tekst *")Na przykład, aby znaleźć ile komórek w zakresie A2:A10 zaczyna się od "AA", użyj tej formuły:
=COUNTIF(A2:A10, "AA*")
Aby uzyskać liczbę komórek zawierających "AA" w dowolnej pozycji, użyj tego:
=COUNTIF(A2:A10, "*AA*")
Aby formuły były bardziej dynamiczne, zastąp twardo zakodowane ciągi znaków referencjami do komórek.
Aby policzyć komórki, które zaczynają się od określonego tekstu:
=COUNTIF(A2:A10, D1& "*")
Aby policzyć komórki z określonym tekstem w dowolnym miejscu w nich:
=COUNTIF(A2:A10, "*"&D1&"*")
Poniższy zrzut ekranu przedstawia wyniki:
Zliczaj komórki, które zawierają określony tekst (z uwzględnieniem wielkości liter)
W sytuacji, gdy trzeba rozróżnić duże i małe litery, funkcja COUNTIF nie zadziała. W zależności od tego, czy szukasz dokładnego czy częściowego dopasowania, będziesz musiał zbudować inną formułę.
Formuła rozróżniająca wielkość liter, aby policzyć komórki z określonym tekstem (dokładne dopasowanie)
Aby policzyć liczbę komórek z określonym tekstem rozpoznającym przypadek tekstu, użyjemy kombinacji funkcji SUMPRODUCT i EXACT:
SUMPRODUCT(--EXACT(" tekst ", zakres ))Jak działa ta formuła:
- EXACT porównuje każdą komórkę z zakresu z przykładowym tekstem i zwraca tablicę wartości TRUE i FALSE, przy czym TRUE oznacza dokładne dopasowanie, a FALSE wszystkie pozostałe komórki. Podwójny myślnik (nazywany a podwójny jednoargumentowy ) wymuszają TRUE i FALSE na 1's i 0's.
- SUMPRODUCT sumuje wszystkie elementy tablicy, a suma ta jest liczbą 1, czyli liczbą dopasowań.
Na przykład, aby uzyskać liczbę komórek w A2:A10, które zawierają tekst w D1 i obsługują wielkie i małe litery jako różne znaki, użyj tej formuły:
=SUMPRODUKT(--EXACT(D1, A2:A10))
Formuła rozróżniająca wielkość liter, aby policzyć komórki z określonym tekstem (dopasowanie częściowe)
Aby zbudować formułę uwzględniającą wielkość liter, która może znaleźć interesujący nas ciąg tekstowy w dowolnym miejscu komórki, używamy 3 różnych funkcji:
SUMPRODUCT(--(ISNUMBER(FIND(" tekst ", zakres ))))Jak działa ta formuła:
- Funkcja FIND rozróżniająca wielkość liter szuka tekstu docelowego w każdej komórce zakresu. Jeśli się uda, funkcja zwraca pozycję pierwszego znaku, w przeciwnym razie błąd #VALUE! Dla jasności nie musimy znać dokładnej pozycji, każda liczba (w przeciwieństwie do błędu) oznacza, że komórka zawiera tekst docelowy.
- Funkcja ISNUMBER obsługuje tablicę liczb i błędów zwróconych przez FIND i konwertuje liczby na TRUE, a wszystko inne na FALSE. Podwójny unary (--) zamienia wartości logiczne na jedynki i zera.
- SUMPRODUCT sumuje tablicę 1 i 0 i zwraca liczbę komórek, które zawierają podany tekst jako część swojej zawartości.
Aby przetestować formułę na rzeczywistych danych, znajdźmy ile komórek w A2:A10 zawiera podłańcuch wprowadzony w D1:
=SUMPRODUCT(--(ISNUMBER(FIND(D1, A2:A10))))
A to zwraca zliczenie 3 (komórki A2, A3 i A6):
Jak policzyć przefiltrowane komórki z określonym tekstem
Do liczenia widoczne elementy w filtrowanej liście, będziesz musiał użyć kombinacji 4 lub więcej funkcji w zależności od tego, czy chcesz uzyskać dokładne lub częściowe dopasowanie. Aby ułatwić śledzenie przykładów, spójrzmy najpierw na dane źródłowe.
Zakładając, że masz tabelę z Identyfikatory zamówień w kolumnie B i Ilość w kolumnie C jak na poniższym obrazku. Na razie interesują Cię tylko ilości większe od 1 i odpowiednio przefiltrowałeś swoją tabelę. Pytanie brzmi - jak policzyć przefiltrowane komórki z konkretnym id?
Formuła zliczania przefiltrowanych komórek z określonym tekstem (exact match)
Aby zliczyć odfiltrowane komórki, których zawartość dokładnie pasuje do przykładowego ciągu tekstowego, użyj jednej z poniższych formuł:
=SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(B2:B10=F1))
=SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), --(B2:B10=F1))
Gdzie F1 to przykładowy tekst, a B2:B10 to komórki do zliczenia.
Jak działają te formuły:
U podstaw obu formuł wykonujesz 2 kontrole:
- Określenie widocznych i ukrytych wierszy. W tym celu używasz funkcji SUBTOTAL z funkcja_num Aby dostarczyć wszystkie pojedyncze odwołania do komórek do SUBTOTAL, użyj INDIRECT (w pierwszej formule) lub kombinacji OFFSET, ROW i MIN (w drugiej formule). Ponieważ naszym celem jest zlokalizowanie widocznych i ukrytych wierszy, nie ma znaczenia, do której kolumny się odwołać (A w naszym przykładzie). Wynikiem tej operacji jest tablica 1 i 0, gdzie jedynki reprezentują widoczne wiersze.rzędów i zer - rzędów ukrytych.
- W tym celu należy porównać przykładowy tekst (F1) z zakresem komórek (B2:B10). Wynikiem tej operacji jest tablica wartości TRUE i FALSE, które są zamieniane na 1 i 0 za pomocą podwójnego operatora jednoargumentowego.
Na koniec funkcja SUMPRODUCT mnoży elementy obu tablic na tych samych pozycjach, a następnie sumuje otrzymaną tablicę. Ponieważ mnożenie przez zero daje zero, tylko komórki, które mają 1 w obu tablicach, mają 1 w tablicy końcowej. Suma 1 to liczba przefiltrowanych komórek zawierających określony tekst.
Formuła zliczania przefiltrowanych komórek z określonym tekstem (dopasowanie częściowe)
Aby zliczyć odfiltrowane komórki zawierające określony tekst jako część zawartości komórki, zmodyfikuj powyższe formuły w następujący sposób. Zamiast porównywać przykładowy tekst z zakresem komórek, wyszukaj tekst docelowy, używając ISNUMBER i FIND, jak wyjaśniono w jednym z poprzednich przykładów:
=SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(ISNUMBER(FIND(F1, B2:B10))))
=SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), --(ISNUMBER(FIND(F1, B2:B10))))
W efekcie formuły zlokalizują dany ciąg tekstowy w dowolnej pozycji w komórce:
Uwaga. Funkcja SUBTOTAL z 103 w. funkcja_num argument, identyfikuje wszystkie ukryte komórki, odfiltrowane i ukryte ręcznie. W rezultacie powyższe formuły zliczają tylko widoczne komórki Niezależnie od tego jak niewidoczne komórki zostały ukryte. Aby wykluczyć tylko odfiltrowane komórki, ale uwzględnić te ukryte ręcznie, użyj 3 dla funkcja_num .
Oto jak policzyć liczbę komórek z określonym tekstem w Excelu. Dziękuję za przeczytanie i mam nadzieję, że zobaczymy się na naszym blogu za tydzień!
Dostępne pliki do pobrania
Formuły Excela do zliczania komórek z określonym tekstem