Antworten:
In Google Spreadsheets würde ich das etwas anders machen.
=COUNTA(SPLIT(A1, " "))
Die SPLIT
Funktion ist nur in Google Spreadsheet verfügbar und teilt den Inhalt der Zelle auf jedes Leerzeichen auf ( " "
). Die COUNT
Funktion zählt einfach die Instanzen.
Die Excel-Formel gibt die gleiche Antwort, ist aber etwas mühsamer:
=LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1
Siehe folgende Antwort, welche Formeln nur in Google Spreadsheet gelten:
/webapps//a/44719/29140
Leichte Verbesserung der Formel in dieser anderen Antwort. Wenn A1 leer ist oder eine leere Zeichenfolge enthält, wird Null zurückgegeben.
= IF (LEN (A1) = 0,0, COUNTA (SPLIT (A1, ""))
Wenn Sie dies für einen Zellbereich (dh A1:A25
) tun möchten, können Sie die obige Formel verwenden, wobei CHAR(32)
das Leerzeichen ist" "
=COUNTA(SPLIT(ARRAYFORMULA(CONCATENATE(A1:A25&CHAR(32)));CHAR(32)))
Dies funktioniert mit leeren Zellen, außer wenn die ursprüngliche Zelle leer ist.
Ein weiterer:
=COUNTA(SPLIT(TRIM(A1&" #")," "))-1
Hiermit wird nur ein Leerzeichen und ein Nummernzeichen an das Ende von allem in der Zielzelle angehängt, einschließlich des Hinzufügens zu einer Null , sodass niemals Fehler bei der Zählung auftreten. Dann subtrahieren wir nur diesen temporären "falschen Raum" am Ende wieder heraus.
=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)