郵便番号は文字数が決まっていますが、Power Queryエディター上で文字数を基準に列を分割したい場合、どうしたら良いですか?
では、詳細を解説していきますね。
目次[閉じる]
はじめに
この記事はパワークエリの概要を把握していることが前提です。
パワークエリの概要は以下の記事をご参照ください。
「文字数による分割」コマンドとは、Power Queryエディター上で文字数を基準に1列を複数列へ分割する機能
「文字数による分割」コマンドは、クエリの新規作成ステップのうち、Step 2の「取得データを整形/加工(Transform)」に該当する機能です。

機能自体は、ワークシート上の「区切り位置」コマンドに似ています。
「区切り位置」コマンドは区切り記号・文字数の両方の分割に対応。
クエリ内の一連の整形作業の中で、文字数を基準に列を分割したい場合に「文字数による分割」コマンドを使いましょう。

「文字数による分割」コマンドの活用により、Power Queryエディター上で文字数を基準に1列を複数列へ分割できます。
一例として、「住所」列を対象に「文字数による分割」コマンドを使用し、最初の8文字を基準に「郵便番号」・「住所」の2列に分割したものが以下です。

この通り、Power Queryエディター上で文字数を基準に列を分割したステップを記録できました。
「文字数による分割」コマンドの場合、デフォルトのステップ名は「位置によって分割された列」になる(クエリ内で2つ目以降の「位置によって分割された列」ステップは連番が付加)。
後は、クエリ新規作成ステップのStep 2とStep 3を行いましょう。
これにより、クエリに記録した「文字数による分割」コマンドのステップを自動化できます。
「位置によって分割された列」ステップを記録後、対象の列名を変更すると、クエリ更新時にエラーになるため注意(対処法は後述)。
クエリの新規作成ステップのStep 2に役立つ各種コマンドや、Step 3の手順の詳細を知りたい方は、パワークエリの概要記事をご参照ください。
【Excel】パワークエリ(Power Query)とは?できることや使い方入門【動画あり】
「文字数による分割」コマンドの使用手順
「文字数による分割」コマンドは、以下の手順で使用します。

- 分割したい列を選択
※今回は「住所」列 - リボン「変換」タブをクリック
- 「列の分割」をクリック
- 「文字数による分割」をクリック
- 任意の文字数を入力
※今回は「8」 - 任意の分割方法を選択
※今回は「できるだけ左側で1回」 - 「OK」をクリック
手順②は、手順①のヘッダー上で右クリック、リボン「ホーム」タブでもOK(それぞれ同じコマンドがある)。
手順③の「列の分割」コマンドは、手順①で1列のみ選択しないと活性化されない。
手順⑥は、手順①の列に手順⑤の文字数で3列以上に分割できる場合、1回だけ分割(文字列の先頭からor末尾から)するか、可能な限り複数回分割を繰り返すかを選択可能(デフォルトは「繰り返し」)。
【参考】詳細設定オプション
「文字数による分割」ダイアログに用意されている「詳細設定オプション」をクリックすると、分割の条件をより詳細に設定することが可能です。
それぞれ順番に解説します。
分割の方向
詳細設定オプションの「分割の方向」は、選択した列の各セルを分割する方向を「列」から「行」へ変更できます。
デフォルトは「列」ですが、「行」へ変更することで、文字数を基準にレコードを分割することも可能です。

列ではなくレコードに分割したい場合、「行」へ変更しましょう。
分割後の列数
詳細設定オプションの「分割後の列数」は、前述の使用手順⑥を「文字数の出現ごと」を選択、かつ「分割の方向」が「列」にした場合に、分割の列数を変更できます。
「分割後の列数」ボックスのデフォルトの数値は、指定した列と文字数に応じた列数が自動で設定されます。

あえて、この数値を変更する必要性はないでしょう。
分割後に何列になるか、ステップを記録する前に確認したい場合は開いても良いかもしれません。
【注意】「列の分割」は「列の追加」タブに存在しない
「列の分割」コマンドは、リボン「列の追加」タブに存在しません。
よって、前述の使用手順①で選択した列を上書きしたくない場合、事前に「重複する列」コマンドで対象の列を複製しておきましょう。

- 複製したい列を選択
※今回は「氏名」列 - リボン「列の追加」タブをクリック
- 「重複する列」をクリック
後は、複製した列に対し、「文字数による分割」コマンドを使用すれば、分割前後の列がすべて残ります。
「位置によって分割された列」ステップの変更手順
「文字数による分割」コマンドで記録した「位置によって分割された列」ステップを後から変更する場合、変更したい内容が分割条件(文字数・分割方法・詳細設定オプション)か、それ以外かで手順が異なります。
それぞれの手順を順番に解説していきましょう。
分割条件(文字数・分割方法・詳細設定オプション)
分割条件(文字数・分割方法・詳細設定オプション)のみを後から変更したい場合、以下の手順で変更しましょう。

- 「位置によって分割された列」ステップの歯車マークをクリック
- 任意の箇所を修正
- 「OK」をクリック
手順①のステップ名は「文字数による分割」コマンドのデフォルトの名前(自身でリネームしている場合は別表記)。
手順①はステップ名をダブルクリックでもOK。
手順①で起動した「文字数による列の分割」ダイアログは、ステップに設定した内容がセットされた状態。
その他
分割条件以外の内容(分割対象の列や分割に使うコマンド等)を後から変更したい場合、以下の手順で変更しましょう。

- 「位置によって分割された列」ステップを削除(「×」をクリック)
- 再度「位置によって分割された列」ステップを記録
手順①のステップ名は、「文字数による分割」コマンドのデフォルトの名前(自身でリネームしている場合は別表記)。
サンプルファイルで練習しよう!
可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。
サンプルファイル_PowerQueryデータ整形_文字数による分割.xlsx
ブックを開いたら、「住所マスタ(文字数による分割)」クエリを編集(Power Queryエディター起動)し、次の手順を実施してください(今までの解説のまとめです)。
ブック起動時、「セキュリティの警告」メッセージが表示された場合は「コンテンツの有効化」をクリック。
- 分割したい列を選択
※今回は「住所」列 - リボン「変換」タブをクリック
- 「列の分割」をクリック
- 「文字数による分割」をクリック
- 任意の文字数を入力
※今回は「8」 - 任意の分割方法を選択
※今回は「できるだけ左側で1回」 - 「OK」をクリック
本記事の解説と同じ結果になればOKです!
さいごに
いかがでしたでしょうか?
「文字数による分割」コマンドの活用により、Power Queryエディター上で文字数を基準に1列を複数列へ分割できます。
列の分割は、列の抽出や連結と並ぶ基本テクニックの1つのなので、ぜひセットで覚えておきましょう!
なお、パワークエリの各種テクニックは、私の拙著でも体系的に解説していますので、こちらも参考にしてみてください。
ご参考になれば幸いですm(_ _)m
具体的には、区切り記号を基準に分割する「区切り記号による分割」コマンド、文字と数値で分割する「数字から数字以外による分割」・「数字以外から数字による分割」コマンドです。
作業目的やデータ内容に応じて、これらのコマンドをうまく使い分けできるようになりましょう!

コメント Comments
コメント一覧
コメントはありません。
トラックバックURL
https://excel-master.net/data-utilization/data-shaping/add-calculated-column/power-query-column-split-word-count/trackback/