スプレッドシートで「このセルの文字数は何文字だろう?」と思ったことはありませんか?
入力フォームの文字数制限をチェックしたい。データの中に異常に長い値が紛れていないか確認したい。でも1セルずつ手で数えるなんて、とても現実的じゃないですよね。
そんなときに使うのがLEN関数です。セルの文字数を一瞬でカウントしてくれます。
この記事では、スプレッドシートのLEN関数の基本から実務の活用例まで紹介します。IF関数との組み合わせやLENB関数との違いもわかりますよ。
LEN関数とは?スプレッドシートで文字数をカウントする関数
LEN関数(読み方:レン関数)は、テキストの文字数を返す関数です。
名前は英語の「length(長さ)」の略で、文字列の長さ(=文字数)を測るイメージですね。ExcelとGoogleスプレッドシートの両方で同じように使えます。
LEN関数の構文と引数
=LEN(テキスト)
カッコの中に「文字数を数えたいセルや文字列」を入れるだけです。
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| テキスト | 必須 | 文字数をカウントしたい文字列やセル参照 |
引数はひとつだけ。とてもシンプルな関数です。
LEN関数の基本的な使い方
実際にLEN関数を使ってみましょう。A列にいろいろなデータを入力したサンプルで確認します。
| セル | A列の値 | 数式 | 結果 |
|---|---|---|---|
| A1 | こんにちは | =LEN(A1) | 5 |
| A2 | Hello | =LEN(A2) | 5 |
| A3 | ABC123 | =LEN(A3) | 6 |
| A4 | (空白セル) | =LEN(A4) | 0 |
| A5 | あ い う | =LEN(A5) | 7 |
いくつかポイントがあります。
- 全角文字も半角文字も1文字としてカウントします。「こんにちは」は5文字、「Hello」も5文字です
- スペースも1文字としてカウントします。A5の「 あ い う 」は、全角スペース2つ+半角スペース2つ+文字3つで合計7文字です
- 空白セルは0を返します
- 数値を入力したセルも、文字として数えます。「123」なら3です
TIP
LEN関数はスペースもカウントするので、TRIM関数と組み合わせると「余分なスペースが入っていないか」を確認できます。詳しくは後半の活用例で紹介しますね。
実務で使えるLEN関数の活用例3選
LEN関数は単体でも便利ですが、他の関数と組み合わせることで真価を発揮します。実務でよく使う3つのパターンを紹介します。
活用例1:IF関数と組み合わせて文字数制限をチェック
入力フォームやSNS投稿の文字数制限を超えていないか、自動でチェックする方法です。
たとえば、B列に「商品説明」が入っていて、50文字以内に収めたい場合を考えます。
=IF(LEN(B2)>50, "超過", "OK")
この数式は、B2の文字数が50文字を超えたら「超過」、それ以内なら「OK」と表示します。
もう少し詳しく、何文字オーバーかを表示するならこう書きます。
=IF(LEN(B2)>50, LEN(B2)-50&"文字オーバー", "OK")
この数式を使えば、申込フォームやアンケートの自由記述欄で文字数を管理できますよ。
NOTE
X(旧Twitter)のポスト下書きにも使えます。ただし全角・半角どちらも1文字カウントなので、実際のX上の文字数とは差が出ることがあります。正確なカウントにはXの公式ツールをご利用ください。
活用例2:データの異常値を検出する
大量のデータを扱うとき、「文字数が極端に多い・少ないセル」を見つけたい場面があります。LEN関数と条件付き書式を組み合わせると、一目で異常値を発見できます。
まずはLEN関数で各セルの文字数を計算します。
=LEN(C2)
これをC列全体に適用したら、次のような基準で異常値を判定できます。
=IF(OR(LEN(C2)<3, LEN(C2)>100), "要確認", "")
文字数が3文字未満か100文字超の場合に「要確認」と表示します。基準値はデータの内容に応じて変えてください。
商品コードが「必ず8桁」のルールなら、こう書くこともできます。
=IF(LEN(D2)<>8, "桁数エラー", "OK")
手作業で数千件のデータを目視チェックするのは大変です。LEN関数で自動化すれば、入力ミスの発見がぐっと楽になりますよ。
活用例3:TRIM関数と組み合わせてスペースの有無を確認する
外部システムからコピペしたデータには、見えないスペースが紛れていることがあります。LEN関数とTRIM関数を組み合わせると、スペースの有無を数値で確認できます。
=LEN(A2)-LEN(TRIM(A2))
この数式は「元の文字数」から「スペースを除いた文字数」を引いています。結果が0なら余分なスペースはなし。1以上ならスペースが紛れています。
| A列の値 | LEN(A2) | LEN(TRIM(A2)) | 差分 | 判定 |
|---|---|---|---|---|
| 東京都 | 3 | 3 | 0 | スペースなし |
| 東京都 | 4 | 3 | 1 | スペースあり |
| 東京 都 | 5 | 4 | 1 | スペースあり |
VLOOKUPやCOUNTIFが「なぜか一致しない」ときの原因調査に役立ちます。詳しいスペーストラブルの対処法はTRIM関数の使い方の記事も参考にしてください。
LEN関数の注意点|全角文字も1文字としてカウント
LEN関数を使うときに、ひとつ押さえておきたいポイントがあります。
全角文字も半角文字も、LEN関数では同じ「1文字」としてカウントされます。
| 文字 | LEN関数の結果 | バイト数(参考) |
|---|---|---|
| A(半角) | 1 | 1 |
| A(全角) | 1 | 2 |
| あ | 1 | 2 |
| 1(半角) | 1 | 1 |
| 1(全角) | 1 | 2 |
日常的な文字数カウントではこの仕様で問題ありません。「この文章は何文字か?」を知りたいなら、LEN関数で正確に把握できます。
ただし、CSVファイルのフィールド長やデータベースのカラムサイズなどバイト数が重要な場面では、LEN関数だと正確に判定できません。そんなときはLENB関数を使います。
LEN関数とLENB関数の違い|文字数とバイト数の使い分け
LEN関数と似た関数にLENB関数があります。違いはカウントの単位です。
| 項目 | LEN関数 | LENB関数 |
|---|---|---|
| カウント単位 | 文字数 | バイト数 |
| 半角英数字 | 1 | 1 |
| 全角文字 | 1 | 2 |
| 全角スペース | 1 | 2 |
| 読み方 | レン | レンビー |
| 語源 | length(長さ) | length in bytes(バイト単位の長さ) |
具体的な違いを見てみましょう。
=LEN("ABCあいう") → 6(文字数)
=LENB("ABCあいう") → 9(バイト数:半角3 + 全角3×2)
LENB関数が必要になるのは、次のような場面です。
- CSVエクスポート時のフィールド幅制限
- データベースへのインポート前のバイト数チェック
- 固定長ファイルの書式確認
通常の業務ではLEN関数だけで十分です。「バイト数が問題になる場面」に遭遇したら、LENB関数の存在を思い出してくださいね。
TIP
全角文字だけの文字数を知りたい場合、
=LENB(A1)-LEN(A1)で計算できます。LENB(バイト数)からLEN(文字数)を引くと、全角文字の数が求まります。
まとめ
この記事では、スプレッドシートのLEN関数について解説しました。
| 項目 | 内容 |
|---|---|
| 機能 | テキストの文字数を返す |
| 構文 | =LEN(テキスト) |
| 全角・半角の扱い | どちらも1文字 |
| スペース | カウント対象 |
| バイト数を調べたいとき | LENB関数を使う |
LEN関数は、他の関数と組み合わせることで活用の幅が広がります。
- IF関数と組み合わせて、文字数制限を超えたセルに警告を出す
- TRIM関数と組み合わせて、余分なスペースの有無を確認する
- 条件式と組み合わせて、データの異常値(桁数エラー等)を検出する
文字数チェックを手作業で行っている方は、ぜひLEN関数を試してみてください。文字列操作の基本として、LEFT関数・MID関数・FIND関数もあわせて覚えておくと便利ですよ。
