エクセルを用いて文字列をカウントしたい場合、そのカウント方法にはあらゆる解釈があります。それは、
- 文字列の文字数をカウントしたい場合のカウント方法
- 指定した範囲内の文字列がいくつあるかカウントする方法
- 重複している文字列を1つとして求めた結果、その種類の数をカウントする方法
です。要するに、文字そのものをカウントするのか、それとも半角を1として、全角を2としてそれぞれカウントするのか、指定した範囲の文字列をカウントしたいのか、重複している文字列を1つとした際に、その種類はいくつあるかをカウントするかです。
この記事では、そんなエクセルのあらゆるカウント方法を順に解説します。カウント方法をそれぞれ解説すると同時に、後半ではカウントに対するエラーの対処法を解説しています。
一緒にやっていくことでスムーズに理解できるので、ぜひこの機会にマスターしてくださいね。
目次
エクセルの文字列をカウントする方法
エクセルの文字列の文字数をカウントする方法は、【LEN関数】を使用します。LEN関数とは文字数を算出してくれる関数のことを指します。
関数は「=LEN(文字数をカウントしたいセル数値)」になります。
では実践していきましょう。
まずはこのような商品名が書かれたエクセルがあったとします。
商品名のセル列の横に、文字数をカウントさせるための表を作成します。
A3【あげ】の横のセル内に【=LEN(A3)】と記入しましょう。
【Enter】を押すことで、A3のセル内には文字が二つあることを意味する【2】が関数によって表示されました。
1箇所ずつ関数を打っていくのはとても手間のかかることなので、オートフィル機能を用いて一括表示をしましょう。
B3セルの右下角にポイントを合わせると太字の【+】が表示されます。
そしてそのまま【+】を文字数を知りたい表までドラッグ&ドロップします。
マウスから指を離すことで関数が指定したB列のセルすべてに入力され、指定した範囲のB列セルに、それぞれA列セルの文字数をカウントしてくれました。
これで文字列の文字数カウントは完了です。非常に簡単なため、すぐに覚えることができるでしょう。
文字列の半角を1として、全角を2としてカウントする方法
先ほどは文字列にある文字をそのまま一文字とカウントしていましたが、半角や全角などがバラバラで入力されていることもあります。
例えば、住所です。
住所の場合は、全角の漢字と半角数字の丁目や半角英語のマンション名などが混合しています。このように、全角半角混合となった文字列に対して、
- 半角=1
- 全角=2
とカウントする方法を解説します。
住所が記載されたエクセルを用意しました。
この表の右側に【バイト数】と書かれた列がありますが、これが半角と全角をそれぞれ計算して求めた答えを表示するセルです。
- 半角=1
- 全角=2
を求めるためには、先ほどとは異なり【LENB関数】を使用します。
表記方法は「=LENB(半角1、全角2で求めたいセルの数値)」と記入します。
この場合はA3セルの半角全角それぞれの文字数を知りたいので「=LENB(A3)」と入力し
【Enter】を押します。
そうすると、【バイト数】のC3のセル内に、A3の半角/全角それぞれを計算した数値が表示されました。
先ほどと同様に、オートフィル機能を用いて一括表示をしましょう。
このC3セルの右下角にマウスを合わせ太字の【+】を表示させたら、そのまま文字数を知りたい場所へとドラッグ&ドロップしましょう。
そうすると、選択したセルすべてにLENB関数が自動的に入力され、A列に対しての文字数がカウント表示されました。
どちらも非常に似ている関数であり、一文字の有無で意味合いが大きく異なりますから、ここでしっかりと覚えておくようにしましょう。
【LEN関数】 | 半角/全角問わず文字数をカウントしたいとき |
【LENB関数】 | 半角を1、全角2として文字数をカウントしたいとき |
あらかじめエクセルで指定した文字列の個数をカウントする方法
知りたいセルの文字列を範囲を指定していくつあるのかをカウントする方法もあります。
この場合は【COUNTIF関数】を使用することで簡単に調べることができます。
例えば、この下の画像の表で言うと、
あげと付く文字列が複数あるものの【あげ】という名称の商品は1つであることがわかります。これをCOUNTIF関数を用いて調べて見ましょう。
指定文字列には【あげ】を
【指定文字列の個数】には「=COUNTIF(A3:A18,D3)」と入力します。
この関数は「A3のセルからA18のセルの中にD3のセル(「あげ」という文字)はいくつあるか」を意味しています。
関数を入力し終えたら【Enter】を押しましょう。
目視でも確認できたとおり、関数を用いても【あげ】の文字列は【A列】のなかに【1つ】あるこことが表示されました。
文字以外のCOUNTIF関数の利用方法
COUNTIF関数では、文字数のカウント以外にもさまざまな使い方があります。
例えば、比較演算子を用いることでさまざまな条件を指定することができます。
COUNTIF関数の条件指定で使えるその他の比較演算子は下記の通りです。
- 『>』…より大きい
- 『<』…より小さい
- 『>=』…以上
- 『<=』…以下
数値を直接指定する場合は、指定条件を「”」ダブルクォーテーションで括らないとエラーになりますので、注意しましょう。
例えば、年齢が記載されている出席者リストの中で、20歳以上の人数が知りたい場合、
=COUNTIF(B3:B7,”>=20″)
入力する数式は上記のようになります。このように、比較演算子を用いることでより柔軟な検索ができるようになります。
複数の条件はCOUNTIFS関数利用
COUNTIF関数では特定の条件を指定していましたが、「野球が好きな男性は何人か」のように、複数の条件指定がある場合は「COUNTIFS関数」を利用しましょう。
書式はこのようになります。
=COUNTIFS(検索条件範囲1,”検索条件1”,検索条件範囲2,”検索条件2”)
数式は「=COUNTIFS(検索条件範囲1,検索条件1~」がワンセットです。
検索方法は下記の通りです。
①まず、セルに=COUNTIFS( と入れ
②次にカウントしたい範囲を選択し、範囲の後ろにコンマを入れ、2つ目の引数である検索条件を入れる
③同じように2つ目のカウントしたい範囲を指定し、検索条件を入れる
画像を用いて説明していきます。
例えば、下記の画像の中から野球が好きな男性の数を知りたい場合、
数式の前半に、好きなスポーツが記載されている「セルB3~B11の範囲で「野球」に一致するもの」を、後半は、男女の記載がある「セルC3~C11で「男」に一致するもの」を条件として指定します。
数式は「=COUNTIFS(B3:B11,”野球”,C3:C11,”男”)」です。
入力し終え、【Enter】を押すと、条件に当てはまるのは「2」とカウントされました。
条件は2つ以上でも指定することが可能です。
下記の画像をご覧下さい。条件を3つ指定していますね。
画像の例は以下の条件すべてに当てはまるセルの数をカウントした結果、セルの数は「1つ」であると返されています。
- 性別は「女」
- 年齢は「15歳以上」
- 来店「済」
例のように、2つ以上の複数の条件に当てはまるセルの数を数えるときには「検索条件範囲2,検索条件2」と続けて入力をしていきます。
ワイルドカードとは
エクセルの関数について調べていると、「ワイルドカード」という単語を目にすることはありませんか?
ワイルドカードとは、「?(クエスチョン)」や「*(アスタリスク)」などの特定の記号を用いて条件を絞り込む方法です。
ワイルドカードを利用すると、以下のような検索の仕方ができます。
- 「郎」を含む文字列があるセル
- 「郎」からはじまる文字列を含むセル
- 「郎」で終わる文字列を含むセル
- 「郎」の後ろに1文字を含んだ文字列があるセル
- 「郎」の前に1文字を含んだ文字列があるセル
など
これらは、ワイルドカードに必要な記号を「郎」の前後に入力するのか、挟むのか、といった位置によって検索できる条件が変わります。
ワイルドカードで利用する記号の意味
ワイルドカードで利用する記号は3種類あり、それぞれ用途が異なります。
「*(アスタリスク)」…文字数を指定しない時に使う
「?(クエスチョン)」…文字数を指定したい時に使う
「~(チルダ)」…アスタリスクやクエスチョンの記号自体を検索
また、これらの記号を関数の中で使うときは「”(ダブルクォーテーション)」で必ず挟んでくださいね。
下記にて使い方を詳しく説明していきます。
「*」(アスタリスク)
先程の「名前」「性別」「年齢」「来店」が記載された表を用いて説明します。完全に一致する文字ではなく「郎」がつく名前をカウントしたい場合は「郎*」とすれば、「郎」以降の文字数が不確定でも数えることができます。このカウント方法は、アスタリスクをつける場所で検索条件が異なるので注意が必要です。例えば、「郎*」とアスタリスクを後ろにつけることで「郎」で始まる文字列、「*郎」とアスタリスクを前につけることで「郎」で終わる文字列をカウントすることが出来ます。
前後どちらかに郎がつく名前を探す場合は「”*郎*”」と入力しましょう。
「?」(クエスチョン)
「郎で始まる2文字の名前」など、カウントしたい特定の文字の数が決まっている場合は「?」(クエスチョン)を使用します。書式はアスタリスクのときとほとんど同じです。
アスタリスクを使用した時とは異なり、同じ郎がつく名前であっても、3文字や4文字など指定文字数以外のときはカウントから除外されます。
「”?郎”」と入力すると、郎で終わる2文字が表示されます。
英数字の重複や住所の重複なども見つけ出すことが容易になりますから、COUNTIF関数を用いてのカウント方法も合わせて覚えておくと便利です。
エクセルで文字がカウントされないときの対処法
エクセルを使い始めた方であれば、関数を用いてのカウントを行ってもうまく表示されないことがあります。
ここではエクセルを使用している際の文字数がカウントされないときの対処法を解説します。多くの方が陥りやすいエラーをまとめて紹介していますから、やり方だけではなく、どのようなエラーが起きやすいか、エラーに対しての対処法も合わせて覚えておきましょう。
①文字数がカウントされない
文字数がうまくカウントされない場合のエラーは、主に以下のような原因が考えられます。
- カウント対象を選んでいない
- 【=】を入れていない
- 【()】で閉じていない
- 関数の入力間違い
カウント対象をポイントや方向キーで選んでいない場合、対象となるセルを選んでいないことからエラーが発生してしまいます。
くわえて、=や()を使用していない場合も関数がうまく入力されていないためにエラーとなってしまいます。
また、LEN関数のLENもRやMなどと間違ってしまえばエラーになります。
エラーになったときは、まずは上記4つの点を注意して確認するようにしましょう。
②関数を用いても文字列がカウントされない
関数を入力しても文字列がカウントされない場合は、指定した文字列が関数に反映していない可能性があります。
例えば、
こちらのエクセルのように、文字列を指定して指定文字列の個数がいくつあるのかを調べたいとき。
【指定文字列の個数】を表示したいのセルのなかには「=COUNTIF(A3:A18,D3)」と記入されているのがわかります。
これはA列の3~18の文字列の中から、D3セルで指定した文字列を探しますよ
という意味があります。
ただ、やってしまいがちなのが、A列のみをマウスで範囲指定しまい、そのまま指定文字列の個数の関数を入力してしまうこと。
そうしてしまうと、
このようなエラーが発生してしまい、うまく文字列の関数を調べることができません。
指定文字列を指定してカウントしたい場合は、
探したい文字列のセルもしっかり関数内に埋め込まれているかを確認しましょう。
まとめ
エクセルのカウントにはそれぞれ状況や使い方によってカウントの解釈が異なることがわかっていただけたかと思います。
また、カウントの内容によっては、関数もそれぞれ異なることが理解できたかと思います。
どのようなカウントを行いたいかによって、入力する関数が違い、また関数がとても似ているために求めていたカウントを行わないといったエラーも多々見られます。
エクセルに慣れ、これからどんどん活用していきたいと考えている方は、ぜひこの記事を参考に、やり方とエラーの対処法を覚え、使いこなしてくださいね。