この記事では、
- 関数を使って文字数をカウントする方法
- 特定の文字までの文字数をカウントする方法
といった内容について解説しています。
LEN関数・LENB関数で文字数をカウントする
エクセルで文字数をカウントするには、LEN関数が便利です。
LEN関数は、
=LEN(文字列)
という数式の形で、引数で指定した文字列の文字数を返してくれる関数です。
例えば、下記のように5文字の文字列がA1セルに入力されているファイルがあるとします。
この場合、=LEN(A1)とすることで5という結果を得ることができます。
セルの参照の例でしたが、引数に直接文字列を入力しても同じ結果を得ることができます。
複数の値に対してLEN関数で文字数をカウントすると、下記のようになります。
似た関数に、LENB関数があります。実務上はLENB関数を使うことはほぼ無いので、難しく感じる方は読み飛ばして下さい。
使い方はLEN関数と同じで、
=LENB(文字列)
という数式で引数に文字列を指定してあげればよいのですが、文字列の文字数ではなく文字列のバイト数を返すという点がLEN関数と異なります。
バイト数という表現が分かりにくいのですが、全角と半角が区別された結果が返ってくるという理解で十分です。
- 全角=2バイト
- 半角=1バイト
という扱いなので、先ほどの例だと全て全角文字なので2倍の結果になります。
半角文字を使うこと自体少なく、さらにその文字数を数える機会はもっと少ないと思いますが、LENB関数を使って比較すると全角・半角の文字数が区別されていることが分かります。
LENB関数は参考程度に見て頂ければと思います。
【実務での使い方】関数を使った文字数カウントの応用
LEN関数の使い方は分かったけれど、実務でどう使うのか?という疑問が出てくるかと思いますので具体的な例をご紹介します。
文字数制限をする
例えば下記のようなアンケートフォームを作ったとして、回答を指定の文字数以内にさせたいとします。
LEN関数とIF関数を組み合わせることで、下記のように文字数オーバーの警告を出すことができます。
この数式の作り方を解説します。
まず、IF関数で条件分けする必要があるので=IFから数式を作成します。
※IF関数について良く分からない方は、下記のまとめ記事をご覧下さい。
IF関数の条件として「文字数が~だったら」としたいので、「LEN関数で得た文字数が〇〇以上だったら」という形の数式にします。
※今回の場合、15文字以内としたい。
「値が真の場合」の条件として表示させたいメッセージを入力します。今回は、「文字数オーバー(15文字以内)」というメッセージを表示するようにします。
「値が偽の場合」は何も表示しないので、ダブルクオーテーションだけを入力します。
D3セルに15文字以上を入力した場合、E3セルに警告が表示されるようになります。
文字数制限(色付けも行う)
先ほどの例で、入力した文字が制限を超えた場合にセルに色をつけて文字数オーバーをさらに強調する方法をご紹介します。
これは、「条件付き書式」とLEN関数を組み合わせることで実現可能です。
まずは条件を設定したいセルを選択し、「ホーム」タブにある「条件付き書式」→「新しいルール」をクリックします。
「数式を使用して、書式設定するセルを決定」を選択した状態で、下のボックスにLEN関数の数式を入力します。
「書式」をクリックします。
設定したい書式を選択します。※今回は赤の塗りつぶしを設定
下記のように、数式と書式のプレビューが表示されている状態でOKをクリックする。
指定の文字数をオーバーすると、セルに赤色がつくようになりました。
特定の文字までの文字数をカウントする
最後に、特定の文字までの文字数をカウントする方法を紹介します。
FIND関数を使うことで、特定の文字までの文字数が何文字なのかカウントすることができます。
例えば下記のような表があり、ハイフン(ー)までの文字数をカウントしたいとします。
=FINDから数式を始め、検索したい文字列と検索対象の文字列を指定します。
ハイフンまでの文字数を表示することができました。
他のセルに数式をコピーすると、下記の通りそれぞれハイフンまでの文字数をカウントできていることが分かります。
本記事で解説した内容については、下記の動画でまとめていますのでご参考下さい。