パワークエリの「列のマージ」コマンドのサムネイル
AさんAさん

「氏」と「名」の2列を「氏名」へまとめたいです。
Power Queryエディター上で複数列を連結したい場合、どうしたら良いですか?

森田森田

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

Excelステップ講座

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

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

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

はじめに

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

参考記事

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

「列のマージ」の使いどころ

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

「列のマージ」のスコープ

機能自体は、ワークシート上の関数の「CONCATENATE」「CONCAT」「TEXTJOIN」と似ています。

クエリ内の一連の整形作業の中で複数列を連結したい場合、Power Queryエディター上の「列のマージ」コマンドを使いましょう。

「列のマージ」コマンドの使いどころ

「列のマージ」コマンドを活用することで、指定した複数列を連結するとともに、列の間の区切り記号や新しい列名の設定が可能です。
区切り記号(文字)とは、「データ抽出/分割の目印となる文字」のこと。

なお、区切り記号を設定しない場合はCONCATENATE・CONCAT、区切記号を設定する場合はTEXTJOINに相当します。

参考記事

ワークシート上の関数の「CONCATENATE」・「CONCAT」・「TEXTJOIN」の詳細は、以下の記事をご参照ください。



使用イメージ

「氏」・「名」列を対象に「列のマージ」コマンドを使用し、「氏名」列へ連結したイメージが以下です。

「列のマージ」コマンドの使用イメージ

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

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

これにより、クエリに記録した「列のマージ」コマンドのステップを自動化できます。
「列のマージ」コマンドのステップ登録後、連結対象の列名を変更すると、クエリ更新時にエラーになるため注意(対処法は、後述の「登録したステップの変更手順」を参照)。

参考記事

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


ステップ登録手順

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

「列のマージ」コマンドのステップ登録手順

  1. 連結したい列を選択
    ※今回は「氏」・「名」列
  2. リボン「変換」タブをクリック
  3. 「列のマージ」をクリック
  4. 任意の区切り記号を選択
    ※今回は「スペース」
  5. 任意の列名を入力
    ※今回は「氏名」
  6. 「OK」をクリック

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

手順③の「列のマージ」コマンドは、手順①で複数列を選択しないと活性化されない。
手順④は、後工程で抽出/分割する場合に備え、何かしらの区切り記号を設定することがおすすめ。
手順⑤は、ボックス内の「結合済み」のデフォルト値を書き換え。

【参考】「列のマージ」ダイアログで選択可能な区切り記号

「列のマージ」ダイアログの「区切り記号」ボックスで用意されている選択肢は以下の通りです。

「列のマージ」ダイアログで選択可能な区切り記号

  • –なし–
  • コロン(:)
  • コンマ(,)
  • 等号(=)
  • セミコロン(;)
  • スペース( )
  • タブ( )
  • –カスタム–

区切り記号が不要な場合は「–なし–」を選択し、区切り記号が必要な場合はそれ以外の選択肢から任意のものを選びましょう。

なお、デフォルトの選択肢はいずれも半角の記号です。

全角の記号を含め、デフォルトの選択肢以外の記号を設定したい場合は、「–カスタム–」を選択しましょう。

「列のマージ」ダイアログの「--カスタム--」選択時の入力方法

追加で表示されたボックスへ任意の区切り記号を入力できます。

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

「列のマージ」コマンドで登録したステップを後から変更する場合、変更したい内容が連結条件(区切り記号、新しい列名)か、それ以外かで手順が異なります。

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

連結条件(区切り記号、新しい列名)

連結条件(区切り記号、新しい列名)のみを後から変更したい場合、以下の手順で変更しましょう。

「列のマージ」コマンドのステップ変更手順(連結条件)

  1. 「結合された列」ステップの歯車マークをクリック
  2. 任意の箇所を修正
  3. 「OK」をクリック

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

その他

連結条件以外の内容(連結対象の列等)を後から変更したい場合、以下の手順で変更しましょう。

「列のマージ」コマンドのステップ変更手順(その他)

  1. 「結合された列」ステップを削除(「×」をクリック)
  2. 再度「列のマージ」コマンドのステップ登録手順を実行

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

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

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

サンプルファイル_PowerQueryデータ整形_列のマージ.xlsx

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

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

  1. 連結したい列を選択
    ※今回は「氏」・「名」列
  2. リボン「変換」タブをクリック
  3. 「列のマージ」をクリック
  4. 任意の区切り記号を選択
    ※今回は「スペース」
  5. 任意の列名を入力
    ※今回は「氏名」
  6. 「OK」をクリック

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

さいごに

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

「列のマージ」コマンドは、指定した複数列を連結できます。

列の抽出や分割と並んで、基本テクニックの1つなので、ぜひセットで覚えておきましょう!

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


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

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

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

森田森田

「列のマージ」コマンドに慣れたら、反対の機能にあたるデータ分割に関するコマンドもセットで覚えることをおすすめします。
具体的には、区切り記号を基準に分割する「区切り記号による分割」コマンドや、文字数を基準に分割する「文字数による分割」コマンドです。
列単位の連結や分割は、実務でも利用頻度が高いので、ケースに応じて使い分けていきましょう!