【パワークエリ】列単位で既存の値を指定の新しい文字へ変換できる「値の置換」の使い方
AさんAさん

パワークエリでも置換したいですが、何のコマンドを使えば良いですか?

森田森田

その場合、Power Queryエディター上の「値の置換」コマンドを使えば良いですよ!
では、詳細を解説していきますね。

Excelステップ講座

解説動画:【パワークエリ#6】データクレンジング基本テクニック13選 – 元データを綺麗にするための不備修正の作業を自動化する

この記事の内容は下記の動画でも解説しています。

コメント欄の「値の置換」コマンドの部分をクリックすると該当の解説へジャンプできますよ!

はじめに

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

参考記事

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

「値の置換」の使いどころ

「値の置換」コマンドは、クエリの新規作成ステップのうち、STEP2の「取得データを整形/加工(Transform)」に該当する機能です。

「値の置換」コマンドのスコープ

機能自体は、ワークシート上の「置換」コマンドや関数の「SUBSTITUTE」と同じです。

クエリ内の一連の整形作業の中で、同義語の表記ゆれを修正する、あるいは特定の文字を削除したいといった場合に「値の置換」コマンドを使いましょう。
同義語とは、「りんご」と「アップル」など、同じ意味だが表記が異なる言葉のこと。

「値の置換」コマンドの使いどころ

「値の置換」コマンドを活用することで、列単位で指定した文字の修正/削除が可能です。

参考記事

ワークシート上の「置換」コマンドと関数の「SUBSTITUTE」の詳細は、以下の記事をご参照ください。


使用イメージ

「商品名」列を対象に「値の置換」コマンドを使用し、「林檎」を「りんご」へ置換したイメージが以下です。

「値の置換」コマンドの使用イメージ

Power Queryエディター上で置換したステップを登録できました。
「値の置換」コマンドの場合、デフォルトのステップ名は「置き換えられた値」になる(クエリ内で2つ目以降の「置き換えられた値」ステップは連番が付加)。

なお、ワークシート上の「置換」コマンドと違い、「値の置換」コマンドで指定した置換前の文字が検索できない場合、特にエラーメッセージは表示されません。

つまり、意味がないステップが増えてしまうため、きちんと意図通りに置換されたか、Power Queryエディターのプレビュー画面上で確認しましょう。

後は、クエリ新規作成ステップのSTEP2で必要な他ステップを登録したら、STEP3を行いましょう。

これにより、クエリに記録した置換のステップを自動化できます。
置換のステップ登録後、置換対象の列名を変更すると、クエリ更新時にエラーになるため注意(列名の変更手順は後述)。

参考記事

クエリの新規作成ステップのSTEP2に役立つ各種コマンドの詳細は「パワークエリ(Power Query)の記事一覧」を、STEP3の手順はパワークエリの概要記事をご参照ください。


ステップ登録手順

「値の置換」コマンドのステップを登録したい場合は、以下の手順となります。

「値の置換」コマンドのステップ登録手順

  1. 置換したい列を選択
    ※今回は「商品名」列
  2. リボン「変換」タブをクリック
  3. 「値の置換」をクリック
  4. 置換前の文字を入力
    ※今回は「林檎」
  5. 置換後の文字を入力
    ※今回は「りんご」
  6. 「OK」をクリック

手順②は、リボン「ホーム」タブでもOK(両方のタブに同じコマンドがある)。
手順④に設定した文字が、手順①で選択した列にあるセルの値に含まれると置換対象となる。

【参考】詳細設定オプション

「値の置換」ダイアログに用意されている「詳細設定オプション」を活用すると、応用的な置換を行うことが可能です。

それぞれ順番に解説します。

セルの内容全体の照合

詳細設定オプションの「セルの内容全体の照合」のチェックをONにすることで、設定した置換前の文字がセルの値と完全一致の場合にのみ置換を行うように変更できます。
前述の解説通り、ステップ登録手順④に設定する文字が、手順①で選択した列にあるセルの値に含まれると置換対象になることが基本仕様。

実際にこの設定を行う場合、「値の置換」ダイアログを開いたら、前述のステップ登録手順⑥の前に以下手順を行ってください。

「値の置換」コマンドの詳細設定オプション(セルの内容全体の照合)

  1. 「詳細設定オプション」をクリック
  2. 「セルの内容全体の照合」のチェックをON

特殊文字を使用した置換

詳細設定オプションの「セルの内容全体の照合」のチェックをONにすることで、置換前後の文字に以下の特殊文字を活用することが可能です。

  • タブ:#(tab)
  • 復帰:#(cr)
  • 改行:#(lf)
  • 復帰改行:#(cr)#(lf)
  • 改行なしスペース:#(00A0)

特殊文字を挿入する手順は以下の通りです。
事前に「特殊文字を使用した置換」のチェックをONにしておくこと。

「値の置換」コマンドの詳細設定オプション(特殊文字を使用した置換)

  1. 任意のボックスを選択
  2. 「特殊文字を挿入」をクリック
  3. 任意の特殊文字を選択

実務では、置換前の文字に含まれるタブや改行を基準に置換したい場合等で活用すると良いでしょう。
以下は「改行」を「改行なしスペース」へ置換した例。

詳細設定オプション(特殊文字を使用した置換)の例

なお、単純に改行を削除したい場合は、「クリーン」コマンドを活用しましょう。

参考記事

「クリーン」コマンドの詳細は、以下の記事をご参照ください。

登録したステップの変更手順

「値の置換」コマンドで登録したステップを後から変更する場合、変更したい内容が置換対象の列名か、それ以外かで手順が異なります。

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

置換対象の列

以下のようなケースでクエリがエラーになる場合があります。

  • クエリ登録後にデータソースに指定した表の置換対象の列名を変更した
  • 「置き換えられた」ステップの前工程に置換対象の列名を変更するステップを挿入した場合

この場合、以下の手順で「置き換えられた」ステップの対象列を変更しましょう。

「値の置換」コマンドのステップ変更手順(置換対象の列)

  1. 「置き換えられた」ステップを選択
  2. 数式バーの末尾にあるダブルクォーテーション(”)の間の列名を修正
  3. 「Enter」キーで確定

手順①のステップ名は「値の置換」ステップのデフォルトの名前(自身でリネームしている場合は別表記)。
数式バーが表示されていない場合、リボン「表示」タブの「数式バー」のチェックをONにすること。

手順③まで終えるとPower Queryエディターのプレビュー画面に戻るため、エラーが解消され、無事に置換されたかを確認しましょう。

その他

置換対象の列以外の内容(置換前後の文字、詳細設定オプションの設定)を後から変更したい場合、以下の手順で変更しましょう。

「値の置換」コマンドのステップ変更手順(その他)

  1. 「置き換えられた」ステップの歯車マークをクリック
  2. 任意の箇所を修正
  3. OK」をクリック

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

手順③まで終えるとPower Queryエディターのプレビュー画面に戻るため、変更が問題なく反映されたかを確認しましょう。

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

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

サンプルファイル_PowerQueryデータ整形_値の置換.xlsx
サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります(上記リンクから登録フォームへ遷移)。

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

  1. 置換したい列を選択
    ※今回は「商品名」列
  2. リボン「変換」タブをクリック
  3. 「値の置換」をクリック
  4. 置換前の文字を入力
    ※今回は「林檎」
  5. 置換後の文字を入力
    ※今回は「りんご」
  6. 「OK」をクリック

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

さいごに

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

「値の置換」コマンドは、列単位で指定した文字の修正/削除が可能です。

同義語の表記ゆれの修正等、データクレンジングのオーソドックスな処理の1つのため、ぜひ基本テクニックとして覚えておきましょう!

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


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

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

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

森田森田

「値の置換」コマンドに慣れたら、他の表記ゆれの修正に役立つコマンドもセットで覚えると良いです。
たとえば、英数字の表記ゆれを修正する「小文字」・「大文字」コマンドや、余計なスペースや改行を除去する「トリミング」「クリーン」コマンドです。
それぞれ「値の置換」コマンドよりも操作がシンプルなため、ぜひセットで覚え、状況に応じて使い分けていきましょう!