氏名の「氏」や住所の「都道府県」など、特定データの先頭部分の文字を抽出したいですが、どう作業したら効率的ですかね?
その場合は、関数の「LEFT」を活用すると良いですよ!
では、LEFTの使い方について解説していきますね。
はじめに
この記事は関数の概要を把握していることが前提です。
関数の概要については以下の記事をご参照ください。
はじめに この記事は数式の概要を把握していることが前提です。 参考記事 数式の概要の詳細は以下の記事をご参照ください。 関数とは 関数とは、数式の構成要素の1つであり、固有の計算/処理の機能がセットされた数式のことです。 …
元データの文字列から先頭部分のみ抽出したい場合は「LEFT」が有効
実務では、既存のデータと使いたいデータで粒度が合っていないケースがあります。
たとえば、都道府県別で集計したいが、既存データは住所(都道府県+市区町村+番地)といったイメージです。
この解決策として、既存データの文字列から必要な部分だけ抽出した列を用意することが必要です(例:住所から「都道府県」のみ抽出)。
こんな場合、関数の「LEFT」を使うことで、対象データの先頭(左)から指定した数の文字列を自動的に抽出することが可能となります。
ちなみに、LEFTは「レフト」と呼びます。
よって、元データの文字列から先頭部分のみ抽出したい場合はLEFTを使用していきましょう。
対象データの「末尾(右)」から抽出したい場合はRIGHT、対象データの「任意の位置」から抽出したいはMIDを使用してください(詳細は以下の記事を参照)。
はじめに この記事は関数の概要を把握していることが前提です。 参考記事 関数の概要については以下の記事をご参照 …
はじめに この記事は関数の概要を把握していることが前提です。 …
LEFTの構文
LEFTの構文は以下の通りです。
=LEFT(文字列,文字数)
文字列の先頭から指定された数の文字を返します。
引数名 | 必須 | データ型 | 説明 |
---|---|---|---|
文字列 | ○ | 文字列 | 抽出対象のセルを指定します。 |
文字数 | - | 数値 | 「文字列」の先頭から抽出したい文字数を指定します。 |
引数「文字数」は省略時「1」を指定したと見なされます。
引数「文字数」は「0」以上の数値を指定する必要があります(負の数はエラー値「#VALUE!」が表示)。
引数「文字数」へ引数「文字列」の文字数を超える数値を指定した場合、引数「文字列」の値がそのまま返ります。
引数「文字数」を小数点まで指定した場合、整数部分で抽出されます。
【参考】LEFTは「文字列操作関数」
あくまで参考情報となりますが、LEFTはリボン「数式」タブの関数ライブラリの「文字列操作」に分類されています。
実際にLEFTを活用する際は、以下で解説しているように直接入力で挿入していきましょう。
LEFTの使用結果イメージ
LEFTで対象データの先頭(左)から指定した数の文字列を抽出したイメージは以下の通りです。
今回は「住所」列のデータから「都道府県」の文字列を抽出しました。
なお、LEFTは原則一つの関数で一つのセルのみが抽出対象です。
ベースの数式をセットしたら、他のセルへペーストしましょう。
LEFTの数式の挿入手順
上記の結果を得るための手順は以下の通りです。
- 関数を挿入するセルを選択
※今回はD2セル - 「=le」と入力
- サジェストから「LEFT」を選択し、「Tab」キーで確定
- 抽出対象のセルを選択
※今回はC2セル - コンマ(,)を入力
- 任意の文字数を指定
※今回は「3」を指定 - 「Enter」キーで確定
- 1行目の数式をコピーし、以降のセルへペースト
※今回はD3~D11セルへペースト
手順②の際にIMEを半角英数モードにすること。
テーブルの場合、手順⑧は不要(全レコードへ数式が自動的にコピーされる)。
【応用】対象データによって引数「文字数」を可変にしたい場合は
LEFTの引数「文字数」は固定値(定数)を指定することが基本です。
本記事では、住所から都道府県を抽出にあたり「3」を指定していましたが、都道府県の中には4文字のもの(神奈川県や和歌山県など)も存在します。
このように、データによっては固定値のままだと抽出がうまくいかないケースがあります。
こうした場合は固定値ではなく、FINDなどの関数をネストし、目印となる文字を基準に引数「文字数」が可変になるようにすると良いです。
LEFT+FINDの組み合わせテクニックについては後日別記事にする予定です。
FINDの詳細は以下の記事をご参照ください。
はじめに この記事は関数の概要とLEFT・RIGHT・MIDの使い方を把握していることが前提です。 参考記事 …
【参考】半角と全角を区別して抽出したい場合は「LEFTB」
LEFTで行う抽出は、半角(1バイト)と全角(2バイト)を区別せず、1文字を「1」として処理します。
もし、半角と全角を区別して抽出したい場合は「LEFTB」(レフトビー)を使いましょう。
=LEFTB(文字列,バイト数)
文字列の先頭から指定した数の文字を返します。半角文字は1バイト、全角文字は2バイトとなります。
この関数の「1」は1バイトを示し、バイト数を基準に抽出することが可能です。
1文字が1バイトに変わるだけで、使い方自体はLEFTと同様です。
サンプルファイルで練習しよう!
可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。
※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)
ブックを開いたら、次の手順を実施してください。(今までの解説のまとめです)
- 関数を挿入するセルを選択
※今回はD2セル - 「=le」と入力
- サジェストから「LEFT」を選択し、「Tab」キーで確定
- 抽出対象のセルを選択
※今回はC2セル - コンマ(,)を入力
- 任意の文字数を指定
※今回は「3」を指定 - 「Enter」キーで確定
- 1行目の数式をコピーし、以降のセルへペースト
※今回はD3~D11セルへペースト
本記事の解説と同じ結果になればOKです!
さいごに
いかがでしたでしょうか?
LEFTはデータの抽出や分割に役立つ関数の一つです。
定期的にデータ抽出/分割の作業を行う機会があるなら、ぜひ覚えておいた方が良いですね。
なお、LEFT以外にもExcelでのデータ整形の各種テクニックを拙著で解説していますので、こちらも参考にしてみてください。
また、よりコアな情報を発信していくために「公式LINE」を開始しましたので、ご興味があれば以下バナーから友だち追加をお願いします!
特典として、Excelワークシート関数一覧(計22スライド)やExcelショートカットキー一覧(計25スライド)等をプレゼント!
ご参考になれば幸いですm(_ _)m
LEFTとセットで覚えておいた方が良い関数は抽出する位置が異なるRIGHTとMIDです。
その他、臨機応変に抽出/分割したい場合はFINDやLENもセットで使えるとベターですね。