Yanıtlar:
Google E-Tablolar'da bunu biraz farklı yapardım.
=COUNTA(SPLIT(A1, " "))
SPLIT
İşlevi Google E-tablosunda kullanılabilir ve her alanı Hücrenin içeriğini bölecek ( " "
). COUNT
Fonksiyon basitçe örneklerini sayar.
Excel formülü aynı cevabı veriyor, ancak biraz daha zahmetli:
=LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1
Hangi formüllerin Google E-Tablolar için benzersiz olduğuna ilişkin aşağıdaki cevaba bakın:
https://webapps.stackexchange.com/a/44719/29140
İçinde formüle edilen hafif iyileşme bu diğer cevap öylesine durumda A1 boş olduğunu veya boş dize varsa sıfır döndürür.
= EĞER (LEN (A1) = 0,0, COUNTA (SPLIT (A1, ""))
Bunu bir hücre aralığında (yani A1:A25
) yapmak istiyorsanız yukarıdaki formülü kullanabilirsiniz CHAR(32)
, boşluk karakteri nerede" "
=COUNTA(SPLIT(ARRAYFORMULA(CONCATENATE(A1:A25&CHAR(32)));CHAR(32)))
Bu, ilk hücrenin boş olmadığı durumlar dışında boş hücrelerle çalışır.
Bir diğeri:
=COUNTA(SPLIT(TRIM(A1&" #")," "))-1
Bu, hedef hücredeki her şeyin sonuna bir boşluk ve pound işareti ekler, buna null değerine ekleme de dahildir , bu nedenle sayımı atmak için hiçbir hata olmaz. Sonra sonunda geçici "sahte alanı" çıkarıyoruz.
=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)