【総力特集】パワークエリで列操作をマスター:選択、変更、移動、削除、結合、分割の詳細解説&実践テクニック!(3/11)

データベースの基本は行と列という2次元の構造になっています。パワークエリについてもこの2次元構造のデータを前提として処理されることになります。第3回目の講座ではパワークエリにおける列の操作を詳しく解説します。

パワークエリのマスターへの道を切り拓く、全11講座を用意しました!こちらは、その第3回目の講座になります。ぜひ、他の講座も楽しみながらスキルアップを目指してくださいね 他の講座を見るにはこちら

目次

列の選択

練習用Excelのダウンロード

説明で利用するExcelファイルをダウンロードして実際に操作をしてみましょう。

練習用エクセルを開き以下の通りパワークエリエディタを開いてください。

  1. [データ]タブ
  2. [テーブルまたは範囲]を押下
  3. [先頭行テーブルを見出しとして使用する]にチェックを入れる
パワークエリエディタの開き方

単一列の選択

単一列を選択する場合は、単純で列のヘッダーを選択します。下図の例だとB列が選択された状態になっています。

選択されている列は緑色になります。

連続した複数列の選択

連続した複数の列を選択する方法です。

  1. 最初の列を選択
  2. Shiftキーを押しながら最終列を選択

連続していない複数列の選択

連続していない複数の列を選択する方法です。

  1. 選択したい列を選択
  2. Ctrlキーを押しながら選択したい2個目以降の列を選択します。
    下図の例では、B列とC列が選択されています。3個以上を選択することが可能です。

メニューから列を選択

メニューから列を選択することもできます。この場合は未選択の列が非表示になる点が上記迄と異なります。

  1. [列の選択]アイコンを選択します。
  2. [列の選択]を選択します。
  3. 選択したい列にチェックを入れます。

選択した列だけが表示されます。

関数としてTable.SelectColumnsが使われています。引数として列名が指定されています。
Table.SelectColumns(変更された型,{“B列”, “D列”})

列名の変更

列名の変更方法です。取り込み元のファイルのヘッダー名がデフォルトで表示されていますが、取り込み後に処理し易い名称としておくことをお勧めします。

直接列名を変更する

列名をダブルクリップすることで列名を変更することができます。

直接列名を変更

メニューから列名を変更する

メニューより列名を変更する手順です。RPA等を使う場合はこの方法を選択した方が良いでしょ。

  1. 列の名称を変更したい列を選択
  2. [変換]タブを選択
  3. [名前の変更を選択]
  4. 列名を変更
メニューから列名を変更

コードで列名を変更する

上記で説明したように画面上やメニューから列名を変更するとコードが自動生成されます。つまりコードで列名の変更をすることが可能です。

Table.RenameColumns関数を使うことで、列名の変更をすることができます。以下の例では、「A列」を「果物」へ「B列」を「名前」に変換しています。

Table.RenameColumns(変更された型,{{“A列”, “果物”}, {“B列”, “名前”}})

関数の詳細については、以下Microsoft公式サイトをご参照ください。

あわせて読みたい
Table.RenameColumns - PowerQuery M 詳細については、以下をご覧ください。Table.RenameColumns

列の移動

続いて列の移動方法について解説します。見やすいデータベースにするには列の位置が重要になってきますので、列の移動は頻繁に行うことになります。

連続する複数列の移動

Shiftキーで列を選択したあとにドラック&ドロップで移動させる方法です。

以下動画の例では、連続するB列~D列を選択して移動させています。

連続する複数列の移動

連続しない複数列の移動

Ctrlキーを押下しながら移動列を選択してドラック&ドロップで移動させる方法です。

以下動画の例では、Ctrlキーを押下しながらE列→B列→D列の順番で選択して移動させています。ポイントは、移動後に選択した順番通りになっている点です。列の並び替えを行う時は便利です。

連続しない複数列の移動

メニューからの列移動

メニューから列を移動する方法を解説します。

  1. 移動したい列を選択
  2. [変換]タブを押下
  3. 移動アイコンから列の移動先を選択

コードで列移動する方法

上記で説明したようにマウスで列移動するとコードが自動生成されます。つまりコードで列の並び順を指定することができるのです。

Table.ReorderColumns関数を使うことで、列の順番を指定することができます。以下の例では、E列→B列→D列→A列→C列の順番で列が並ぶように指定しています。

= Table.ReorderColumns(変更された型,{“E列”, “B列”, “D列”, “A列”, “C列”})

関数の詳細については、以下Microsoft公式サイトをご参照ください。

あわせて読みたい
Table.ReorderColumns - PowerQuery M 詳細については、以下をご覧ください。Table.ReorderColumns

列の削除

列の削除方法です。

単一列の削除

単一列の削除方法です。

  1. 削除したい列を選択
  2. [列の削除]アイコンを選択
  3. [列の削除]を押下
単一列の削除

複数列の削除

複数列の削除方法です。

  1. 削除したい複数の列を選択
  2. [列の削除]アイコンを選択
  3. [列の削除]を押下
複数列の削除

選択した列以外の削除

選択した列以外を削除する方法です。99列あって1列以外消したい場合に、98列を選択して削除するのは大変ですよね。

  1. 残したい列を選択
  2. [列の削除]アイコンを選択
  3. [他の列の削除]を押下

コードで列を削除する方法

関数で列削除をする方法です。上記の対応を行うと自動生成されるコードです。

列の削除

Table.RemoveColumns関数で、削除する列を指定することができます。

= Table.RemoveColumns(変更された型,{"B列", "D列"})

その他列の削除

Table.SelectColumns関数は指定した列以外が削除されます。

= Table.SelectColumns(変更された型,{"A列", "C列", "E列"})

列の結合

パワークエリでは関数を使わずに列と列を簡単に結合することができます。

STEP
結合する列の選択
  1. 結合したい列を選択(下図の例では、C列とD列を選択した状態)
  2. [列の追加]タブの[列のマージ]を押下します。
STEP
結合条件を指定

列と列の間の区切り記号と列名を指定します。

  1. [区切り記号]から列と列の間の区切りをする文字や記号を選択
  2. [新しい列名(オプション)]作成される列の名称を記入
STEP
結合完成

結合されると下図のように、結合後の列が追加されます。指定通りコンマ区切りで結合されていることが確認できます。

列の分割

パワークエリでは関数を使わずに指定した条件で列内のデータを分割することが可能です。

練習用Excelのダウンロード

説明で利用するExcelファイルをダウンロードして実際に操作をしてみましょう。

半角スペースで分割

半角スペースを分割条件にして列内データを分割します。サンプルデータのName列の名前を姓と名の列に分割します。

STEP
分割列の選択
  1. 分割したい列を選択
  2. [ホーム]タブ>[列の分割]>[区切り記号による分割]を選択
STEP
分割条件を指定
  1. 区切り記号に[カスタム]を選択
  2. 区切る文字や記号を指定できるので半角スペースを入力
STEP
列が分割された

下図のように列が半角スペースで分割されました。

指定文字数で分割

明示的に指定した文字数ので分割することができます。

下の説明では、2005846xという数字を200と5846xに2分割します。

STEP
分割列の選択
  1. 分割したい列を選択
  2. [ホーム]タブ>[列の分割]>[文字数による分割]を選択
STEP
分割する文字数を指定
  1. 文字数を指定
  2. [できるだけ左側で1回]を選択
STEP
列が分割された

指定した文字数ので分割されていることが確認できます。

指定位置で分割

明示的に指定した位置で分割することができます。

下の説明では、2005846xという数字を200と58と46xに3分割します。

STEP
分割列の選択
  1. 分割したい列を選択
  2. [ホーム]タブ>[列の分割]>[文字数による分割]を選択
STEP
分割する文字位置を指定

分割する文字の位置を指定します。(下図の例では、0,3,5 と指定しています。)

STEP
列が分割された

指定した文字位置で分割されていることが確認できます。

大文字→小文字で分割

大文字から小文字に移行する処理に基づいて分割させることもできます。

下の説明していますが、例えば名前がFumiya Tanakaであれば、大文字→小文字で分割されるので、[F][umiya T][anaka] と3分割さます。

STEP
分割列の選択
  1. 分割したい列を選択
  2. [ホーム]タブ>[列の分割]>[大文字から小文字による分割]を選択
STEP
列が分割された

大文字→小文字で分割されていることが確認できます。

パワークエリ学習コンテンツ

全11回の学習コンテンツでパワークエリを習得することができます。

コメント

コメントする

目次