Excelでの消耗に、終止符を。 QOL向上とDX化の実現は、あなたのExcelスキルの向上から。

【パワークエリ】「最初の文字」・「最後の文字」・「範囲」の使い方|文字数で列内の文字を一括抽出する方法【動画あり】

【パワークエリ】「最初の文字」・「最後の文字」・「範囲」の使い方|文字数で列内の文字を一括抽出する方法【動画あり】
Aさん
Aさん
特定の列の最初の2文字分だけ抽出したいです。
Power Queryエディター上で文字列を抽出したい場合、どうしたら良いですか?
森田
森田
その場合、Power Queryエディター上の「最初の文字」コマンドを使えば良いですよ!
では、詳細を解説していきますね。
目次[閉じる]

解説動画

の記事の内容は下記の動画「【パワークエリ#6】データクレンジング基本テクニック13選 – 元データを綺麗にするための不備修正の作業を自動化する」でも解説しています。

コメント欄の目次の時間部分をクリックすると該当の解説へジャンプできますよ!

はじめに

この記事はパワークエリの概要を把握していることが前提です。

パワークエリの概要は以下の記事をご参照ください。

「最初の文字」・「最後の文字」・「範囲」コマンドとは、Power Queryエディター上で文字数を基準に列内の各セルから文字列を抽出する機能

「最初の文字」・「最後の文字」・「範囲」コマンドは、クエリの新規作成ステップのうち、Step 2の「取得データを整形/加工(Transform)」に該当する機能です。

クエリの新規作成ステップ(【Step2】取得データを整形/加工)

機能自体は、ワークシート上の関数の「LEFT」「RIGHT」「MID」と似ています。
「最初の文字」コマンドがLEFT、「最後の文字」コマンドがRIGHT、「範囲」コマンドがMIDに相当。

クエリ内の一連の整形作業の中で、文字数を基準に文字列を抽出したい場合に「最初の文字」・「最後の文字」・「範囲」コマンドを使いましょう。

「最初の文字」・「最後の文字」・「範囲」コマンドの使いどころ

「最初の文字」・「最後の文字」・「範囲」コマンドの活用により、Power Queryエディター上で文字数を基準に列内の各セルから文字列を抽出できます。
「最初の文字」コマンドで先頭から、「最後の文字」コマンドで末尾から、「範囲」コマンドで任意の開始位置から指定の文字数を抽出。

一例として、「氏名」列を対象に「最初の文字」コマンドを使用し、最初の2文字を抽出したものが以下です。

「最初の文字」・「最後の文字」・「範囲」コマンドの使用イメージ

この通り、Power Queryエディター上で列内の各セルの先頭から指定した文字数を抽出したステップを記録できました。
「最初の文字」コマンドの場合、デフォルトのステップ名は「抽出される最初の文字」になる(クエリ内で2つ目以降の「抽出される最初の文字」ステップは連番が付加)。
「最後の文字」コマンドの場合、デフォルトのステップ名は「抽出される最後の文字」。
「範囲」コマンドの場合、デフォルトのステップ名は「抽出されるテキスト範囲」。

後は、クエリ新規作成ステップのStep 2とStep 3を行いましょう。

これにより、クエリに記録した「最初の文字」・「最後の文字」・「範囲」コマンドのステップを自動化できます。
「抽出される最初の文字」・「抽出される最後の文字」・「抽出されるテキスト範囲」ステップを記録後、対象の列名を変更すると、クエリ更新時にエラーになるため注意(対処法は後述)。

クエリの新規作成ステップのStep 2に役立つ各種コマンドや、Step 3の手順の詳細を知りたい方は、パワークエリの概要記事をご参照ください。
【Excel】パワークエリ(Power Query)とは?できることや使い方入門【動画あり】

「最初の文字」・「最後の文字」コマンドの使用手順

「最初の文字」・「最後の文字」コマンドの場合は、以下の手順です。

「最初の文字」・「最後の文字」コマンドの使用手順
  1. 抽出したい列を選択
    ※今回は「氏名」列
  2. リボン「変換」タブをクリック
  3. 「抽出」をクリック
  4. 「最初の文字」 or 「最後の文字」をクリック
    ※今回は「最初の文字」
  5. 抽出したい文字数を入力
    ※今回は「2」
  6. 「OK」をクリック

手順①の列を上書きしたくない場合、手順②はリボン「列の追加」タブをクリック。
※同じコマンドだが、手順①の列を残し、抽出結果を新たな列として追加。
手順④は、各セルの先頭と末尾のどちらから抽出したいかによって使い分け。

「範囲」コマンドの使用手順

「範囲」コマンドの場合は、以下の手順です。

「範囲」コマンドの使用手順
  1. 抽出したい列を選択
    ※今回は「氏名」列
  2. リボン「変換」タブをクリック
  3. 「抽出」をクリック
  4. 「範囲」をクリック
  5. 任意の開始位置を入力
    ※今回は「3」
  6. 抽出したい文字数を入力
    ※今回は「3」
  7. 「OK」をクリック

手順①の列を上書きしたくない場合、手順②はリボン「列の追加」タブをクリック。
※同じコマンドだが、手順①の列を残し、抽出結果を新たな列として追加。

【参考】「範囲」コマンドとMID関数の違い

「範囲」コマンドとワークシート関数のMIDとの違いは、開始位置から抽出されるか否かです(「範囲」コマンドの方は含まれない)。

  • 「範囲」コマンド:開始位置(開始インデックス)から抽出されず、開始位置の1文字後から抽出される
  • MID:開始位置から抽出される
「範囲」コマンドとMID関数の違い

つまり、Power Queryエディター上の「範囲」コマンドを使う場合は、MID関数よりも1文字少なく開始位置を設定する必要があるため、ご注意ください。

念のため、プレビューウィンドウでステップ記録後の結果を確認しながら対応しましょう。

「抽出される最初の文字」・「抽出される最後の文字」・「抽出されるテキスト範囲」ステップの変更手順

「最初の文字」・「最後の文字」・「範囲」コマンドで記録した「抽出される最初の文字」・「抽出される最後の文字」・「抽出されるテキスト範囲」ステップを後から変更する場合、変更したい内容が抽出条件(開始位置・文字数)か、それ以外かで手順が異なります。

それぞれの手順を順番に解説していきましょう。

抽出条件(開始位置・文字数)

抽出条件(開始位置、文字数)のみを後から変更したい場合、以下の手順で変更しましょう。

「抽出される最初の文字」・「抽出される最後の文字」・「抽出されるテキスト範囲」ステップの変更手順(抽出条件)
  1. 「抽出される最初の文字」 or 「抽出される最後の文字」 or 「抽出されるテキスト範囲」ステップの歯車マークをクリック
  2. 任意の箇所を修正
  3. 「OK」をクリック

手順①のステップ名は「最初の文字」・「最後の文字」・「範囲」コマンドのデフォルトの名前(自身でリネームしている場合は別表記)。
手順①はステップ名をダブルクリックでもOK。
手順①で起動した「最初の文字を抽出する」・「最後の文字を抽出する」・「テキスト範囲を抽出する」ダイアログは、ステップに設定した内容がセットされた状態。

その他

抽出条件以外の内容(抽出対象の列や抽出に使うコマンド等)を後から変更したい場合、以下の手順で変更しましょう。

「抽出される最初の文字」・「抽出される最後の文字」・「抽出されるテキスト範囲」ステップの変更手順(その他)
  1. 「抽出される最初の文字」 or 「抽出される最後の文字」 or 「抽出されるテキスト範囲」ステップを削除(「×」をクリック)
  2. 再度「抽出される最初の文字」 or 「抽出される最後の文字」 or 「抽出されるテキスト範囲」ステップを記録

手順①のステップ名は、「最初の文字」・「最後の文字」・「範囲」コマンドのデフォルトの名前(自身でリネームしている場合は別表記)。

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

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

サンプルファイル_PowerQueryデータ整形_抽出_文字数.xlsx

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

ブックを開いたら、「社員マスタ(抽出_文字数)」クエリを編集(Power Queryエディター起動)し、次の手順を実施してください(今までの解説のまとめです)。
ブック起動時、「セキュリティの警告」メッセージが表示された場合は「コンテンツの有効化」をクリック。

  1. 抽出したい列を選択
    ※今回は「氏名」列
  2. リボン「変換」タブをクリック
  3. 「抽出」をクリック
  4. 「最初の文字」 or 「最後の文字」をクリック
    ※今回は「最初の文字」
  5. 抽出したい文字数を入力
    ※今回は「2」
  6. 「OK」をクリック

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

さいごに

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

「最初の文字」・「最後の文字」・「範囲」コマンドの活用により、Power Queryエディター上で文字数を基準に列内の各セルから文字列を抽出できます。

データ抽出のオーソドックスな処理の1つのため、ぜひ基本テクニックとして覚えておきましょう!

なお、パワークエリの各種テクニックは、私の拙著でも体系的に解説していますので、こちらも参考にしてみてください。

created by Rinker
¥2,970 (2026/07/24 19:43:13時点 楽天市場調べ-詳細)

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

森田
森田
「最初の文字」・「最後の文字」・「範囲」コマンドに慣れたら、他のデータ抽出に役立つコマンドもセットで覚えることをおすすめします。
具体的には、区切り記号を基準に抽出する「区切り記号の前のテキスト」・「区切り記号の後のテキスト」・「区切り記号の間のテキスト」コマンドです。
作業目的やデータ内容に応じて、これらのコマンドをうまく使い分けできるようになりましょう!

この記事をシェアする

記事一覧へ戻る

コメント Comments

コメント一覧

コメントはありません。

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トラックバックURL

https://excel-master.net/data-shaping/power-query-data-extraction-word-count/trackback/