Policz liczbę słów w ciągu w Arkuszach Google

Odpowiedzi:

9

W arkuszach kalkulacyjnych Google zrobiłbym to nieco inaczej.

Formuła

=COUNTA(SPLIT(A1, " "))

Wyjaśnione

Ta SPLITfunkcja jest dostępna tylko w Arkuszu kalkulacyjnym Google i dzieli zawartość komórki na każde miejsce ( " "). COUNTFunkcja będzie po prostu policzyć przypadki.

Formuła Excela daje tę samą odpowiedź, ale nieco bardziej pracochłonną:

=LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1

Zrzut ekranu

wprowadź opis zdjęcia tutaj

Uwaga

Zobacz poniższą odpowiedź dotyczącą tego, które formuły są unikalne w Arkuszu kalkulacyjnym Google:
https://webapps.stackexchange.com/a/44719/29140

Jacob Jan Tuinstra
źródło
1
W większości przypadków to działało dla mnie (w Arkuszach Google) ... z wyjątkiem pustej komórki zwróconej 1 .. Więc zmieniłem ją trochę, aby puste komórki =COUNTA(SPLIT(A1, " "))-IF(A1 = "",1,0)
zwróciły
Robimy coś podobnego, ale to nie zadziała, gdy spacje nie są zwykłymi znakami spacji (np. Tabulatorami itp.). Chciałbym więc znaleźć nieco sprytny sposób liczenia słów.
Aldo „xoen” Giambelluca
Cześć Aldo, najlepiej zadać pytanie tutaj w aplikacjach internetowych !!!
Jacob Jan Tuinstra
3

Nieznaczne ulepszenie formuły w tej drugiej odpowiedzi, więc w przypadku, gdy A1 jest pusty lub jeśli ma pusty ciąg, zwróci zero.

= JEŻELI (LEN (A1) = 0,0, COUNTA (SPLIT (A1, „”))
Ruben
źródło
0

Jeśli chcesz to zrobić w zakresie komórek (tj. A1:A25), Możesz użyć powyższej formuły, gdzie CHAR(32)jest spacja" "

=COUNTA(SPLIT(ARRAYFORMULA(CONCATENATE(A1:A25&CHAR(32)));CHAR(32)))

Działa to z pustymi komórkami, z wyjątkiem sytuacji, gdy początkowa komórka jest pusta.

Enrique Ramírez
źródło
0

Inne:

=COUNTA(SPLIT(TRIM(A1&" #")," "))-1

To po prostu dołącza znak spacji i funta na końcu wszystkiego, co znajduje się w komórce docelowej, w tym dodając go do wartości zerowej , więc nigdy nie ma żadnych błędów wyrzucających licznik. Następnie odejmujemy tylko tymczasowe „fałszywe miejsce” na końcu.

Erik Tyler
źródło
0

=ARRAYFORMULA(IF(LEN(A3:A), 
 MMULT(IF(IFERROR(SPLIT(IF(LEN(A3:A), A3:A, ), " "))<>"", 1, 0), 
 ROW(INDIRECT("A1:A"&COUNTA(IFERROR(
 QUERY(IF(IFERROR(SPLIT(IF(LEN(A3:A), A3:A, ), " "))<>"", 1, 0), "limit 1", 0)))))^0), ))

0

______________________________________________________________

=ARRAYFORMULA(IF(LEN(A3:A), LEN(REGEXREPLACE(A3:A, "[^\s]", ))+1, ))

0

użytkownik0
źródło