Respostas:
Nas planilhas do Google, eu faria um pouco diferente.
=COUNTA(SPLIT(A1, " "))
A SPLIT
função está disponível apenas na Planilha do Google e dividirá o conteúdo da célula em todos os espaços ( " "
). A COUNT
função simplesmente contará as instâncias.
A fórmula do Excel fornece a mesma resposta, mas um pouco mais trabalhosa:
=LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1
Consulte a resposta a seguir, sobre quais fórmulas são exclusivas da planilha do Google:
https://webapps.stackexchange.com/a/44719/29140
Pequena melhoria na fórmula nesta outra resposta. Caso A1 esteja em branco ou se tenha uma sequência vazia, retornará zero.
= SE (LEN (A1) = 0,0, COUNTA (DIVIDIDO (A1, "")))
Se você quiser fazer isso em um intervalo de células (ou seja A1:A25
), poderá usar a fórmula acima, onde CHAR(32)
está o caractere de espaço" "
=COUNTA(SPLIT(ARRAYFORMULA(CONCATENATE(A1:A25&CHAR(32)));CHAR(32)))
Isso funciona com células em branco, exceto quando a célula inicial está em branco.
Outro:
=COUNTA(SPLIT(TRIM(A1&" #")," "))-1
Isso apenas anexa um sinal de espaço e libra ao final do que estiver na célula de destino, incluindo a adição a um nulo , para que nunca haja erros lançando a contagem. Depois, subtraímos esse "espaço falso" temporário no final.
=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)