web-dev-qa-db-ja.com

Googleスプレッドシートの文字列内の単語の数を数える

多数のテキスト文字列が含まれたシンプルなGoogleスプレッドシートがあります。各セルに含まれる単語の数だけが必要です。使用できる組み込みのGoogleスプレッドシート関数はありますか?

9
Nishant

Google Spreadsheetsでは、少し違うことをします。

=COUNTA(SPLIT(A1, " "))

説明した

SPLIT関数はGoogleスプレッドシートでのみ使用でき、セルのコンテンツをすべてのスペース(" ")で分割します。 COUNT関数は、単にインスタンスをカウントします。

Excelの式でも同じ答えが得られますが、もう少し面倒です。

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

スクリーンショット

enter image description here

リマーク

Googleスプレッドシートに固有の式は次の回答をご覧ください。
https://webapps.stackexchange.com/a/44719/2914

10

this other answer の式のわずかな改善により、A1が空白の場合、または空の文字列がある場合はゼロを返します。

 = IF(LEN(A1)= 0,0、COUNTA(SPLIT(A1、 ""))
2
Rubén

セル範囲でこれを行う(つまりA1:A25)にする場合は、上の式を使用できます。ここで、CHAR(32)はスペース文字" "です

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

これは、初期セルが空白の場合を除き、空白セルで機能します。

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

0
user0

別の:

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

これは、ターゲットセル内にあるものの末尾にスペースとポンド記号を追加するだけですnullに追加することを含む。その後、最後に一時的な「偽のスペース」を差し戻します。

0
Erik Tyler