目次
Google Sheetsの単語数や文字数は、まれにしか使われないとはいえ、メニューの右にあるような機能を期待している人もいるでしょう。 しかし、Google Docsとは異なり、Google Sheetsの場合は、それを行うのはLEN関数です。
スプレッドシートで文字を数えるには様々な方法がありますが、本日のブログではLEN関数を取り上げます。 LEN関数の主な目的は、表で文字を数えることです :) しかし、それだけで使われることはほとんどありません。 以下では、Google Sheets LENの正しい使用方法と、スプレッドシートで文字を計算する最も望まれる数式を紹介します。
Google Sheets LEN関数 - 使用法と構文
Google SheetsのLEN関数の主な目的は、文字列の長さを取得することだけです。 引数が1つで済むほどシンプルです。
=LEN(テキスト)- は、二重引用符で囲まれたテキストそのものを取ることができます。
=LEN("ユグドラシル")
- または、目的のテキストを含むセルへの参照。
=LEN(A2)
表計算ソフトでの関数の使い方にクセがないか見てみましょう。
Google Sheetsの文字数カウント
Google Sheetsで最も一般的な方法である、LEN関数を使ってテキストのあるセルを参照し、文字数を数える方法から始めます。
B2に数式を入力し、それを列全体にコピーして各行の文字数をカウントしています。
=LEN(A2)
注)LEN関数は、文字、数字、スペース、句読点など、すべての文字を計算します。
同じような方法で、次のようにセルの全範囲の文字数をカウントすればいいと思うかもしれません。 LEN(A2:A6)
しかし、奇妙な話ですが、単純にこうはいかないのです。
複数のセルの文字を合計するには、LENをSUMPRODUCTでくくる必要があります。 私の場合、LEN関数で範囲が返されます。
=sumproduct(len(a2:a6))です。
もちろん、SUM関数を組み込むこともできますが、Google SheetsのSUMは他の関数からの配列を処理しません。 これを動作させるには、ArrayFormulaという別の関数を追加する必要があります。
=ArrayFormula(SUM(LEN(A2:A6)))
Google Sheetsでスペースを除いた文字をカウントする方法
上で述べたように、Google SheetsのLEN関数は、スペースを含むすべての文字を数えます。
しかし、間違って追加された余分なスペースがあり、それを結果に考慮したくない場合はどうすればいいのでしょうか?
このような場合、Google SheetsのTRIM関数を使うと、テキストに先行するスペース、後続するスペース、そしてその間に繰り返されるスペースをチェックすることができます。 TRIMとLENを組み合わせると、LENはそれらの奇妙なスペースをカウントしません。
例として、A列の異なる位置にスペースを追加しました。このように、Google SheetsのLENは単独で、それらをすべてカウントします。
=LEN(A2)
しかし、TRIMを統合した途端、余分なスペースはすべて無視されるようになりました。
=LEN(TRIM(A2))
さらに、単語と単語の間のスペースを無視させることもできます。 SUBSTITUTE関数は、ある文字を別の文字に置き換えることが主な目的ですが、スペースを完全に減らすことができる裏技があります。
=SUBSTITUTE(text_to_search, search_for, replace_with, [occurrence_number])- テキスト検索 は、作業する範囲:A列、または A2 正確には
- 検索対象 は二重引用符で囲まれたスペース文字でなければなりません。 " "
- replace_with は空のダブルクォートを含む必要があります。 空白を無視する場合は、文字通り何もない(空の文字列)に置き換える必要があります。 ""
- オキュレンスナンバー は通常、置換するインスタンスを指定するために使います。 しかし、今回はすべてのスペースを除いた文字をカウントする方法を説明しているので、この引数はオプションとして省略することをお勧めします。
さて、これらをすべてGoogle SheetsのLENに組み込んでみると、スペースが考慮されていないことがわかる。
=len(substitute(a2,「」,「」))
Google Sheets:特定の文字をカウントする
Google SheetsのLENとSUBSTITUTEの組み合わせは、特定の文字、文字、数字をカウントする必要があるときに、同じように使用されます。
今回は、's'の出現回数を調べますが、まずは既成の数式を使います。
=LEN(A2)-LEN(SUBSTITUTE(A2, "s", "")))
その仕組みを理解するために、バラバラに分解してみましょう。
- SUBSTITUTE(A2, "s", "") は、A2中の文字's'を探し、出現するすべての文字を "nothing "または空文字列("")に置き換える。
- LEN(SUBSTITUTE(A2, "s", "")) は、A2 の 's' を除くすべての文字の数を計算する。
- LEN(A2) は、A2 のすべての文字をカウントします。
- 最後に、一方を引き算する。
結果の差は、セル内にいくつの「s」があるかを示しています。
注)A2には3つの「s」が見えるのに、B1には1つしかないと言われるのはなぜだろう?
SUBSTITUTE関数は大文字と小文字を区別するので、's'のインスタンスをすべて小文字にするように頼んだら、そうなった。
大文字と小文字を区別せずに処理させるには、Google SheetsのLOWERという関数を呼び出す必要があります。
ヒント:Googleシートでテキストの大文字と小文字を変更する他の方法を参照してください。
必要なのはテキストだけなので、Google SheetsのLENとTRIMと同じように簡単です。
=LOWER(テキスト)
このトリックは、Google Sheetsに特定の文字を大文字小文字に関係なくカウントさせるために必要なものです。
=LEN(A2)-LEN(SUBSTITUTE(LOWER(A2), "s", "")))
ヒント:また、前回同様、範囲内の特定の文字の合計をカウントするには、LENをSUMPRODUCTで囲みます。
=SUMPRODUCT(LEN(A2:A7)-LEN(SUBSTITUTE(LOWER(A2:A7), "s", "")))
Google Sheetsで単語を数える
セル内に複数の単語がある場合、Google Sheetsの文字列の長さの代わりに、それらの番号が必要になる可能性があります。
そして、その方法は複数ありますが、今日はGoogle SheetsのLENがどのようにその仕事を行うかについて言及します。
Google Sheetsで特定の文字を数えるために使った数式を覚えていますか? 実は、ここでも役に立ちます。 文字通りに文字を数えるのではなく、単語と単語の間のスペースの数を数えて、単純に1を加えるのです。 見てみてください。
=len(a2)-len(substitute((a2), " ", "))+1
- LEN(A2) は、セル内の全文字数を数える。
- len(substitute((a2)," ",")) は、文字列からすべてのスペースを取り除き、残りの文字数を数える。
- そして、一方から他方を引き、得られた差がセルのスペースの数となる。
- 文中の単語は常にスペースより1つ多いので、最後に1を加えます。
Google Sheets:特定の単語を数える
最後に、特定の単語をカウントするために使えるGoogle Sheetsの計算式を紹介します。
ここでは、『不思議の国のアリス』から「モックタートルの歌」を紹介します。
各行に「will」という単語が何回現れるかを知りたいのです。 私が必要とする数式は、以前と同じ関数、Google SheetsのLEN、SUBSTITUTE、LOWERで構成されていると言っても、あなたは驚かないだろうと思います。
=(LEN(A2)-LEN(SUBSTITUTE(LOWER(A2), "will", "")))/LEN("will")
数式は怖く見えるかもしれませんが、理解しやすいと断言できますので、お付き合いください :)
- テキストの大文字と小文字は関係ないので、私は LOWER(A2) ですべてを小文字にします。
- そして、次のようになります。 SUBSTITUTE(LOWER(A2), "will","))) - は、'will' の出現をすべて空文字列 ("") に置き換えて除去する。
- そして、文字列の長さから'will'を含まない文字数を差し引くと、各行で'will'が出現するすべての文字をカウントした数値が得られる。
したがって、「will」が1回出てきたら、文字数が4文字なので4となり、2回出てきたら8となり、以下同様である。
- 最後に、この数字を「will」という一語の長さで割ってみる。
ヒント:「will」の全出現回数を知りたい場合は、数式全体をSUMPRODUCTで囲むとよいでしょう。
=SUMPRODUCT((LEN(A2:A7)-LEN(SUBSTITUTE(LOWER(A2:A7), "will", "")))/LEN("will")))
ご覧のように、これらの文字数制限のケースは、すべてGoogle Sheetsの同じ関数であるLEN、SUBSTITUTE、LOWER、SUMPRODUCTの同じパターンで解決されています。
もし、まだ理解できない公式があったり、自分のタスクにどのように適用したらいいかわからない場合は、恥ずかしがらずに下のコメント欄で質問してください。