【Excel】エクセルで文字数・文字列をカウントする方法(特定の文字・セル内の文字列を数える関数)
Excelで文字数を数えたいときは、セル内の文章量を確認する場合、特定の文字が何回出現するか調べる場合、複数セルに含まれる文字列を集計する場合など、目的に合う関数を選ぶことが大切です。
文字数のカウントにはLEN関数、特定の文字列の出現回数にはLEN関数とSUBSTITUTE関数の組み合わせ、条件に一致するセル数にはCOUNTIF関数が役立ちます。
セル内の総文字数はLEN関数、特定文字の回数はLEN関数とSUBSTITUTE関数、文字列を含むセル数はCOUNTIF関数で求めるのが基本です。
空白、改行、全角文字、半角文字も原則として1文字ずつとして扱われるため、カウント対象を事前に確認しておくと集計ミスを防げます。
ここでは、1行目を見出し行としたサンプルデータを使い、文字数・文字列を正確に数える手順を解説します。
エクセルでセル内の文字数を数えるLEN関数
それではまず、セルに入力された文字数を求める基本のLEN関数について解説していきます。
| A | B | C |
|---|---|---|
| 商品名 | 説明文 | 文字数 |
| ノート | 会議用のノートです | =LEN(B2) |
| ペン | 青色ボールペン | =LEN(B3) |
LEN関数の書式と入力方法
LEN関数は、指定したセルまたは文字列に含まれる文字数を返す関数です。
数式 LEN(文字列)
たとえばB2セルの「会議用のノートです」の文字数をC2セルに表示するには、C2セルへ=LEN(B2)と入力します。
文字列を数式へ直接入力する場合は、=LEN(“会議用のノートです”)のように、文字列をダブルクォーテーションで囲みます。
セル参照を使う方法なら、B列の内容が変更されてもC列の結果が自動で更新されるため、文章の文字数チェックに向いています。
日本語のひらがな、漢字、カタカナ、英数字は、LEN関数ではそれぞれ1文字として数えられます。
全角の「A」と半角の「A」は見た目の幅が異なりますが、どちらもLEN関数の結果は1です。
【操作のポイント】数式は文字数を表示したい列の先頭データ行に入力し、見出し行である1行目には入力しないようにします。
空白や記号を含む文字数の確認
LEN関数は、文章中にある半角スペース、全角スペース、句読点、記号も文字数に含めます。
たとえば「Excel 文字数」という文字列には、Excelの5文字、半角スペース1文字、文字数3文字が含まれるため、結果は9になります。
入力の末尾に不要な空白が残っていると、見た目よりLEN関数の結果が大きくなることがあります。
文章をコピーした後に文字数が合わないと感じたら、末尾の空白や改行が含まれていないか確認しましょう。
スペースも1文字として集計されることを理解すると、Web原稿、商品説明、申請書類などの文字数制限を確認しやすくなります。
【操作のポイント】表示上は判別しにくい空白を確認したいときは、数式バーでセル内容の末尾まで確認するのが確実です。
数式を下方向へコピーする方法
C2セルにLEN関数を入力した後は、セル右下に表示される小さな四角形であるフィルハンドルを使って、下の行へ数式をコピーできます。
フィルハンドルを下へドラッグすると、C3には=LEN(B3)、C4には=LEN(B4)というように、行番号が自動調整された数式が入ります。
隣接するB列に連続したデータがある場合は、フィルハンドルをダブルクリックする方法も便利です。
文字数の列をあらかじめ作っておけば、入力内容が規定の文字数を超えていないか、一覧で素早く確認できます。
先頭セルに正しい数式を入れてからオートフィルすると、複数行の文字数を効率よく計算できます。
【操作のポイント】オートフィル後は、最終行の数式が空白セルまでコピーされていないか確認しましょう。
特定の文字列の出現回数を数える数式
続いては、セル内に特定の文字や語句が何回含まれるかを数える方法を確認していきます。
| A | B | C |
|---|---|---|
| 文章 | 検索文字 | 出現回数 |
| ExcelでExcel関数を使う | Excel | 数式を入力 |
LEN関数とSUBSTITUTE関数を組み合わせる式
特定の文字列の出現回数は、元の文字列の長さと、対象文字列を削除した後の長さの差を利用して求めます。
数式 (LEN(A2)-LEN(SUBSTITUTE(A2,B2,””)))/LEN(B2)
A2セルに文章、B2セルに検索したい文字列がある場合は、C2セルへこの数式を入力します。
SUBSTITUTE関数は、文字列内の指定した語句を別の文字列へ置き換える関数です。
今回の式では置換後の文字列を空欄にしているため、B2で指定した文字列をA2から削除した状態を作っています。
元の文字数から削除後の文字数を引くと、削除された文字列全体の文字数が分かります。
その値を検索文字列自体の文字数で割ることで、特定文字列が出現した回数を計算できます。
【操作のポイント】検索したい文字列をB列に分けて入力すると、数式を書き換えずに検索条件だけ変更できます。
1文字だけをカウントする場合
「円」という文字がセル内に何個あるかのように、検索対象が1文字なら、式はさらに分かりやすくなります。
数式 =LEN(A2)-LEN(SUBSTITUTE(A2,”円”,””))
検索文字が1文字の場合は、最後に文字数で割る必要がありません。
たとえばA2セルが「100円、200円、300円」であれば、「円」を削除した前後の文字数差は3となり、出現回数も3回です。
この方法は記号、ハイフン、スラッシュ、特定の漢字などの数を調べる場面にも応用できます。
検索対象の文字が全角か半角かは区別されるため、「-」と「-」は別の文字として扱う点に注意が必要です。
【操作のポイント】全角と半角が混在するデータでは、検索前に表記ルールを統一すると正確な集計につながります。
大文字小文字と重複しない文字列の注意点
SUBSTITUTE関数は、大文字と小文字を区別しないため、「Excel」を検索すると「EXCEL」や「excel」も対象として扱われます。
一方で、検索文字列が重なっているケースには注意が必要です。
たとえば「aaaa」の中に「aa」がいくつあるかを数えると、一般的な数式では重なり合わない「aa」を2回として計算します。
文章中の語句の回数や、商品コードに使われる区切り記号の個数を確認する用途では、この挙動で問題ない場合が多いでしょう。
ただし、重複を含めた厳密な文字列検索が必要な場合は、VBAや別の処理方法を検討する必要があります。
文字列の出現回数を求める数式は、通常は重なり合わない出現を数えると覚えておくと、結果の判断を誤りにくくなります。
【操作のポイント】検索語が空白のセルではエラーになることがあるため、検索文字列を必ず入力してから計算します。
複数セルで文字列を含む件数を数えるCOUNTIF関数
続いては、複数のセルの中から指定した文字列を含むセル数を集計するCOUNTIF関数を確認していきます。
| A | B | C |
|---|---|---|
| 商品名 | カテゴリ | 検索語 |
| 青色ボールペン | 文具 | ペン |
| 黒色ボールペン | 文具 | |
| リングノート | 紙製品 |
ワイルドカードを使った部分一致の数式
範囲内で「ペン」を含むセルが何件あるか数えるには、COUNTIF関数とアスタリスクのワイルドカードを使います。
数式 =COUNTIF(A2:A10,”*ペン*”)
アスタリスクは任意の文字列を表す記号です。
検索語の前後にアスタリスクを付けることで、「ペン」と完全に一致するセルだけでなく、「青色ボールペン」や「ペンケース」のように指定語を含むセルを数えられます。
検索語をC2セルに入力している場合は、=COUNTIF(A2:A10,”*”&C2&”*”)と入力すると便利です。
この式では、C2セルの内容を変更するだけで、別の文字列を含む件数へ切り替えられます。
【操作のポイント】部分一致検索では、検索文字の前後をダブルクォーテーション内のアスタリスクで囲みます。
COUNTIF関数の操作画面イメージ
数式を入力するセルを選択し、数式バーまたはセルにCOUNTIF関数を入力します。
数式の中でA2:A10は調べる範囲、C2は検索語を入力するセルです。
検索対象の範囲には見出し行を含めず、実データが始まる2行目から指定しましょう。
【操作のポイント】検索語を入力するセルと結果を表示するセルを分けると、表を使う人にも条件が分かりやすくなります。
完全一致と部分一致の使い分け
COUNTIF関数で=COUNTIF(A2:A10,C2)と入力すると、C2セルの内容と完全に一致するセルだけを数えます。
「ペン」という単独の商品名だけを調べたい場合は完全一致、「ペンを含む商品名をすべて調べたい」場合は部分一致が適しています。
完全一致と部分一致では集計結果が大きく変わるため、目的に応じて数式を選ぶ必要があります。
文字列の前方一致だけを調べる場合は、=COUNTIF(A2:A10,C2&”*”)のように検索語の後ろだけにアスタリスクを付けます。
後方一致だけなら、=”*”&C2の考え方を使います。
検索条件を「含む」「で始まる」「で終わる」「完全に一致する」のどれにするかを決めてから数式を入力しましょう。
【操作のポイント】商品名や氏名のように表記ゆれが起こりやすい項目では、部分一致の結果を目視でも確認すると安心です。
文字数カウントで空白と改行を除外する方法
続いては、不要な空白や改行を除いた文字数を計算する方法を確認していきます。
| A | B |
|---|---|
| 元の文章 | 空白除外後の文字数 |
| Excel 文字数 カウント | 数式を入力 |
半角スペースを除外するSUBSTITUTE関数
半角スペースを除いた文字数は、SUBSTITUTE関数でスペースを空欄へ置き換えた後にLEN関数で数えます。
数式 =LEN(SUBSTITUTE(A2,” “,””))
この数式では、A2セルに含まれる半角スペースをすべて削除してから、残った文字数を数えます。
単語の区切りとして入力したスペースを文字数制限から除外したい場合に便利です。
ただし、文章としての正しい文字数を確認したい場合は、スペースを含めて数えるLEN関数の結果も残して比較するとよいでしょう。
【操作のポイント】半角スペースと全角スペースは別文字なので、どちらを除外するかを先に確認します。
全角スペースと改行を除外する数式
全角スペースを除外したい場合は、SUBSTITUTE関数の検索文字に全角スペースを指定します。
数式 =LEN(SUBSTITUTE(A2,” ”,””))
半角スペースと全角スペースを両方除外する場合は、SUBSTITUTE関数を入れ子にします。
数式 =LEN(SUBSTITUTE(SUBSTITUTE(A2,” “,””),” ”,””))
セル内改行も除外したいときは、CHAR(10)を使います。
数式 =LEN(SUBSTITUTE(A2,CHAR(10),””))
CHAR(10)はExcelでセル内改行を表す値です。
セル内でAltキーを押しながらEnterキーを押して改行した文章は、見た目が複数行でも1つのセルとして扱われます。
【操作のポイント】複数種類の文字を除外する式は長くなるため、数式バーで括弧の対応を確認しながら入力します。
TRIM関数とCLEAN関数によるデータ整形
コピーしたデータに余分な空白や印刷できない文字が混ざっている場合は、TRIM関数やCLEAN関数で整形してから文字数を数える方法があります。
TRIM関数は、文字列の先頭と末尾にある余分な半角スペースを削除し、単語間に連続する半角スペースを1つに整えます。
CLEAN関数は、改行などの一部の制御文字を削除するために使えます。
文字数が予想より多いときは、見えない空白や制御文字を疑うことが有効です。
なお、TRIM関数は全角スペースを自動削除しないため、全角空白があるデータではSUBSTITUTE関数との併用が必要になります。
【操作のポイント】元データを残したい場合は、整形用の列を別に作成してから文字数を計算します。
文字列カウントのエラーと集計時の注意点
続いては、文字数や文字列の集計で起こりやすいエラーと確認事項を見ていきます。
| 確認項目 | 確認内容 |
|---|---|
| 検索文字 | 空欄ではないか |
| 対象範囲 | 見出し行を含めていないか |
| 表記 | 全角半角や記号が統一されているか |
検索文字列が空欄の場合のエラー対策
LEN関数とSUBSTITUTE関数を組み合わせた出現回数の式では、検索文字列のセルが空欄だと、最後のLEN(B2)が0になり、割り算エラーになることがあります。
この場合はIF関数を使い、検索文字が空欄なら結果も空欄にする式に変えると見やすくなります。
数式 =IF(B2=””,””,(LEN(A2)-LEN(SUBSTITUTE(A2,B2,””)))/LEN(B2))
この式なら、B2セルに検索文字列を入力したときだけ出現回数が表示されます。
検索条件が未入力のときのエラーを防ぐことで、共有用のExcelファイルも扱いやすくなります。
【操作のポイント】検索語を入力するセルには、入力規則のリストを設定して表記ゆれを防ぐ方法もあります。
数式の参照範囲を固定する方法
COUNTIF関数や文字数の合計を下方向や横方向へコピーする際、参照範囲がずれてしまうことがあります。
常に同じ範囲を調べたい場合は、$記号を付けた絶対参照を使います。
数式 =COUNTIF($A$2:$A$100,”*”&C2&”*”)
A2からA100までの範囲を固定したため、この数式を別のセルへコピーしても検索範囲は変わりません。
一方で、C2の行番号は固定していないため、下へコピーするとC3、C4へと検索語の参照が移動します。
集計表を作成するときは、固定したい範囲だけを絶対参照にすると数式を再利用しやすくなります。
【操作のポイント】数式編集中にF4キーを押すと、参照形式を切り替えられます。
数値・日付・数式結果を文字数で数える場合
LEN関数は、数値、日付、別の数式の結果に対しても使用できます。
ただし、セルの表示形式と実際の値が異なる場合は、見た目の桁数とLEN関数の結果が一致しないことがあります。
たとえば日付が2026年9月19日と表示されていても、セルの内部値は連番で管理されているため、状況によっては期待と異なる結果になります。
表示されている文字数を数えたいときは、TEXT関数で表示形式を指定して文字列化してからLEN関数を使います。
数式 =LEN(TEXT(A2,”yyyy年m月d日”))
数値そのものではなく表示文字列を数えたい場面では、TEXT関数を組み合わせることが重要です。
【操作のポイント】日付や金額の文字数は、実際に必要なのが内部値か表示値かを確認してから数式を決めましょう。
文字数・文字列を数えるExcel関数のまとめ
Excelでセル内の文字数を数える基本は、=LEN(A2)というLEN関数です。
スペースや記号も文字として数えられるため、文章量の確認では何を文字数に含めるかを明確にすることが欠かせません。
セル内で特定の文字列が何回使われているかを調べるには、LEN関数とSUBSTITUTE関数を組み合わせます。
複数のセルから指定語を含む件数を集計する場合は、COUNTIF関数にワイルドカードを組み合わせると便利です。
空白や改行を除外したいときはSUBSTITUTE関数、余分な半角スペースを整えたいときはTRIM関数、表示形式どおりの文字数を数えたいときはTEXT関数を活用しましょう。
検索文字列が空欄のときはIF関数でエラーを防ぎ、数式をコピーする場合は絶対参照を適切に使い分けると、実務で使いやすい集計表になります。
目的に応じて関数を使い分ければ、文章の文字数確認から商品名・キーワードの集計まで、Excelで効率よく管理できるようになります。