Jak uzyskać liczbę słów w programie Excel (przy użyciu prostych formuł)

Chcesz uzyskać liczbę słów w programie Excel? Wierz lub nie, ale Excel nie ma wbudowanego licznika słów.

Ale nie martw się.

Fajna garść funkcji Excela (lub odrobina VBA, jeśli masz ochotę) może z łatwością zrobić to za Ciebie.

W tym samouczku pokażę kilka sposobów liczenia słów w Excelu za pomocą prostych formuł. Na koniec omówię również technikę tworzenia niestandardowej formuły za pomocą VBA, która szybko poda liczbę słów dowolnego tekstu w dowolnej komórce.

Formuła, aby uzyskać liczbę słów w programie Excel

Zanim podam dokładną formułę, szybko omówimy logikę, aby uzyskać liczbę słów.

Załóżmy, że mam zdanie pokazane poniżej, dla którego chcę uzyskać liczbę słów.

Chociaż Excel nie może policzyć liczby słów, może policzyć liczbę spacji w zdaniu.

Aby uzyskać liczbę słów, możemy policzyć te spacje zamiast słów i dodać 1 do sumy (ponieważ liczba spacji będzie o jeden mniejsza od liczby słów).

Teraz mogą być dwie możliwości:

  1. Między każdym słowem jest pojedyncza spacja
  2. Między słowami jest wiele spacji.

Zobaczmy więc, jak policzyć całkowitą liczbę słów w każdym przypadku.

Przykład 1 - Gdy między słowami jest pojedyncza spacja

Załóżmy, że mam następujący tekst w komórce A1: Wypuść kota z torby

Aby policzyć liczbę słów, oto wzór, którego użyłbym:

=DŁ(A1)-DŁ(ZAMIENNIK(A1;"",""))+1

W rezultacie zwróci to „7”.

Oto jak działa ta formuła:

  • DŁ(A1) - Ta część formuły zwraca 26, czyli całkowitą liczbę znaków w tekście w komórce A1. Obejmuje zarówno znaki tekstowe, jak i spacje.
  • SUBSTITUTE(A1,” „,””) - ta część formuły usuwa wszystkie spacje z tekstu. Wynik w tym przypadku byłby więc Wyjąć kota z worka.
  • LEN(ZAMIENNIK(A1,” “,“”) - Ta część formuły zlicza całkowitą liczbę znaków w tekście, który nie zawiera spacji. Wynik byłby więc 20.
  • LEN(A1)-LEN(ZAMIENNIK(A1,” “,“”)) - Spowoduje to odjęcie długości tekstu bez spacji od długości tekstu ze spacjami. W powyższym przykładzie byłoby to 26-20, czyli 6.
  • =DŁ(A1)-DŁ(ZAMIENNIK(A1” „,“”))+1 - Do ogólnego wyniku dodajemy 1, ponieważ całkowita liczba spacji jest o jeden mniejsza niż całkowita liczba słów. Na przykład jedna spacja w dwóch słowach i dwie spacje w trzech słowach.

Teraz działa to dobrze, jeśli masz tylko jedną spację między słowami. Ale to nie zadziała, jeśli masz więcej niż jedną spację między słowami.

W takim przypadku użyj formuły z następnego przykładu.

Przykład 2: Gdy między słowami jest wiele spacji

Załóżmy, że masz następujący tekst: Wypuść kota z worka

W takim przypadku między słowami znajduje się wiele znaków spacji.

Aby uzyskać liczbę słów, najpierw musimy usunąć wszystkie dodatkowe spacje (takie, że między dwoma słowami jest tylko jeden znak spacji), a następnie policzyć całkowitą liczbę spacji.

Oto wzór, który da nam odpowiednią liczbę słów:

=DŁ(PRZYC(A1))-DŁ(ZAMIENNIK(A1;"",""))+1

Jest to podobna formuła zastosowana w powyższym przykładzie, z niewielką zmianą - tutaj również zastosowaliśmy funkcję TRIM.

Funkcja Excel TRIM usuwa wszelkie spacje wiodące, końcowe i dodatkowe (z wyjątkiem pojedynczych spacji między wyrazami).

Reszta wzoru działa tak samo (jak wyjaśniono w przykładzie 1).

Uwaga: Jeśli między słowami nie ma spacji, jest traktowane jako jedno słowo.

Używanie funkcji niestandardowej VBA do liczenia słów w programie Excel

Chociaż powyższe formuły działają świetnie, jeśli musisz często obliczać liczbę słów, możesz użyć VBA do utworzenia funkcji niestandardowej (zwanej również funkcją zdefiniowaną przez użytkownika).

Zaletą korzystania z funkcji niestandardowej jest to, że można ją utworzyć raz, a następnie używać jej jak każdej innej zwykłej funkcji programu Excel. Zamiast więc tworzyć długą, złożoną formułę, jak to zrobiliśmy w dwóch powyższych przykładach, masz prostą formułę, która pobiera odwołanie do komórki i natychmiast podaje liczbę słów.

Oto kod, który utworzy tę niestandardową funkcję, aby uzyskać liczbę słów w programie Excel.

Funkcja WordCount(CellRef As Range) Dim TextStrng As String Dim Wynik() As String Wynik = Split(WorksheetFunction.Trim(CellRef.Text), " ") WordCount = UBound(Result()) + 1 funkcja końcowa

Po utworzeniu możesz używać funkcji WordCount, tak jak każdej innej zwykłej funkcji programu Excel.

W powyższym kodzie funkcji niestandardowej użyłem funkcji TRIM arkusza roboczego, aby usunąć wszelkie początkowe, końcowe i podwójne spacje między słowami. Gwarantuje to, że wszystkie trzy komórki dadzą ten sam wynik, ponieważ liczone są tylko słowa, a nie podwójne spacje.

Jak działa ta formuła:

Powyższy kod VBA najpierw używa funkcji TRIM, aby usunąć wszystkie wiodące, końcowe i podwójne spacje z ciągu tekstowego w komórce, do której istnieje odwołanie.

Po uzyskaniu oczyszczonego ciągu używa funkcji SPLIT w VBA, aby podzielić ciąg tekstowy na podstawie ogranicznika, który określiliśmy jako znak spacji. Tak więc każde słowo jest oddzielone jako przechowywane jako osobna pozycja w zmiennej Result.

Następnie używamy funkcji UBOUND, aby policzyć całkowitą liczbę elementów, które zostały zapisane w zmiennych wynikowych. Ponieważ VBA ma podstawę 0, musimy dodać 1, aby uzyskać całkowitą liczbę słów.

Oznacza to, że Result(0) przechowuje pierwsze słowo, Result(1) drugie słowo i tak dalej. Ponieważ to liczenie zaczyna się od 0, musimy dodać 1, aby uzyskać rzeczywistą liczbę słów.

Gdzie umieścić ten kod?

Tworząc funkcję niestandardową, należy umieścić kod w edytorze VB skoroszytu (który jest zapleczem skoroszytu, w którym można napisać kod automatyzujący zadania i tworzyć funkcje niestandardowe).

Poniżej znajdują się kroki, aby umieścić kod funkcji „GetNumeric” w skoroszycie.

  1. Przejdź do zakładki Deweloper.
  2. Kliknij opcję Visual Basic. Spowoduje to otwarcie edytora VB w zapleczu.
  3. W okienku Eksplorator projektu w edytorze VB kliknij prawym przyciskiem myszy dowolny obiekt skoroszytu, do którego chcesz wstawić kod. Jeśli nie widzisz Eksploratora projektów, przejdź do karty Widok i kliknij Eksplorator projektów.
  4. Przejdź do Wstaw i kliknij Moduł. Spowoduje to wstawienie obiektu modułu do skoroszytu.
  5. Skopiuj i wklej kod w oknie modułu.

Po skopiowaniu kodu w oknie kodu możesz wrócić do arkusza roboczego i używać tej funkcji tak samo, jak każdej innej zwykłej funkcji programu Excel.

Wystarczy wpisać =Słowo i pokaże ci formułę na liście.

Pobiera jeden argument, który jest odwołaniem do komórki i natychmiast podaje w nim liczbę słów.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave