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

表の各レコードが奇数行か偶数行かを判定したいです。
Power Queryエディター上で判定する場合、どうしたら良いですか?

森田森田

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

Excelステップ講座

はじめに

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

参考記事

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

「剰余」の使いどころ

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

「剰余」コマンドのスコープ

機能自体は、ワークシート上のオートフィルや関数の「MOD」と似ています。
MODの詳細は、別記事にまとめる予定。

クエリ内の一連の整形作業の中でN行おきの連番を計算したい場合、Power Queryエディター上の「インデックス列」コマンドで0始まりの連番を用意した上で、「剰余」コマンドを使いましょう。

「剰余」コマンドの使いどころ

「剰余」コマンドを活用することで、選択した列を任意の数値で除算した際の剰余(余りの数)を計算できます。

この性質を使い、0始まりのインデックス列を任意の行数で除算することで、N行おきの連番を計算することが可能です。

具体的には、2行おきの連番(=奇数・偶数の判定)であれば、インデックス列を「2」で除算した際の剰余が「0」・「1」となり、レコードの数だけ「0」・「1」の連番がセットで割り当てされます。
「0」が奇数行、「1」が偶数行。

同様に、3行おきの連番であれば、レコードの数だけ「0」~「2」の連番がセットで割り当てされる等、N行おきの連番は自由に変更可能です。

このテクニックは、クエリのデータソースがデータベース形式以外の場合、データベース形式へレイアウトを変更する上で役立ちます。

参考記事

「インデックス列」コマンドの詳細は、以下の記事をご参照ください。

使用イメージ

「インデックス」列を「2」で除算した際の剰余を計算したイメージが以下です。

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

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

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

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

参考記事

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


ステップ登録手順

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

「剰余」コマンドのステップ登録手順

  1. 計算したい列を選択
    ※今回は「インデックス」列
  2. リボン「変換」タブをクリック
  3. 「標準」をクリック
  4. 「剰余」をクリック
  5. 任意の数値を入力
    ※今回は「2」
  6. 「OK」をクリック

手順⑤は、何行おきの連番にしたいかに応じ、2以上の整数を指定。

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

「剰余」コマンドで登録したステップを後から変更する場合、変更したい内容が計算対象の列か、除算する数値かで手順が異なります。

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

計算対象の列

剰余の計算対象の列を後から変更したい場合、以下の手順で変更しましょう。

「剰余」コマンドのステップ変更手順(計算対象の列)

  1. 「計算された剰余」ステップを削除(「×」をクリック)
  2. 再度「剰余」コマンドのステップ登録手順を実行

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

除算する数値

除算する数値を後から変更したい場合、以下の手順で変更しましょう。

「剰余」コマンドのステップ変更手順(除算する数値)

  1. 「計算された剰余」ステップの歯車マークをクリック
  2. 任意の数値へ修正
  3. 「OK」をクリック

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

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

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

サンプルファイル_PowerQueryデータ整形_剰余.xlsx

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

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

  1. 計算したい列を選択
    ※今回は「インデックス」列
  2. リボン「変換」タブをクリック
  3. 「標準」をクリック
  4. 「剰余」をクリック
  5. 任意の数値を入力
    ※今回は「2」
  6. 「OK」をクリック

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

さいごに

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

「剰余」コマンドは、選択した列を任意の数値で除算した際の剰余(余りの数)を計算できます。

「インデックス列」コマンドとセットで使うことで、N行おきの連番の計算に役立つため、ぜひ覚えておきましょう!

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


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

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

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

森田森田

「剰余」コマンドに慣れたら、他の数値列の計算に役立つコマンドもセットで覚えることをおすすめします。
具体的には、四則演算を計算できる「加算」・「減算」・「乗算」・「除算」コマンドや、端数処理を計算できる「丸め」コマンドです。
元データを集計/分析しやすくする際に便利なので、ケースに応じて活用していきましょう!