Mam prosty arkusz kalkulacyjny Google z wieloma ciągami tekstowymi. Chcę tylko liczbę słów zawartych w każdej komórce. Czy mogę skorzystać z wbudowanej funkcji arkusza kalkulacyjnego Google?
Mam prosty arkusz kalkulacyjny Google z wieloma ciągami tekstowymi. Chcę tylko liczbę słów zawartych w każdej komórce. Czy mogę skorzystać z wbudowanej funkcji arkusza kalkulacyjnego Google?
Odpowiedzi:
W arkuszach kalkulacyjnych Google zrobiłbym to nieco inaczej.
=COUNTA(SPLIT(A1, " "))
Ta SPLIT
funkcja jest dostępna tylko w Arkuszu kalkulacyjnym Google i dzieli zawartość komórki na każde miejsce ( " "
). COUNT
Funkcja 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
Zobacz poniższą odpowiedź dotyczącą tego, które formuły są unikalne w Arkuszu kalkulacyjnym Google:
https://webapps.stackexchange.com/a/44719/29140
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, „”))
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.
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.
=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), ))
=ARRAYFORMULA(IF(LEN(A3:A), LEN(REGEXREPLACE(A3:A, "[^\s]", ))+1, ))
=COUNTA(SPLIT(A1, " "))-IF(A1 = "",1,0)