便利な機能がたくさんあるエクセルですが、文字数のカウントがすぐにできればいいのにと思ったことはありませんか。
ライターの仕事でエクセル上で文面を管理している場合や、エクセルでアンケートを作成して提出を求める際、文字数制限をした項目で一定の文字を超えた時にわかりやすくアナウンスする場合など、エクセルで文字数カウントをおこなう場面は多くあります。
今回は、エクセルで文字数をカウントする方法をパターン別に解説していきます。エクセルの文字数カウントの関数を覚えて、効率よく文章をつくっていきましょう。
目次
エクセルで文字数をカウントする方法【1つのセルのみ】
まずはある特定のセルに入っている文字数をカウントする方法です。
エクセルで文字数のカウントをする場合、基本的にはLEN関数、もしくはLENB関数を使用します。
「LEN」とは英語で長さを意味する「LENGTH」からきています。つまり文字列の長さを測るということです。
LEN関数は文字列の文字数の長さを測り、LENB関数は文字列のバイト数の長さを測ります。
ちなみにバイト数とは半角英数字1文字のデータ量の単位です。半角文字が1バイト、全角文字が2バイトとなります。
LEN関数を利用する
では早速、LEN関数の使い方をみていきましょう。
LEN関数の入力方法は次の通りです。
=LEN(文字列)
文字列の部分で文字数をカウントしたいセルの番号を入れます。
このように入れれば
特定のセル内の文字数がカウントされます。
LEN関数は、半角文字、全角文字の区別はなく、すべて1文字としてカウントします。そして空白や句読点、数字なども1文字分になります。
なお、金額などが入力されたセルで、表示形式を桁区切りスタイルにしていた場合などは、それは無視され、もとの数値の文字数がカウントされます。例えば「2000」円の金額が入力されたセルが桁区切りスタイルになっており「2,000」と表示されたとしましょう。
通常であれば「,」も一文字のカウントになり、合計文字数は「5」になりますが、表示形式が設定されているため「,」は無視されます。そのためこの場合の文字数は「4」となります。
1つのセルの文字数がLEN関数でカウントでき、下のセルも同様に文字数カウントをしたいということであれば、オートフィル機能を使いましょう。
LEN関数で文字数をカウントしたセルの右下にカーソルを合わせると【+】のマークが出てくるので、それを出して文字数をカウントしたい最後のセルまでドラッグします。
LENB関数を利用する
LENB関数は文字列の文字数ではなく、文字列のバイト数をカウントする関数です。
「バイト数を出すと何に使えるの?」と思うかもしれませんが、バイト数が半角文字を1、全角文字を2としてカウントする性質を利用して、半角文字と全角文字がそれぞれ何文字ずつその文字列に含まれているのかを調べることができます。
LENB関数の入力方法は次の通りです。
=LENB(文字列)
実際に使ってみるとこのようになります。
LEN関数のときと同様に、オートフィル機能を使って下のセルにもLENB関数を入れて、それぞれのバイト数を算出させます。
画像の例で挙げている文字列はすべて全角のため、LEN関数でカウントした文字数の2倍の数がバイト数になっています。
【LEN関数】半角文字、全角文字の区別はなく、すべて1文字としてカウントする関数
【LENB関数】文字列の文字数ではなく、文字列のバイト数をカウントする関数
LEN関数とLENB関数を応用して、全角・半角の文字数をカウントする
では、最後にLEN関数とLENB関数を使って、全角の文字が何文字あるのか、半角の文字が何文字あるのかを数えてみましょう。
前述しているとおり、まずLEN関数は半角・全角関係なく文字列の文字数をカウントします。そしてLENB関数は半角は1、全角は2で文字列の文字数をカウントします。
そのため、LENB関数で出た文字数から、LEN関数を引けば、全角文字の数がわかります。
実際に全角文字を数えてみましょう。
まずはそれぞれの文字数とバイト数を出します。
そして、(バイト数)ー(文字数)で数式を入力しましょう。
そうすると、全角文字数は「9」と出てきます。
文字数やバイト数を表に出すことなく、直接全角文字をカウントしたい場合の関数は次のとおりであるともいえます。
=LENB(文字列)-LEN(文字列)
では、半角文字をカウントするにはどうしたらいいのでしょうか。
LEN関数は単純な文字数のカウント、LENB関数は半角1、全角2ですから、まずLEN関数で出た文字数を2倍にして、LENB関数で出た数を引けば半角文字数分の数が出てきます。
ですから表を使って式を出すと
LEN関数で出た数値を2倍にして、LENB関数で出たバイト数を引きます。
それぞれの関数を使って、半角文字数をカウントする式は次の通りであるともいえます。
=LEN(文字列)*2-LENB(文字列)
エクセルで文字数をカウントする方法【複数のセル】
ある特定のセル内の文字だけでなく、いくつかのセルを合わせて何文字なのかを知りたい場合もあると思います。その場合は2つの関数を組み合わせて、カウントしていきましょう。
LEN関数とSUM関数を組み合わせる
1つのセルそれぞれの文字数をLEN関数で出して、自分で合計する方法もありますが、手間がかかるうえにミスをする可能性もあります。エクセル上で数値を合計する際は、ぜひSUM関数を使いましょう。
SUM関数の入力方法は次のとおりです。
=SUM(数値,数値,…)
カッコの中に入れた数値をすべて合計してくれます。
そのため、LEN関数で出す文字列のカウント数を足せばいいので、複数のセルの文字数をカウントする式の入力方法は次のとおりです。
=SUM(LEN(文字列),LEN(文字列),…)
注意点はすべてLEN(文字列)で入力していく点と、それぞれの間に【,】を忘れずに入れることです。
エクセルで文字数をカウントする方法【特定の文字列のみ】
文字列の中から、ある特定の文字列のみをカウントしたい場合もあるでしょう。
これがわかると、例えばカウントには必要ない文字数を数えて、その数をLEN関数で割り出した総文字数から引くことで、必要な文字数がわかります。
COUNTIF関数を利用する
特定の文字列のみをカウントする場合は、COUNTIF関数を使います。
COUNTIF関数は条件に一致するデータを数える関数です。そのため、条件部分に数えたい文字列を入力していきましょう。
COUNTIF関数の入力方法は次のとおりです。
=COUNTIF(範囲,検索条件)
範囲の部分に、カウントしたいセルを入れます。1つのセルでも複数のセルでも可能です。
検索条件には、カウントしたい文字列を入れます。なお、文字列を検索条件にする場合「”」で囲む必要があるので、忘れないようにしましょう。
では、今回は住所入力欄に入った「-」を数えていきます。
住所が書かれた「C24」を範囲として、「-」を数えるための関数です。
ハイフンが「*」で挟まれているのがわかります。これは任意の文字列を意味するワイルドカード文字の1つで、「ハイフンの前後に文字列が何文字入っていても良い」という意味になります。「*」を入れないと、ハイフンがカウントされず、0の値が返ってきます。
ちなみに指定できる検索条件は1つだけです。
つまり例えば住所入力欄から「市」「区」「町」「村」の文字を数えたいと思っても、4つの条件を入れてカウントすることはできません。
エクセルで文字数をカウントする方法【改行】
エクセルで改行を含めた長い文章を入れた場合、改行が何個あるか知りたいこともあるでしょう。その際、関数を使って改行の数をカウントすることもできます。
LEN関数とSUBSTITUTE関数を利用する
改行の数をカウントする場合は、LEN関数とSUBSTITUTE関数を使います。
SUBSTITUTE関数は、検索した文字列を、指定した違う文字列に置き換えられる関数です。エクセルの「検索と置換」の機能と同じことですが、関数にすることでスマートな処理が可能になります。
つまりある文字列を空白に置き換えると指示すれば、その文字を削除した文字列が返されるということです。
仕組みとしては、まずSUBSTISUTE関数を使って改行を空白にした文字列を割り出し、その文字列をLEN関数を使ってカウントします。
LEN関数で出た改行も含めた総文字数から、SUBSTITUTE関数で改行を無くした場合の文字数を引けば、改行の数がカウントできるというわけです。
改行をカウントするための式の入力方法は次のとおりです。
=LEN(文字列)-LEN(SUBSTITUTE(文字列,CHAR(10),””))
つまり、改行の数=「全体の文字数(改行も含めた)」ー「改行なしの文字数」という式です。
CHAR(10)はエクセルの改行を表すコードです。「””」は空白を表します。SUBSTITUTE関数の中身の意味は「次の文字列の改行を空白に置き換える」ということです。
実際にセルに入力してみると次のようになります。
この結果、C38にある改行の数は「4」であることがわかりました。
エクセルで文字数をカウントする方法【日付や記号】
エクセルで日付や時刻、パーセント(%)などの表示形式が適用されている文字数をカウントするには、「COUNTIF関数」と「COUNTIFS関数」を使います。表示形式というのは、簡単に言うと「データの見た目」を整えるエクセルの機能のこと。
エクセルに「2021/02/17」と入力すれば「2021年2月17日」と自動的に表示されます。これを「表示形式」と言います。
日付や時刻は表示形式が適用されるため、セルの文字列は正しくカウントされません。
「2021/2/1」を7文字、「8%」を2文字と文字数カウントしたい場合には、LEN関数とTEXT関数を組み合わせます。
・日付(2021/2/1):=LEN(TEXT(A1,”yyyy/m/d”))
・パーセント(8%):=LEN(TEXT(A1,”0%”))
上記のように入力することで、表示形式が適用される日付や記号などの文字数のカウントが可能です。
【エクセル・文字数カウントの応用】文字が超過していることを強調させる方法
エクセル上で文字数をカウントする方法をいくつか紹介してきましたが、文字数カウントを応用して、ある一定の文字数以上になった場合に色が変わったりするなどして、文字数が超過していることを強調することもできます。
これが使えれば、例えば、エクセルファイルを共有して、作成した自分以外の大多数に文字を入力してもらう際に、文字超過がわかりやすくなり、回収した後に文字数を確認する手間が省けます。
また自分自身が使うファイルであっても、前もってそのような設定をしておけば、入力後に関数を使って文字数のカウントをしなくても済みます。
LEN関数と条件付き書式を利用する
「〇字以上になったらセルの背景を黄色くする」などの設定をするには「条件付き書式」を使います。
まず、文字数制限であることを強調したいセルをすべて範囲選択します。そしてエクセル上部にあるホームタブの中の、「条件付き書式」を選択し、メニューを開き、「新しいルール」をクリックします。
「新しいルール」をクリックすると、「新しい書式ルール」というダイアログボックスが表示されます。
ルールの種類は「指定の値を含むセルだけを書式設定」を選び、ルールの内容は「セルの値」が「次の値以上」のときとし、文字数制限の上限の数を入力します。
次に書式を設定します。
下のプレビューの並びにある「書式」をクリックし、「セルの書式設定」というダイアログボックスを表示します。この画面で自分が強調表現として設定したい文字色やセルの背景を指定しましょう。今回は11以上の値のときに薄い青色になるようにします。
文字の色やセルの背景色が選択出来たら、「セルの書式設定」を「OK」で閉じ、「新しい書式ルール」を「OK」で閉じましょう。
すると指定した文字数以上のカウントになったセルに色が付きます。
今回は「次の値以上」の条件で設定しましたが、逆に文字数が不足しているときに、文字数カウントの欄に色がつく設定にするときは「次の値以下」にすればいいですし、自分の好みに合わせてさまざまにアレンジが可能です。
エクセルの入力規則機能を利用する
関数を使わない方法になりますが、エクセルの「入力規則」という機能をつかって、設定した文字数以上は入力できないようにすることもできます。あらかじめ文字数が決まっており、文字数のカウント自体は必要ないときに設定しておくと、入力がしやすくなります。
まず、文字数制限をかけるセルを選択しましょう。そしてエクセル上部のデータタブのなかにある「データの入力規則」というところをクリックします。
「データの入力規則」をクリックすると、「データの入力規則」というダイアログボックスが表示されます。
そして「設定」のタブを開き、「入力値の種類」を「すべての値」から「文字列(長さ指定)」というものに変更しましょう。
「データ」は「次の値以下」を選択し、「最大値」の欄に自分が指定する文字数の最大値を入力します。今回は10文字以下にしたいので、「10」と入力しました。
そして「OK」を押すと、選択したセルに文字数制限がかかります。
設定した文字数以上を入力すると「このセルで定義されているデータ入力規則の制限を満たしていない」というアラートが表示されます。
「入力規則」機能を使った文字数制限の強調は、アラートが出されるだけで「キャンセル」を押してしまえば、文字数を超過していてもセル自体には変化はありません。そのため、ぱっと目に見えて文字数をオーバーしていることがわからない点はデメリットです。
また、エクセルに慣れていない人が、この方法を用いたファイルで記入すると、アラートが表示されたときに躊躇してしまう可能性もあります。「見やすさ」「わかりやすさ」を考えるのであれば、LEN関数を使った文字数カウントの強調がおすすめです。
まとめ
エクセルで文字数カウントをおこなうときの関数や、文字数のカウントを用いた強調表現などを解説してきましたが、いかがでしたか。
基本のLEN関数を押さえることで、文字数のカウントができるだけでなく、文字数が超過していることをアピールする設定もおこなえることがわかりました。見やすい資料、使いやすいフォーマットの作成を目指して、エクセルの文字数カウントのやり方を身につけていきましょう。