データベースの基本は行と列という2次元の構造になっています。パワークエリについてもこの2次元構造のデータを前提として処理されることになります。第3回目の講座ではパワークエリにおける列の操作を詳しく解説します。
列の選択
練習用エクセルを開き以下の通りパワークエリエディタを開いてください。
- [データ]タブ
- [テーブルまたは範囲]を押下
- [先頭行テーブルを見出しとして使用する]にチェックを入れる
単一列の選択
単一列を選択する場合は、単純で列のヘッダーを選択します。下図の例だとB列が選択された状態になっています。
選択されている列は緑色になります。
連続した複数列の選択
連続した複数の列を選択する方法です。
- 最初の列を選択
- Shiftキーを押しながら最終列を選択
連続していない複数列の選択
連続していない複数の列を選択する方法です。
- 選択したい列を選択
- Ctrlキーを押しながら選択したい2個目以降の列を選択します。
下図の例では、B列とC列が選択されています。3個以上を選択することが可能です。
メニューから列を選択
メニューから列を選択することもできます。この場合は未選択の列が非表示になる点が上記迄と異なります。
- [列の選択]アイコンを選択します。
- [列の選択]を選択します。
- 選択したい列にチェックを入れます。
選択した列だけが表示されます。
関数としてTable.SelectColumnsが使われています。引数として列名が指定されています。
Table.SelectColumns(変更された型,{“B列”, “D列”})
列名の変更
列名の変更方法です。取り込み元のファイルのヘッダー名がデフォルトで表示されていますが、取り込み後に処理し易い名称としておくことをお勧めします。
直接列名を変更する
列名をダブルクリップすることで列名を変更することができます。
メニューから列名を変更する
メニューより列名を変更する手順です。RPA等を使う場合はこの方法を選択した方が良いでしょ。
- 列の名称を変更したい列を選択
- [変換]タブを選択
- [名前の変更を選択]
- 列名を変更
コードで列名を変更する
上記で説明したように画面上やメニューから列名を変更するとコードが自動生成されます。つまりコードで列名の変更をすることが可能です。
Table.RenameColumns関数を使うことで、列名の変更をすることができます。以下の例では、「A列」を「果物」へ「B列」を「名前」に変換しています。
Table.RenameColumns(変更された型,{{“A列”, “果物”}, {“B列”, “名前”}})
関数の詳細については、以下Microsoft公式サイトをご参照ください。
列の移動
続いて列の移動方法について解説します。見やすいデータベースにするには列の位置が重要になってきますので、列の移動は頻繁に行うことになります。
連続する複数列の移動
Shiftキーで列を選択したあとにドラック&ドロップで移動させる方法です。
以下動画の例では、連続するB列~D列を選択して移動させています。
連続しない複数列の移動
Ctrlキーを押下しながら移動列を選択してドラック&ドロップで移動させる方法です。
以下動画の例では、Ctrlキーを押下しながらE列→B列→D列の順番で選択して移動させています。ポイントは、移動後に選択した順番通りになっている点です。列の並び替えを行う時は便利です。
メニューからの列移動
メニューから列を移動する方法を解説します。
- 移動したい列を選択
- [変換]タブを押下
- 移動アイコンから列の移動先を選択
コードで列移動する方法
上記で説明したようにマウスで列移動するとコードが自動生成されます。つまりコードで列の並び順を指定することができるのです。
Table.ReorderColumns関数を使うことで、列の順番を指定することができます。以下の例では、E列→B列→D列→A列→C列の順番で列が並ぶように指定しています。
= Table.ReorderColumns(変更された型,{“E列”, “B列”, “D列”, “A列”, “C列”})
関数の詳細については、以下Microsoft公式サイトをご参照ください。
列の削除
列の削除方法です。
単一列の削除
単一列の削除方法です。
- 削除したい列を選択
- [列の削除]アイコンを選択
- [列の削除]を押下
複数列の削除
複数列の削除方法です。
- 削除したい複数の列を選択
- [列の削除]アイコンを選択
- [列の削除]を押下
選択した列以外の削除
選択した列以外を削除する方法です。99列あって1列以外消したい場合に、98列を選択して削除するのは大変ですよね。
- 残したい列を選択
- [列の削除]アイコンを選択
- [他の列の削除]を押下
コードで列を削除する方法
関数で列削除をする方法です。上記の対応を行うと自動生成されるコードです。
列の削除
Table.RemoveColumns関数で、削除する列を指定することができます。
= Table.RemoveColumns(変更された型,{"B列", "D列"})
その他列の削除
Table.SelectColumns関数は指定した列以外が削除されます。
= Table.SelectColumns(変更された型,{"A列", "C列", "E列"})
列の結合
パワークエリでは関数を使わずに列と列を簡単に結合することができます。
- 結合したい列を選択(下図の例では、C列とD列を選択した状態)
- [列の追加]タブの[列のマージ]を押下します。
列と列の間の区切り記号と列名を指定します。
- [区切り記号]から列と列の間の区切りをする文字や記号を選択
- [新しい列名(オプション)]作成される列の名称を記入
結合されると下図のように、結合後の列が追加されます。指定通りコンマ区切りで結合されていることが確認できます。
列の分割
パワークエリでは関数を使わずに指定した条件で列内のデータを分割することが可能です。
半角スペースで分割
半角スペースを分割条件にして列内データを分割します。サンプルデータのName列の名前を姓と名の列に分割します。
- 分割したい列を選択
- [ホーム]タブ>[列の分割]>[区切り記号による分割]を選択
- 区切り記号に[カスタム]を選択
- 区切る文字や記号を指定できるので半角スペースを入力
下図のように列が半角スペースで分割されました。
指定文字数で分割
明示的に指定した文字数ので分割することができます。
下の説明では、2005846xという数字を200と5846xに2分割します。
- 分割したい列を選択
- [ホーム]タブ>[列の分割]>[文字数による分割]を選択
- 文字数を指定
- [できるだけ左側で1回]を選択
指定した文字数ので分割されていることが確認できます。
指定位置で分割
明示的に指定した位置で分割することができます。
下の説明では、2005846xという数字を200と58と46xに3分割します。
- 分割したい列を選択
- [ホーム]タブ>[列の分割]>[文字数による分割]を選択
分割する文字の位置を指定します。(下図の例では、0,3,5 と指定しています。)
指定した文字位置で分割されていることが確認できます。
大文字→小文字で分割
大文字から小文字に移行する処理に基づいて分割させることもできます。
下の説明していますが、例えば名前がFumiya Tanakaであれば、大文字→小文字で分割されるので、[F][umiya T][anaka] と3分割さます。
- 分割したい列を選択
- [ホーム]タブ>[列の分割]>[大文字から小文字による分割]を選択
大文字→小文字で分割されていることが確認できます。
パワークエリ学習コンテンツ
-
【初心者向け】パワークエリ入門:ETLツールを使ってエクセルデータを簡単に整形・統合しよう!(1/11)
-
【実践ガイド】パワークエリでデータ収集:Excel、CSV、PDF、Webデータを簡単に取り込む方法をマスターしよう!(2/11)
-
【総力特集】パワークエリで列操作をマスター:選択、変更、移動、削除、結合、分割の詳細解説&実践テクニック!(3/11)
-
【徹底解説】パワークエリで行操作をマスター!フィルター・保持・削除テクニックと練習用エクセルで実践学習(4/11)
-
パワークエリでデータクレンジング: 文字列結合、0埋め、テキスト関数をマスター(5/11)
-
パワークエリで四捨五入、切り捨て、切り上げをマスターする方法(6/11)
-
パワークエリで効率的なデータグループ化を実現する方法(7/11)
-
パワークエリで時間と日付の計算をマスター!便利な関数を使って効率アップ(8/11)
-
パワークエリで条件別集計をマスターする方法(9/11)
-
Excelパワークエリでクロス集計表とデータベース形式を瞬時に変換する方法(10/11)
-
Excelパワークエリ入門: 効率的なデータ整理をマスターしよう!(11/11)
コメント