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


回答:


9

Googleスプレッドシートでは、少し違う方法でやります。

=COUNTA(SPLIT(A1, " "))

説明しました

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

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

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

スクリーンショット

ここに画像の説明を入力してください

リマーク

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


1
空のセルが1を返すことを除いて、ほとんどの場合これは私のために(Googleスプレッドシートで)機能しました...空のセルが0を返すように少し変更しました:=COUNTA(SPLIT(A1, " "))-IF(A1 = "",1,0)
CenterOrbit

同様のことを行いますが、スペースが通常のスペース文字(タブなど)でない場合は機能しません。だから私は単語を数えるための少し賢い方法を見つけたいです。
Aldo 'xoen' Giambelluca

こんにちはアルド、最善の方法はWebアプリケーションでここに質問するだけです!!!
Jacob Jan Tuinstra

3

A1が空白の場合、または空の文字列がある場合にゼロを返すため、この他の回答の式は少し改善されています。

= IF(LEN(A1)= 0,0、COUNTA(SPLIT(A1、 ""))

0

あなたがしたい場合は、セルの範囲でこれを行う(すなわちA1:A25)あなたはどこ、上記の式を使用することができますCHAR(32)スペース文字があります" "

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

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


0

別の:

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

これは、nullへの追加を含め、ターゲットセル内のすべての末尾にスペースとシャープ記号を追加するだけなので、エラーがカウントをスローすることはありません。次に、その一時的な「偽のスペース」を最後に差し引いています。


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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.