パワークエリの「区切り記号による分割」コマンドのサムネイル
AさんAさん

「氏名」列を「氏」と「名」の2列に分割したいです。
Power Queryエディター上で氏名の間の全角スペースを基準に列を分割したい場合、どうしたら良いですか?

森田森田

その場合、Power Queryエディター上の「区切り記号による分割」コマンドを使えば良いですよ!
では、詳細を解説していきますね。

Excelステップ講座

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

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

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

はじめに

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

参考記事

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

「区切り記号による分割」の使いどころ

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

「区切り記号による分割」のスコープ

機能自体は、ワークシート上の「区切り位置」コマンドや関数の「TEXTSPLIT」と似ています。
「TEXTSPLIT」の詳細は、別記事にまとめる予定。

クエリ内の一連の整形作業の中で、特定の列を区切り記号で分割したい場合に「区切り記号による分割」コマンドを使いましょう。
区切り記号(文字)とは、「データ抽出/分割の目印となる文字」のこと。

「区切り記号による分割」コマンドの使いどころ

「区切り記号による分割」コマンドを活用することで、区切り記号を基準に指定した列を複数列に分割することが可能です。

参考記事

ワークシート上の「区切り位置」コマンドの詳細は、以下の記事をご参照ください。

使用イメージ

「氏名」列を対象に「区切り記号による分割」コマンドを使用し、半角スペースを基準に「氏」・「名」の2列に分割したイメージが以下です。

「区切り記号による分割」コマンドの使用イメージ

Power Queryエディター上で区切り記号を基準に列を分割したステップを登録できました。
「区切り記号による分割」コマンドの場合、デフォルトのステップ名は「区切り記号による列の分割」になる(クエリ内で2つ目以降の「区切り記号による列の分割」ステップは連番が付加)。

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

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

参考記事

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


ステップ登録手順

「区切り記号による分割」コマンドのステップを登録したい場合は、以下の手順となります。

「区切り記号による分割」コマンドのステップ登録手順

  1. 分割したい列を選択
    ※今回は「氏名」列
  2. リボン「変換」タブをクリック
  3. 「列の分割」をクリック
  4. 「区切り記号による分割」をクリック
  5. 任意の区切り記号を選択
    ※今回は「スペース」
  6. 任意の分割方法を選択
    ※今回は「区切り記号の出現ごと」
  7. 「OK」をクリック

手順②は、手順①のヘッダー上で右クリック、リボン「ホーム」タブでもOK(それぞれ同じコマンドがある)。
手順③の「列の分割」コマンドは、手順①で1列のみ選択しないと活性化されない。
手順⑤は、手順①の各値の区切り記号と全角/半角も含めて一致させる必要あり(不一致の場合、値がnullの新しい列が増える)。
手順⑥は、手順①の列に手順⑤の区切り記号が2つ以上ある場合、どの区切り記号を基準に分割するかを選択可能(デフォルトは「区切り記号の出現ごと」)。

【参考】「区切り記号による列の分割」ダイアログで選択可能な区切り記号

「区切り記号による列の分割」ダイアログの「区切り記号を選択するか入力してください」ボックスで用意されている選択肢は以下の通りです。

「区切り記号による列の分割」ダイアログで選択可能な区切り記号

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

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

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

「区切り記号による列の分割」ダイアログの「--カスタム--」選択時の入力方法

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

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

「区切り記号による列の分割」ダイアログに用意されている「詳細設定オプション」をクリックすると、分割の条件をより詳細に設定することが可能です。

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

分割の方向

詳細設定オプションの「分割の方向」は、選択した列の各セルを分割する方向を「列」から「行」へ変更できます。

デフォルトは「列」ですが、「行」へ変更することで、区切り記号を基準にレコードを分割することも可能です。

「区切り記号による列の分割」ダイアログの詳細設定オプション(分割の方向)

列ではなくレコードに分割したい場合、「行」へ変更しましょう。

分割後の列数

詳細設定オプションの「分割後の列数」は、前述のステップ登録手順⑥を「区切り記号の出現ごと」を選択、かつ「分割の方向」が「列」にした場合に、分割の列数を変更できます。

「分割後の列数」ボックスのデフォルトの数値は、指定した列と区切り記号に応じた列数が自動で設定されます。

「区切り記号による列の分割」ダイアログの詳細設定オプション(分割後の列数)

あえて、この数値を変更する必要性はないでしょう。

分割後に何列になるか、ステップ登録前に確認したい場合は開いても良いかもしれません。

【注意】「列の分割」は「列の追加」タブに存在しない

「列の分割」コマンドは、リボン「列の追加」タブに存在しません。

よって、前述のステップ登録手順①で選択した列を上書きしたくない場合、事前に「重複する列」コマンドで対象の列を複製しておきましょう。

「重複する列」コマンドのステップ登録手順

  1. 複製したい列を選択
    ※今回は「氏名」列
  2. リボン「列の追加」タブをクリック
  3. 「重複する列」をクリック

後は、複製した列に対し、ステップ登録手順を行えば、分割前後の列がすべて残ります。

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

「区切り記号による分割」コマンドで登録したステップを後から変更する場合、変更したい内容が分割条件(区切り記号、分割方法、詳細設定オプション)か、それ以外かで手順が異なります。

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

分割条件(区切り記号、分割方法、詳細設定オプション)

分割条件(区切り記号、分割方法、詳細設定オプション)のみを後から変更したい場合、以下の手順で変更しましょう。

「区切り記号による分割」コマンドのステップ変更手順(分割条件)

  1. 「区切り記号による列の分割」ステップの歯車マークをクリック
  2. 任意の箇所を修正
  3. 「OK」をクリック

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

その他

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

「区切り記号による分割」コマンドのステップ変更手順(その他)

  1. 「区切り記号による列の分割」ステップを削除(「×」をクリック)
  2. 再度「区切り記号による分割」コマンドのステップ登録手順を実行

手順①のステップ名は、「区切り記号による分割」コマンドのデフォルトの名前(自身でリネームしている場合は別表記)。
手順②の前に、「区切り記号による列の分割」ステップ登録時に追加された「変更された型n」ステップも削除すること。

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

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

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

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

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

  1. 分割したい列を選択
    ※今回は「氏名」列
  2. リボン「変換」タブをクリック
  3. 「列の分割」をクリック
  4. 「区切り記号による分割」をクリック
  5. 任意の区切り記号を選択
    ※今回は「スペース」
  6. 任意の分割方法を選択
    ※今回は「区切り記号の出現ごと」
  7. 「OK」をクリック

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

さいごに

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

「区切り記号による分割」コマンドは、区切り記号を基準に指定した列を複数列に分割できます。

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

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


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

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

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

森田森田

「区切り記号による分割」コマンドに慣れたら、他のデータ分割に役立つコマンドもセットで覚えることをおすすめします。
具体的には、文字数を基準に分割する「文字数による分割」、文字と数値で分割する「数字から数字以外による分割」・「数字以外から数字による分割」コマンドです。
作業目的やデータ内容に応じて、これらのコマンドをうまく使い分けできるようになりましょう!