【関数】対象データの先頭(左)から指定した数の文字列を抽出できる「LEFT」の使い方
AさんAさん

氏名の「氏」や住所の「都道府県」など、特定データの先頭部分の文字を抽出したいですが、どう作業したら効率的ですかね?

森田森田

その場合は、関数のLEFTを活用すると良いですよ!
では、LEFTの使い方について解説していきますね。

はじめに

この記事は関数の概要を把握していることが前提です。

参考記事

関数の概要については以下の記事をご参照ください。

元データの文字列から先頭部分のみ抽出したい場合は「LEFT」が有効

実務では、既存のデータと使いたいデータで粒度が合っていないケースがあります。

たとえば、都道府県別で集計したいが、既存データは住所(都道府県+市区町村+番地)といったイメージです。

この解決策として、既存データの文字列から必要な部分だけ抽出した列を用意することが必要です(例:住所から「都道府県」のみ抽出)。

こんな場合、関数の「LEFT」を使うことで、対象データの先頭(左)から指定した数の文字列を自動的に抽出することが可能となります。
ちなみに、LEFTは「レフト」と呼びます。

よって、元データの文字列から先頭部分のみ抽出したい場合はLEFTを使用していきましょう。

参考記事

対象データの「末尾(右)」から抽出したい場合はRIGHT、対象データの「任意の位置」から抽出したいはMIDを使用してください(詳細は以下の記事を参照)。


LEFTの構文

LEFTの構文は以下の通りです。

=LEFT(文字列,文字数)
文字列の先頭から指定された数の文字を返します。

引数名 必須 データ型 説明
文字列 文字列 抽出対象のセルを指定します。
文字数 数値 「文字列」の先頭から抽出したい文字数を指定します。

引数「文字数」は省略時「1」を指定したと見なされます。
引数「文字数」は「0」以上の数値を指定する必要があります(負の数はエラー値「#VALUE!」が表示)。
引数「文字数」へ引数「文字列」の文字数を超える数値を指定した場合、引数「文字列」の値がそのまま返ります。
引数「文字数」を小数点まで指定した場合、整数部分で抽出されます。

【参考】LEFTは「文字列操作関数」

あくまで参考情報となりますが、LEFTはリボン「数式」タブの関数ライブラリの「文字列操作」に分類されています。

実際にLEFTを活用する際は、以下で解説しているように直接入力で挿入していきましょう。

LEFTの使用結果イメージ

LEFTで対象データの先頭(左)から指定した数の文字列を抽出したイメージは以下の通りです。
今回は「住所」列のデータから「都道府県」の文字列を抽出しました。

なお、LEFTは原則一つの関数で一つのセルのみが抽出対象です。

ベースの数式をセットしたら、他のセルへペーストしましょう。

LEFTの数式の挿入手順

上記の結果を得るための手順は以下の通りです。

  1. 関数を挿入するセルを選択
    ※今回はD2セル
  2. =le」と入力
  3. サジェストから「LEFT」を選択し、「Tab」キーで確定
  4. 抽出対象のセルを選択
    ※今回はC2セル
  5. コンマ(,)を入力
  6. 任意の文字数を指定
    ※今回は「3」を指定
  7. Enter」キーで確定
  8. 1行目の数式をコピーし、以降のセルへペースト
    ※今回はD3~D11セルへペースト

手順②の際にIMEを半角英数モードにすること。
テーブルの場合、手順⑧は不要(全レコードへ数式が自動的にコピーされる)。

【応用】対象データによって引数「文字数」を可変にしたい場合は

LEFTの引数「文字数」は固定値(定数)を指定することが基本です。

本記事では、住所から都道府県を抽出にあたり「3」を指定していましたが、都道府県の中には4文字のもの(神奈川県や和歌山県など)も存在します。

このように、データによっては固定値のままだと抽出がうまくいかないケースがあります。

こうした場合は固定値ではなく、FINDなどの関数をネストし、目印となる文字を基準に引数「文字数」が可変になるようにすると良いです。

LEFT+FINDの組み合わせテクニックについては後日別記事にする予定です。

参考記事

FINDの詳細は以下の記事をご参照ください。

【参考】半角と全角を区別して抽出したい場合は「LEFTB

LEFTで行う抽出は、半角(1バイト)と全角(2バイト)を区別せず、1文字を「1」として処理します。

もし、半角と全角を区別して抽出したい場合はLEFTB」(レフトビー)を使いましょう。

=LEFTB(文字列,バイト数)
文字列の先頭から指定した数の文字を返します。半角文字は1バイト、全角文字は2バイトとなります。

この関数の「1」は1バイトを示し、バイト数を基準に抽出することが可能です。

1文字が1バイトに変わるだけで、使い方自体はLEFTと同様です。

サンプルファイルで練習しよう!

可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。

サンプルファイル_ワークシート関数_LEFT.xlsx

※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)

ブックを開いたら、次の手順を実施してください。(今までの解説のまとめです)

  1. 関数を挿入するセルを選択
    ※今回はD2セル
  2. =le」と入力
  3. サジェストから「LEFT」を選択し、「Tab」キーで確定
  4. 抽出対象のセルを選択
    ※今回はC2セル
  5. コンマ(,)を入力
  6. 任意の文字数を指定
    ※今回は「3」を指定
  7. Enter」キーで確定
  8. 1行目の数式をコピーし、以降のセルへペースト
    ※今回はD3~D11セルへペースト

本記事の解説と同じ結果になればOKです!

さいごに

いかがでしたでしょうか?

LEFTはデータの抽出や分割に役立つ関数の一つです。

定期的にデータ抽出/分割の作業を行う機会があるなら、ぜひ覚えておいた方が良いですね。

なお、LEFT以外にもExcelでのデータ整形の各種テクニックを拙著で解説していますので、こちらも参考にしてみてください。



また、よりコアな情報を発信していくために「公式LINE」を開始しましたので、ご興味があれば以下バナーから友だち追加をお願いします!
特典として、Excelワークシート関数一覧(計22スライド)やExcelショートカットキー一覧(計25スライド)等をプレゼント!

森田貢士の公式LINEへの友だち追加告知用バナー

ご参考になれば幸いですm(_ _)m

森田森田

LEFTとセットで覚えておいた方が良い関数は抽出する位置が異なるRIGHTMIDです。
その他、臨機応変に抽出/分割したい場合はFINDLENもセットで使えるとベターですね。