【Excel】Power Queryの条件列で計算式なしに新しい列を追加する方法

【Excel】Power Queryの条件列で計算式なしに新しい列を追加する方法
🛡️ 超解決

Excelでデータを加工する際、特定の条件に基づいて新しい列を追加したい場面は多いでしょう。

しかし、複雑な条件分岐や、数式での実現が難しい場合に、どうすれば良いか迷うことがあります。

この記事では、ExcelのPower Query機能を使って、計算式を入力することなく、直感的に条件列を追加する方法を解説します。

Power Queryの「条件列の追加」機能を使えば、ビジネスロジックに基づいたデータ加工が驚くほど簡単になります。

【要点】Power Queryで条件分岐して新しい列を作成する手順

  • 条件列の追加: 既存の列の値に基づいて新しい列に値を設定する。
  • 条件の指定: 「次と等しい」「次より大きい」などの条件で分岐を設定する。
  • 分岐の設定: 条件に合致した場合の出力値と、合致しなかった場合の代替値を指定する。

ADVERTISEMENT

Power Queryの条件列追加機能の概要

Power Queryは、Excelに搭載されている強力なデータ加工・整形ツールです。大量のデータを効率的に取り込み、クレンジング、変換、結合する際に役立ちます。

特に、既存のデータから新しい情報を生成したい場合、条件に基づいて列を作成する機能は非常に便利です。

この「条件列の追加」機能を使えば、Excelの数式のように複雑な関数を記述する必要がありません。

GUI(グラフィカルユーザーインターフェース)上で、条件と結果を分かりやすく設定できるため、プログラミングの知識がない方でも容易に利用できます。

例えば、売上金額に基づいて「高額」「通常」「低額」といったステータスを付与したり、顧客の年齢区分によって「若年層」「中年層」「高齢層」などのグループ分けを行ったりする際に活用できます。

お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

Power Queryで条件列を追加する手順

ここでは、Power Queryエディターを使って、既存の列の値に基づいて新しい条件列を追加する具体的な手順を解説します。

  1. Excelでデータを準備する
    Power Queryで読み込みたいデータがExcelシートに準備されていることを確認します。
  2. テーブルとして認識させる
    データ範囲を選択し、「挿入」タブの「テーブル」をクリックして、データをテーブル形式に変換します。
  3. Power Queryエディターを開く
    テーブルを選択した状態で、「データ」タブの「テーブルまたは範囲から」をクリックします。これにより、Power Queryエディターが起動します。
  4. 「条件列の追加」を選択する
    Power Queryエディターのリボンメニューにある「列の追加」タブをクリックします。「条件列」という項目を選択してください。
  5. 条件列の設定ウィンドウを開く
    「条件列の追加」をクリックすると、「条件列の追加」というタイトルのダイアログボックスが表示されます。
  6. 新しい列名を入力する
    ダイアログボックスの「新しい列名」欄に、新しく作成したい列の名前を入力します。例えば「売上カテゴリ」などと入力します。
  7. 最初の条件を指定する
    「列名」ドロップダウンリストから、条件判定の基にする既存の列を選択します。
  8. 演算子を選択する
    「演算子」ドロップダウンリストから、列の値と照合する条件を選択します。例えば、「次と等しい」「次より大きい」「次より小さい」「次で始まる」「次で終わる」「次を含む」などがあります。
  9. 条件の値を入力する
    「値」欄に、選択した演算子と照合する値を入力します。例えば、「演算子」で「次より大きい」を選択し、「値」に「10000」と入力すると、「10000より大きい」という条件になります。
  10. 条件に一致した場合の出力を設定する
    「出力」欄に、上記の条件に一致した場合に新しい列に表示したい値を入力します。例えば、売上金額が10000より大きい場合に「高額」と表示させたいなら、「高額」と入力します。
  11. 「または」で次の条件を追加する
    さらに別の条件分岐を追加したい場合は、「または」ボタンをクリックします。これにより、条件のセットが追加され、複数段階の条件分岐を設定できます。
  12. ネストされた条件を設定する
    「または」で追加した条件セットごとに、上記と同様に「列名」「演算子」「値」「出力」を設定します。Power Queryは、上から順に条件を評価し、最初に一致した条件の「出力」を採用します。
  13. 「それ以外」の値を設定する
    すべての条件に一致しなかった場合に表示される値を、「それ以外」欄に入力します。例えば、「高額」「通常」の条件を設定した場合、それ以外は「低額」と表示させる、といった設定が可能です。
  14. 設定を完了する
    すべての条件設定が終わったら、「OK」ボタンをクリックします。
  15. 結果を確認し、読み込む
    Power Queryエディターのプレビュー画面に、新しい条件列が追加されていることを確認します。問題がなければ、「ホーム」タブの「閉じて読み込む」をクリックして、Excelシートに結果を反映させます。

条件列追加時の注意点とよくある誤操作

Power Queryの条件列追加機能は非常に便利ですが、いくつか注意しておきたい点や、陥りやすい誤操作があります。

条件の順序と評価の仕組み

Power Queryは、設定した条件を上から順に評価します。最初に一致した条件の「出力」が採用され、それ以降の条件は評価されません。

そのため、条件の順序が非常に重要になります。

例えば、以下のような設定を考えます。

  • 条件1:売上 >= 10000 → 出力:「高額」
  • 条件2:売上 >= 5000 → 出力:「通常」
  • それ以外 → 出力:「低額」

この場合、売上15000のデータは条件1に一致するため「高額」と判定されます。

もし、条件2を先に設定してしまうと、売上15000のデータは条件2(売上 >= 5000)にも一致するため、「通常」と判定されてしまい、意図した結果が得られません。

したがって、より厳しい条件(例えば「以上」や「以下」)を先に設定し、徐々に緩い条件を設定するように心がけましょう。

「それ以外」の条件の重要性

「それ以外」の欄は、設定したすべての条件に一致しなかった場合に適用される値です。

この欄を空欄のままにしておくと、どの条件にも一致しなかったデータは「null」(空白)として表示されてしまいます。

意図しない「null」値が発生するのを防ぐため、必ず「それ以外」に適切な値を設定しておきましょう。

例えば、すべての売上パターンを網羅できない場合でも、「未分類」や「その他」といった汎用的な値を設定しておくと、データの欠損を防ぐことができます。

データ型の一致

条件列の追加機能では、比較する「列名」と「値」のデータ型が一致している必要があります。

例えば、数値型の列(売上金額など)と比較する場合、「値」欄にも数値を入力する必要があります。文字列(テキスト)を入力すると、正しく判定されないことがあります。

もし、データ型が一致しない場合は、事前に「列の型を変更」機能を使って、対象の列のデータ型を数値型やテキスト型などに変換しておきましょう。

Power Queryエディターの左端にあるアイコンでデータ型を確認・変更できます。

演算子の選択ミス

「演算子」の選択を間違えると、条件判定が意図しない結果になります。

例えば、「次と等しい」で「A」と設定した場合、完全に「A」と一致する値のみが対象になります。

「次を含む」であれば、「A」という文字が含まれていればOKです。

「次より大きい」と「以上」のように、境界値の扱いが異なる演算子もあります。

設定したい条件に合わせて、正確な演算子を選択することが重要です。

ネストされた条件の複雑化

条件分岐を重ねすぎると、「条件列の追加」ダイアログボックスが非常に長くなり、管理が難しくなります。

もし、5つ以上の複雑な条件分岐が必要な場合は、Power QueryのM言語を直接編集するか、複数の条件列を作成して段階的に処理する方が、後々のメンテナンスが容易になる場合があります。

M言語の編集は「ホーム」タブの「詳細エディター」から行えます。

ADVERTISEMENT

Power Queryにおける条件列の活用事例

Power Queryの条件列追加機能は、様々なビジネスシーンで活用できます。

売上データのカテゴリ分け

売上金額の列があり、その金額に応じて「高額」「通常」「低額」といったカテゴリに分類したい場合。

  • 条件1:売上 >= 100,000 → 出力:「高額」
  • 条件2:売上 >= 50,000 → 出力:「通常」
  • それ以外 → 出力:「低額」

このように設定することで、集計や分析が容易になります。

在庫状況のステータス化

在庫数の列があり、その数に応じて「在庫あり」「残りわずか」「在庫切れ」などのステータスを付与したい場合。

  • 条件1:在庫数 <= 0 → 出力:「在庫切れ」
  • 条件2:在庫数 <= 10 → 出力:「残りわずか」
  • それ以外 → 出力:「在庫あり」

在庫管理の効率化に役立ちます。

顧客セグメンテーション

購入回数や購入金額などのデータから、顧客を「優良顧客」「一般顧客」「新規顧客」などに分類したい場合。

  • 条件1:購入回数 >= 10 → 出力:「優良顧客」
  • 条件2:購入金額 >= 50,000 → 出力:「優良顧客」
  • 条件3:購入回数 >= 3 → 出力:「一般顧客」
  • それ以外 → 出力:「新規顧客」

マーケティング戦略の立案に活用できます。

評価やスコアリング

複数の評価項目がある場合に、それらを総合して最終的な評価(A, B, Cなど)を付けたい場合。

例えば、テストの点数やアンケートの回答内容に基づいて、成績や満足度を判定する際に利用できます。

Power QueryとExcel関数の比較

Power Queryの条件列追加機能と、Excelの数式(IF関数など)を比較してみましょう。

項目 Power Query「条件列の追加」 Excel「IF関数」
操作の直感性 GUIベースで設定が容易 数式記述が必要
複数条件の分岐 「または」でネスト可能、視覚的 IF関数をネストさせる必要あり、複雑化しやすい
データ量への対応 大量データ処理に強い、自動更新可能 データ量が多いとパフォーマンスが低下しやすい
メンテナンス性 GUIで修正が容易、ステップとして記録される 数式の修正が必要、入力ミスに注意
学習コスト 比較的低い 数式の知識が必要
適用箇所 Power Queryエディター内でのデータ変換 Excelシート上のセル

Power Queryの条件列追加機能は、計算式を書く手間を省き、視覚的に条件分岐を設定できる点が大きなメリットです。

特に、データの前処理段階で複雑な条件判定を行いたい場合や、Excelの数式が長くなりすぎて管理が難しくなった場合に有効です。

一方、ExcelのIF関数は、シート上でリアルタイムに計算結果を表示したい場合や、より細かい数式処理を行いたい場合に適しています。

どちらの機能も、目的に応じて使い分けることが重要です。

Power Queryで条件列を追加する方法を習得することで、Excelでのデータ分析やレポート作成の効率が格段に向上します。

複雑な条件分岐も、計算式を一切書かずに、直感的な操作で実現できるようになります。

ぜひ、この機能を活用して、データ加工のスピードアップと、より高度な分析に挑戦してみてください。

次回は、Power Queryでさらに高度なデータ変換を行う方法について解説します。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】