Excelで単語を数える方法 - 数式の例

  • これを共有
Michael Brown

ExcelでLEN関数と他のExcel関数を組み合わせて単語を数える方法を説明し、セルや範囲内の合計または特定の単語/テキストをカウントする大文字と小文字を区別する数式を提供します。

Microsoft Excelには、数値の入ったセルを数えるCOUNT関数、空白でないセルを数えるCOUNTA、条件付きでセルを数えるCOUNTIFとCOUNTIFS、文字列の長さを計算するLENなど、ほぼすべての項目を数えることができる便利な関数が用意されています。

残念ながら、Excelには単語の数を数えるための組み込みのツールはありません。 幸い、いくつかの関数を組み合わせることで、より複雑な数式を作り、ほとんどのタスクを達成することができます。 そして、このアプローチを使って、Excelで単語を数えることにします。

    セル内の単語の総数を数える方法

    セル内の単語を数えるには、LEN、SUBSTITUTE、TRIMの各関数を次のように組み合わせて使用します。

    LEN(TRIM( セル ))-len(substitute( セル ," ",""))+1

    どこ セル は、単語をカウントしたいセルのアドレスです。

    例えば、セルA2の単語を数えるには、次のような数式を使用します。

    =len(trim(a2))-len(substitute(a2," ","))+1

    そして、その計算式を下にコピーして、A列の他のセルの単語を数えることができるのです。

    このワードカウント式の仕組み

    まず、SUBSTITUTE関数でセル内のスペースをすべて取り除き、空のテキスト文字列("")に置き換えて、LEN関数でスペースを除いた文字列の長さを返します。

    len(substitute(a2," ","))

    その後、文字列の全長からスペースを除いた文字列の長さを引き、セル内の単語数はスペースの数に1を加えたものに等しいので、最終的な単語数に1を加えるのです。

    さらに、TRIM 関数を使用して、セル内の余分なスペースを削除します。 ワークシートには、単語と単語の間に 2 つ以上のスペースがあったり、テキストの最初や最後に誤って入力したスペース文字(つまり、リーディングスペースやトレーリングスペース)など、目に見えない多くのスペースがある場合があります。 これらの余分なスペースは、単語数を狂わせることがあります。 これを防ぐために、TRIM 関数の前に、次のような方法を使用します。を計算し、TRIM関数で単語間の半角スペースを除くすべての余分なスペースを削除する。

    空のセルを適切に処理するように数式を改良

    Excelで単語を数える上記の数式は、1つの欠点がなければ完璧と呼べるでしょう。 空白のセルがあるかどうかをチェックするIF文を追加すれば、これを修正できます。

    =if(a2="", 0, len(trim(a2))-len(substitute(a2," ","))+1)

    上のスクリーンショットにあるように、この数式は空白のセルにはゼロを返し、空白でないセルには正しいワード数を返します。

    セル内の特定の単語をカウントする方法

    特定の単語、テキスト、または部分文字列がセル内に何回現れるかを数えるには、次の数式を使用します。

    =(LEN( セル )-len(代入( セル , 言葉 ,""))/LEN( 言葉 )

    例えば、""の数を計算してみましょう。 " がセル A2 に出現している。

    =(LEN(A2)-LEN(SUBSTITUTE(A2, "moon",")))/LEN("moon")

    その結果、Excelで単語を数えるための、より汎用的な数式を手に入れることができます。

    ヒント:計算式を複数のセルにコピーする場合は、カウントする単語を含むセルへの参照を必ず$記号で固定してください。 たとえば、次のようになります。

    =(len(a2)-len(substitute(a2, $b$1,"")))/len($b$1)

    この数式は、セル内の特定のテキストの出現回数をカウントする方法です。

    1. SUBSTITUTE関数は、元のテキストから指定された単語を削除します。

    この例では、A2にある原文から、セルB1に入力された単語を削除しています。

    substitute(a2, $b$1,"")

  • 次に、LEN関数は、指定された単語を除いた文字列の長さを計算します。
  • この例では len(substitute(a2、$b$1、"")) は、セルA2内のテキストの長さを、単語""に含まれるすべての文字を削除して返します。 ".

  • その後、元のテキスト文字列の全長から上記の数値を引きます。
  • (len(a2)-len(substitute(a2, $b$1,"")))

    この演算の結果は、対象となる単語の全出現回に含まれる文字数で、この例では12である(3回出現する単語は""である)。 ", 各4文字)。

  • つまり、対象となる単語の全出現回数を、その単語の1回に含まれる文字数で割る。 この例では、12を4で割って、3という結果になる。
  • セル内の特定の単語の数を数える以外に、この数式で ぜんぶんきごう (部分文字列)の回数を数えることができます。 撥ねる " がセル A2 に表示される。

    セル内の特定の単語をカウントする大文字小文字を区別する数式

    ご存知のように、ExcelのSUBSTITUTEは大文字と小文字を区別する関数なので、SUBSTITUTEに基づく単語カウント式はデフォルトで大文字と小文字が区別されます。

    セル内の特定の単語をカウントする大文字小文字を区別しない数式

    ある単語の大文字と小文字の出現回数を数える必要がある場合は、SUBSTITUTEの中のUPPER関数かLOWER関数を使って、元のテキストと数えようとしているテキストを同じ大文字に変換してください。

    =(LEN( セル )-len(代入(上段( セル ),UPPER(上) テキスト ),"")))/LEN( テキスト )

    または

    =(LEN( セル )-len(代入(下位( セル )、LOWER( テキスト ),"")))/LEN( テキスト )

    例えば、セルA2無視のケース内でB1の単語の出現回数を数えるには、次の数式を使用します。

    =(len(a2)-len(substitute(lower(a2),lower($b$1),"")))/len($b$1)

    以下のスクリーンショットに示すように、この数式は、単語が大文字(セルB1)、小文字(セルD1)、文 字(セルC1)のいずれで入力されても、同じ単語数を返します。

    範囲内の単語の総数を数える

    ある範囲に含まれる単語の数を調べるには、セル内の単語の総数を数える数式を取り出し、SUMPRODUCTまたはSUM関数のいずれかに埋め込みます。

    =sumproduct(len(トリム( レンジ ))-len(代入( レンジ ," ",""))+1)

    または

    =SUM(LEN(TRIM() レンジ ))-len(substitute( レンジ ," ",""))+1)

    SUMPRODUCTは配列を扱える数少ないExcel関数の一つで、Enterキーを押して通常の方法で数式を完成させることができます。

    SUM関数で配列を計算するには、配列式の中で使用する必要があり、通常のEnterストロークの代わりに、Ctrl+Shift+Enterを押すことで完了します。

    例えば、範囲A2:A4内のすべての単語を数えるには、次のいずれかの数式を使用します。

    =sumproduct(len(trim(a2:a4))-len(substitute(a2:a4," ","))+1)

    =sum(len(trim(a2:a4))-len(substitute(a2:a4," ",")))+1)

    範囲内の特定の単語を数える

    セルの範囲内に特定の単語やテキストが何回現れるかを数えるには、同様の方法で行います。セル内の特定の単語を数える数式を取り出し、SUMまたはSUMPRODUCT関数と組み合わせます。

    =sumproduct((len( レンジ )-len(代入( レンジ , 言葉 ,""))/LEN( 言葉 ))

    または

    =SUM((LEN( レンジ )-len(代入( レンジ , 言葉 ,""))/LEN( 言葉 ))

    配列のSUM式を正しく完成させるために、Ctrl+Shift+Enterキーを忘れずに押してください。

    例えば、セルC1に入力された単語の出現回数を、A2:A4の範囲内ですべて数えるには、次の数式を使用します。

    =sumproduct((len(a2:a4)-len(substitute(a2:a4, c1,"")))/len(c1))

    覚えているように、SUBSTITUTEは ケースセンシティブ 関数を使用するため、上記の式では大文字と小文字が区別されます。

    数式を作るには ケースインセンシティブ の場合は、UPPERまたはLOWERのいずれかの機能を使用します。

    =sumproduct((len(a2:a4)-len(substitute((upper(a2:a4)),upper(c1),"")))/len(c1))

    または

    =sumproduct((len(a2:a4)-len(substitute((lower(a2:a4)),lower(c1),"")))/len(c1))

    Excelで単語を数える方法を説明します。 よりよく理解するために、そしておそらく逆行演習するために、Excel Count Wordsワークブックのサンプルをダウンロードしてください。

    このチュートリアルで説明したどの数式でもあなたの課題を解決できなかった場合は、Excelでセル、テキスト、個々の文字をカウントするための他のソリューションを示す以下のリソースのリストをチェックしてみてください。

    Michael Brown は、ソフトウェア ツールを使用して複雑なプロセスを簡素化することに情熱を注ぐ熱心なテクノロジー愛好家です。テクノロジー業界で 10 年以上の経験があり、Microsoft Excel と Outlook、さらに Google Sheets と Docs のスキルを磨いてきました。 Michael のブログは、彼の知識と専門知識を他の人と共有することに特化しており、生産性と効率を向上させるためのわかりやすいヒントとチュートリアルを提供しています。経験豊富なプロフェッショナルであろうと初心者であろうと、Michael のブログでは、これらの重要なソフトウェア ツールを最大限に活用するための貴重な洞察と実践的なアドバイスを提供しています。