概要
「この品番は ‘AB’ で始まっているか?」
「郵便番号の先頭3桁が ‘100’ のデータだけ抽出したい」
「文字列が ‘TEL:’ から始まる行だけ判定したい」
こういう “文字列の先頭が、ある文字列と一致しているかどうか” を判定するときの王道が
LEFT 関数+比較演算子(=) です。
やることはとてもシンプルで、
- LEFT で「先頭◯文字」を取り出す
- それが判定したい文字列と「= で一致しているか」を見る
という2ステップです。
LEFT 関数の基本
LEFT の書式と役割
=LEFT(文字列, 文字数)
文字列
先頭を調べたい元の文字列(セル参照で指定することが多い)。
文字数
「先頭から何文字取るか」。
例:A2 に「AB1234」が入っている場合
=LEFT(A2, 2)
結果:「AB」
先頭3文字なら
=LEFT(A2, 3)
結果:「AB1」
というように、“先頭だけを切り出す”係が LEFT です。
これを「比較」に使うと、先頭一致の判定ができます。
基本パターン:先頭が特定文字列と一致するか判定
先頭2文字が「AB」かどうかを調べる
A2 に品番が入っているとします。例:「AB1234」「AC5678」など。
この品番が 「ABで始まっているか?」 を判定したい場合。
判定用の式はこうなります。
=LEFT(A2, 2) = "AB"
意味は、
- LEFT(A2,2) … 先頭2文字を取り出す
- それが “AB” と等しいか?
です。
A2 が「AB1234」なら TRUE
A2 が「AC5678」なら FALSE
という論理値が返ってきます。
これをそのまま IF と組み合わせれば、
=IF(LEFT(A2, 2)="AB", "AB系", "対象外")
のように、「ABで始まるかどうか」でラベル分けができます。
応用1:郵便番号の“先頭3桁”でエリア判定
A2 に7桁の郵便番号「1000001」「1500002」などが入っているとします。
先頭3桁が「100」なら「千代田区エリア」それ以外は空白、のような判定をしたい場合。
=IF(LEFT(A2, 3)="100", "千代田区エリア", "")
LEFT(A2,3) で「100」「150」などを取り出し、
その結果と “100” を比較するだけです。
A2 が「1000001」 → 「千代田区エリア」
A2 が「1500002」 → 「」(空白)
というように、先頭一致でエリア判定ができます。
応用2:先頭のタグや接頭辞を判定する(TEL, FAX など)
A2 に、連絡先情報がテキストで入っているとします。
例:
「TEL:03-1234-5678」
「FAX:03-9876-5432」
これらから、「TEL の行だけ TRUE」「それ以外 FALSE」と判定したい場合。
=LEFT(A2, 4)="TEL:"
「TEL:」は4文字なので、LEFT(A2,4) と “TEL:” を比較します。
同じように、「FAX かどうか」を調べたいなら
=LEFT(A2, 4)="FAX:"
としてあげれば OK です。
応用3:OR と組み合わせて「複数の先頭パターン」を同時判定
例えば、品番が
- 「AB」で始まるもの
- 「CD」で始まるもの
のどちらかなら「対象」、それ以外は「対象外」としたい場合。
A2 の先頭2文字を調べて、
=IF(OR(LEFT(A2,2)="AB", LEFT(A2,2)="CD"), "対象", "対象外")
と書けば、
- 先頭が AB → TRUE
- 先頭が CD → TRUE
- それ以外 → FALSE
となります。
「◯◯で始まる or ××で始まる」をまとめて扱いたいときに便利なパターンです。
応用4:数値っぽい文字列の先頭桁で判定する
A2 に「1A234」「2B345」「3C456」のようなコードがあるとします。
先頭1文字が「1」なら「タイプ1」、
「2」なら「タイプ2」、
その他は「その他」としたい場合。
=IF(LEFT(A2,1)="1","タイプ1",
IF(LEFT(A2,1)="2","タイプ2","その他"))
LEFT(A2,1) で先頭1文字だけ取り出し、それに応じて分類する「入れ子IF」です。
先頭の1文字や数桁で「種別が決まる」コード体系では、かなりよく使うパターンです。
例題
問題1
A2 に品番が入っています。
先頭2文字が「AB」で始まる場合に TRUE、それ以外は FALSE を返す式を書いてください。
LEFT を使ってください。
=LEFT(A2,2)="AB"
問題2
A2 に7桁の郵便番号(例:「1000001」)が文字列として入っています。
先頭3桁が「100」のときに「千代田区」、それ以外は空白 “” を返す式を書いてください。
=IF(LEFT(A2,3)="100","千代田区","")
問題3
A2 に「TEL:03-1234-5678」や「FAX:03-9876-5432」が入っています。
先頭が「TEL:」のとき「電話」、それ以外のとき「その他」と表示する式を書いてください。
=IF(LEFT(A2,4)="TEL:","電話","その他")
問題4
A2 に品番が入っており、
先頭2文字が「AB」または「CD」の場合に「対象」、それ以外は「対象外」と表示したいです。
LEFT と OR を組み合わせた式を書いてください。
=IF(OR(LEFT(A2,2)="AB",LEFT(A2,2)="CD"),"対象","対象外")
問題5
A2 に「1A234」「2B345」「3C456」のようなコードが入っています。
先頭1文字が「1」なら「タイプ1」、「2」なら「タイプ2」、それ以外は「その他」と表示する式を書いてください。
LEFT と入れ子IFを使ってください。
=IF(LEFT(A2,1)="1","タイプ1",IF(LEFT(A2,1)="2","タイプ2","その他"))
文字列の先頭一致判定の本質は、この形です。
=LEFT(対象セル, 先頭で見たい文字数) = "判定したい文字列"
この“型”さえ押さえておけば、
品番・郵便番号・ID・タグ付きテキストなど、
「先頭の数文字で意味が決まる」あらゆるデータを、自在に振り分けられるようになります。
