Tracks
Excelでは、セル内のスペース数を測って単語数に変換する数式を使って単語数を数えられます。Excelには単語数カウントの機能が標準搭載されていないため、ほとんどの方法はLEN()、SUBSTITUTE()といった関数や、最新のExcelにある新しい関数に依存します。
このガイドでは、数式、最新の関数、AIツールを使ってExcelで単語数を数える、いくつかの簡単な方法を紹介します。あわせて、結果の正確性に影響するよくあるミスや端数的なケースについても見ていきます。
Excelで単語数を数えることの難しさ
Excelは、テキスト解析よりも数値や構造化データの扱いに特化して設計されているため、単語数カウント機能が組み込まれていません。そのため、単語数を数えるには工夫が必要です。
Excelにネイティブな単語数カウントがない理由
Microsoft Wordのようなワープロは、文や段落、言語ルールに焦点を当てています。Excelは計算と構造化データに焦点を当てています。
この設計のため、次のような性質があります。
- Excelはテキストをドキュメントの一部ではなく、セルの値として保存する
- Excelは単語を独立した単位として認識しない
- Excelの関数は言語構造ではなく文字単位で動作する
定義の問題:何を「単語」とみなすか
「単語」の定義自体が混乱を招くこともあります。
たとえばメールマーケティングの文脈を考えてみてください。あるいは、ハイフンでつながれた語を1語として扱うツールもあれば、2語として数えるツールもあります。頭字語も端数的なケースを生みます。
Excelはこれらを解決するための言語ルールを適用しません。多くのExcelの数式は、単語がスペースで区切られていると仮定します。そのため、Excelの単語数が他のツールのカウントと異なることがあります。
Excelで単語数を数える主なユースケース
実務では、今でも単語数を把握する必要がある場面が多くあります。
よくある状況としては、次のようなものがあります。
- タイトル、説明文、広告コピーの語数制限の確認
- アンケートやフォームの回答の長さの確認
- データクレンジング時のコンテンツ監査
- スプレッドシートに保存されたメモやドキュメントの管理
こうした場合、数式で単語数を概算できます。
Excelで単語数を数える方法
Excelで単語数を数えるには、LEN()関数とSUBSTITUTE()関数を組み合わせます。これで1つのセル内の単語数を数えられます。
たとえばテキストがA2セルにあるとします。別のセル(B2など)に次の数式を入力してください。
=LEN(A2)-LEN(SUBSTITUTE(A2," ",""))+1
この数式の仕組みは次のとおりです。
-
LEN(A2)はセル内のすべての文字数を数えます -
SUBSTITUTE(A2," ","")はテキストからスペースを取り除きます -
LEN(SUBSTITUTE(...))はスペース除去後の文字数を数えます -
2つの文字数の差がスペースの数になります
-
+1を加えることで、スペースの数を単語数に変換します

セル内の合計単語数。画像:著者作成
Excelは単語ではなく文字を数えるため、スペースが単語を区切る目印として機能します。
例として、セルA2に"The little cat slept"というテキストがあるとします。
- "The"と"little"の間にスペースが1つ
- "little"と"cat"の間にスペースが1つ
- "cat"と"slept"の間にスペースが1つ
この文にはスペースが3つ、単語が4つあります。わかりやすく言えば、単語数=スペース数+1です。
この数式はまずスペース数を数え、最後に1を加えて最終的な単語数を返します。
空白セルや余分なスペースに対応する改良版の数式
セルに余分なスペースが含まれていたり、空のセルがあることもあります。こうした場合、上記の数式はうまく動作しません。余分なスペースが次のような典型的な問題を引き起こすためです。
-
空のセルで
0ではなく1が返る -
単語間の複数スペースがカウントを膨らませる
これを解決するには、LEN()とSUBSTITUTE()にTRIM()を組み合わせます。
=IF(LEN(TRIM(A3))=0,0,LEN(TRIM(A3))-LEN(SUBSTITUTE(TRIM(A3)," ",""))+1)
この数式では、次のように動作します。
-
TRIM(A2)が先頭・末尾・単語間の余分なスペースを取り除く -
LEN(TRIM(A2))=0がセルが空か、スペースのみかを判定する -
空なら
0を返す -
それ以外は、スペースに基づく同じロジックで単語数を数える

TRIM-LEN-SUBSTITUTEで余分なスペースを除外して単語数をカウント。画像:著者作成
数式を複数セルや範囲に適用する
1つのセルで数式が機能したら、多くの行に適用できます。主な方法を3つ見てみましょう。
列方向に数式をコピーする
列方向に数式をコピーするには:
- 数式が入ったセルを選択する
- 右下にカーソルを移動し、フィルハンドルが表示されたら
- フィルハンドルをドラッグするか、ダブルクリックする
これにより、Excelは参照を自動的に更新します。
-
A2はA3に -
A3はA4に -
以下同様
各行で、その行の単語数が計算されます。

フィルハンドルをドラッグまたはダブルクリックして数式をコピー。画像:著者作成
列全体の単語数を数える
複数セルにわたる総単語数を数えるには、各セルのカウントを合計します。たとえば単語数がB2:B4に表示されている場合は、次を使います。
=SUM(B2:B4)
これで範囲全体の総単語数が得られます。

列全体の総単語数をカウント。画像:著者作成
Excelテーブルで単語数を数える
Excelテーブルは行全体に自動で数式をコピーするため、構造化データに便利です。テーブルで単語数を数えるには:
- データを選択する
- 挿入 > テーブルに進む
- Word Countという新しい列を追加する
新しい列の最初の行に次の数式を入力します。
=IF(LEN(TRIM([@Text]))=0,0,LEN(TRIM([@Text]))-LEN(SUBSTITUTE(TRIM([@Text])," ",""))+1)
注意:列名はTextになっているため、ご自身の列名に置き換えてください。

Excelテーブルで単語数を数える。画像:著者作成
入力が完了すると、テーブル内のすべての行にExcelが自動で数式を適用します。大規模なデータセットで単語数を追跡する場合に有効です。
Excelで特定の単語を数える方法
特定の単語がセル内に何回現れるかは、LEN()とSUBSTITUTE()を組み合わせて数えられます。
次の数式を考えてみましょう。
=(LEN(A2)-LEN(SUBSTITUTE(A2,"cat","")))/LEN("cat")
この数式は、A2セル内に「cat」という単語が何回登場するかを数えます。
仕組みは次のとおりです。
-
SUBSTITUTE(A2,"cat","")は「cat」をすべて取り除く -
LEN(A2)は元の文字数を数える -
LEN(SUBSTITUTE(...))は除去後の文字数を数える -
2つの長さの差が、取り除かれた文字数を示す
-
LEN("cat")で割ることで、取り除かれた文字数を出現回数に変換する

特定の単語のカウント。画像:著者作成
大文字・小文字を区別しないカウント
Excelの数式は、多くの場合テキストを記述どおりに扱います。大文字・小文字の違いを無視したい場合は、テキストを同じ大文字・小文字に変換します。
LOWER()またはUPPER()で対応できます。
LOWER()の例:
=(LEN(LOWER(A2))-LEN(SUBSTITUTE(LOWER(A2),"cat","")))/LEN("cat")
UPPER()の例:
=(LEN(UPPER(A2))-LEN(SUBSTITUTE(UPPER(A2),"CAT","")))/LEN("CAT")
どちらの数式も先に同じ大文字・小文字に変換するため、Cat、CAT、catを同一の単語として数えます。
特定のフレーズを数える
同じ手法はフレーズにも使えます。たとえば「little cat」を数えたい場合は、数式内の単語をフレーズに置き換えます。
=(LEN(A2)-LEN(SUBSTITUTE(A2,"little cat","")))/LEN("little cat")
Excelはフレーズを取り除き、文字数の差を測り、その差を出現回数に変換します。
範囲全体で特定の単語を数える
複数セルにまたがって特定の単語を数えるには、各行に数式を適用して、結果を合計します。
A2:A10にテキストがあり、「cat」を数えたいとします。B2に次の数式を入力します。
=(LEN(A2)-LEN(SUBSTITUTE(A2,"cat","")))/LEN("cat")
Enterを押し、数式をB10までドラッグします。各行で、そのセル内に単語が何回登場するかが返されます。

特定の単語をカウント。画像:著者作成
部分一致のカウント
単語がより大きな語の中に含まれている場合でも、Excelがカウントしてしまうことがあります。これは部分一致と呼ばれます。
たとえば「cat」を検索すると、次のような語も数えられる可能性があります。
- "catalog"
- "cats"
- "category"
出現回数を数えるには次の数式を使えます。
=(LEN(A2)-LEN(SUBSTITUTE(A2,"cat","")))/LEN("cat")

部分一致のカウント。画像:著者作成
把握しておくべき制限
Excelの数式は単語境界を検出できません。テキスト内の一致する文字列のみを検索します。
この制限のため、数式は部分一致を数えてしまうことがあります。
多くのスプレッドシート作業では、この挙動は許容範囲です。厳密な言語ルールが不要な場合や、ざっくりとした見積もりがほしいときに役立ちます。
複数セルや範囲にまたがって単語数を数える方法
テキストが多くのセルに分かれていても、単一の単語数を算出できます。これは単一セルで単語数を数えるのと同じ数式を応用します。
範囲内の単語数を合計する
範囲内の単語数を合計するには、各セルで対象の単語を数え、範囲全体で結果を加算します。
A2:A10にテキストがあるとして、「cat」の総出現回数は次の数式で求められます。
=SUMPRODUCT((LEN(A2:A10)-LEN(SUBSTITUTE(A2:A10,"cat","")))/LEN("cat"))
この数式は範囲内の各セルをチェックし、単語の出現回数を数え、単一の合計を返します。
大文字・小文字の違いを無視したい場合は、先にテキストを変換します。
=SUMPRODUCT((LEN(LOWER(A2:A10))-LEN(SUBSTITUTE(LOWER(A2:A10),"cat","")))/LEN("cat"))
このバージョンはCat、CAT、catを同一の単語として扱います。

SUMPRODUCTで複数セルの単語数をカウント。画像:著者作成
列全体やテーブルの総単語数を取得する
別の方法として、ヘルパー列を使う手もあります。
A2:A10にテキストがあり、A1がヘッダーだとします。
-
B2に単語数の数式を入力する -
フィルハンドルをダブルクリックして、列方向に数式をコピーする
-
結果を
=SUM(B2:B10)で合計する
Excelが各行の単語数を合計し、列全体の合計を返します。

列全体の単語数をカウントして合計。画像:著者作成
Excelテーブルで単語数を数える
Excelテーブルでは、新しい行にも自動的に数式が適用されるため、この作業が容易になります。
- データセットを選択する
- 次へ進む:挿入 > テーブル
- 新しい列Word Countを追加する
新しい列の最初の行に、次を入力します。
=IF(LEN(TRIM([@Text]))=0,0,LEN(TRIM([@Text]))-LEN(SUBSTITUTE(TRIM([@Text])," ",""))+1)

Excelテーブルで単語数をカウント。画像:著者作成
数式内のTextを、テーブル内の実際の列名に置き換えてください。Excelは自動的にすべての行に数式を適用します。テーブル全体の総単語数を計算するには、次を使います。
=SUM(Table2[Word Count])
Table2はご自身のテーブル名に、Word Countはシートで使用している列ヘッダー名に置き換えてください。
Excelの単語数カウントでよくあるエラーのトラブルシューティング
Excelの単語数カウント用の数式は、通常はうまく動作します。しかし、データや数式設定のちょっとした問題で、誤った結果になることがあります。以下の対処法は、よくある問題に対応します。
よくあるミスとその直し方
代表的なエラーと解決法を紹介します。
不適切な範囲の使用
数式に空行やヘッダーセルを含めてしまうことがあります。これは合計を水増ししたり、計算を遅くしたりします。
対処法:実データの行に範囲を絞ります。たとえばA:AではなくA2:A100を使います。
数式コピー時のセル参照ミス
数式が固定セルを参照していると、どの行も同じ結果になります。
対処法:各行で参照が変わるよう、$A$2ではなくA2のような相対参照を使います(毎行同じセルを参照させたい場合を除く)。
数式にTRIM()がない
単語間の余分なスペースは、単語数を増やしてしまいます。
対処法:数式を適用する前にTRIM()でテキストをラップし、先頭・末尾・重複スペースを除去します。
空白セル、非テキストデータ、特殊ケースへの対応
単語数を数える際の特殊ケースへの対処を見ていきます。
空白セル、またはスペースのみのセル
隠れたスペースを含むセルは、0ではなく1を返すことがあります。空のセルに対して0を返すには次の数式を使います。
=IF(LEN(TRIM(A2))=0,0,LEN(TRIM(A2))-LEN(SUBSTITUTE(TRIM(A2)," ",""))+1)
TRIM()は、Excelが単語数を計算する前に余分なスペースを除去します。

単語数カウント時の空白セルにはTRIMを使用。画像:著者作成
数値や数式が入ったセル
Excelは数値セルの文字数も数えるため、結果に影響することがあります。ISTEXT()関数を使い、テキストセルだけを対象にします。
=IF(ISTEXT(A2),IF(LEN(TRIM(A2))=0,0,LEN(TRIM(A2))-LEN(SUBSTITUTE(TRIM(A2)," ",""))+1),0)
この数式は、セルにテキストが含まれない場合は0を返します。

ISTEXT()で数値が入ったセルを除外。画像:著者作成
セル内の複数行テキスト
他のソースからコピーしたテキストには、改行や不可視文字が含まれることがあります。これはカウントに影響します。
これを防ぐには、TRIM()やCLEAN()を適用して不要な文字を取り除いてから単語数カウントの数式を実行します。
結合セル
結合セルは、一定の範囲に依存する数式を壊してしまうことがあります。大規模データセットでの計算時は、結合セルの使用を避けてください。
正確な単語数カウントのためのデータ検証
正確な単語数は、きれいな入力データに依存します。いくつかの簡単なチェックで、エラーの未然防止が可能です。
カウント前にテキストをクリーンアップする
コピーやインポートしたテキストには、多くの場合、余分なスペースや不可視文字が含まれます。TRIM()を適用するヘルパー列を用意し、単語数の計算前にテキストを整えます。
特定の単語を数える場合はテキストを標準化する
同じ単語でも表記の大文字・小文字が異なることがあります。特定単語のカウントを行う前に、LOWER()やUPPER()で小文字・大文字に統一します。
大規模データセットではヘルパー列を使う
大規模データセットでは、複雑な数式は検証が難しくなります。処理を段階に分けましょう。
- テキストを整える列
- 単語数を数える列
- 合計を計算するセル
この構成により、エラーの発見が容易になり、パフォーマンスも向上します。
データの入力規則で空入力を防ぐ
Excelのデータの入力規則を使えば、空の入力を防ぐこともできます。
-
A2:A100などの入力範囲を選択する -
次へ進む:データ > データの入力規則
-
「許可」で文字列(長さ)を選ぶ
-
「データ」で次の値より大きいを選び、値を
0に設定する

空セルを避けるためのデータの入力規則。画像:著者作成
これで、完全に空の入力はブロックされ、セルを空白のままにしようとするとエラーメッセージが表示されます。
最新の解決策とAIを活用したテキスト分析
最近のExcelには、最新のテキスト関数やAI機能が搭載されています。これらを使えば、従来の数式だけに頼らず、テキストの分析や単語数の見積もりが容易になります。
ExcelのTEXTSPLIT()
最新のExcelには、多くの文字列処理を簡素化する新しいテキスト関数があります。スペースを手作業で数える代わりに、テキストを単語ごとに分割して直接数えることができます。
TEXTSPLIT()は、区切り文字に基づいてテキストを複数の値に分割します。区切り文字にスペースを使えば、単語を分けられます。
テキストがA2セルにあるとします。B2に次の数式を入力します。
=COUNTA(TEXTSPLIT(TRIM(A2)," "))
動作の流れ:
-
TRIM(A2)で余分なスペースを除去 -
TEXTSPLIT(...," ")でスペースのたびに分割 -
COUNTA()で結果の単語を数える
この方法は、従来のスペース数カウントの数式よりも読みやすいです。
次のような場合に最適です。
- 最新のExcel(Microsoft 365 または Excel 2021以降)を使用している
- 単語間のスペースがきれいに整っている
- 短文〜中程度の長さのテキストである
テキストに改行や特殊な区切りが含まれる場合は、分割前に追加のクリーンアップが必要になることがあります。
ExcelのCopilotとAI主導の方法
Microsoft Excelには、CopilotによるAIアシスト機能があります。Copilotはスプレッドシートのデータを解析し、テキストに関する質問を含む自然言語のリクエストに応答できます。
たとえば、Copilotに次のように依頼できます。
Count the number of words in this column.
Copilotはデータを解析し、数式を用意しなくても結果を返します。
簡単なテストでは、Copilotは概ね妥当な見積もりを提示します。ただし、Excelの数式による結果と必ずしも一致するとは限りません。
数値が異なる場合がある理由
AIシステムは、従来の単語ではなくトークンを用いてテキストを解析することがよくあります。トークンは、モデルが処理するテキストの断片を表します。トークンは常に単語境界と一致するわけではありません。
たとえば:
- 長い単語が複数のトークンに分割されることがある
- 短い単語や句読点が1つのトークンとして扱われることがある
- 特殊文字がテキストの分割方法に影響することがある
このため、Copilotは、スペースに基づいて単語を見積もるExcelの数式とはやや異なる解釈を行う場合があります。
| 利点 | 制限事項 |
|---|---|
| 大規模または乱雑なテキストデータセットでも高速 | 依頼文の表現により手法が変わる場合がある |
| クイックな分析や要約に有用 | 適用されたロジックが常に可視化・監査可能とは限らない |
| 数式を作成・記憶する必要がない | 一貫性のある再現可能なカウントが必要な場合には不向き |
正確で監査可能な単語数が必要な場合は、Excelの数式が最も信頼できます。AIツールは、クイックな分析や探索的な確認として使うのが最適です。
まとめ
Excelでテキストを扱う際は、これらの単語数カウント手法をシンプルなワークフローの一部として活用してください。まずテキストを整え、明確な数式を適用し、データセット全体で結果を確認します。これは、アンケート回答のレビュー、コンテンツフィールドの監査、スプレッドシートに保存されたメモの分析に役立ちます。
さらにスキルを伸ばすには、Excel関数やデータ準備テクニックを練習してみてください。
複雑なテーマをわかりやすくすることが好きなコンテンツストラテジストです。Splunk、Hackernoon、Tiiny Host などの企業で、読者にとって魅力的で有益なコンテンツの制作を支援してきました。
FAQs
Excelはハイフンつきの単語を一貫して数えますか?
いいえ。Excelはスペースを基準にします。ハイフンつきの語は、スペースで区切られていない限り1語として数えられます。
Excelはタブを単語の区切りとして扱いますか?
いいえ。タブは文字でありスペースではありません。単語を数える前にスペースに置き換える必要があります。
コメントやメモ内の単語もExcelで数えられますか?
いいえ。Excelの数式はコメントやメモではなく、セルの値に対してのみ機能します。
`TEXTBEFORE()`と`TEXTAFTER()`で特定部分のテキストを抽出できますか?
はい。TEXTBEFORE()とTEXTAFTER()を使うと、特定の区切り文字の前後にあるテキストを抽出できます。 たとえば、A2セルにReport-2024-Finalがある場合は、次のようにします。
=TEXTBEFORE(A2,"-")はReportを返します。
そして=TEXTAFTER(A2,"-")は2024-Finalを返します。
Excelは単語数カウントの際、日付をテキストとして扱いますか?
いいえ。日付はテキストに変換しない限り数値として保存されるため、ほとんどの単語数カウントの数式では無視されます。
