Power Query:IF 文 – 入れ子の IF および複数条件
Excel Power Query では、IF 文は条件を評価し、その結果が TRUE または FALSE に応じて特定の値を返す最も一般的な関数の一つです。この IF 文は、Excel の IF 関数とはいくつかの点で異なります。本チュートリアルでは、Power Query における IF 文の構文と、簡単なケースから複雑なケースまでをご紹介します。
M コードを記述することによる Power Query の IF 文
Power Query の基本的な IF 文の構文
Power Query での構文は次のとおりです。
- logical_test:テストしたい条件を指定します。
- value_if_true:条件が TRUE の場合に返される値です。
- value_if_false:条件が FALSE の場合に返される値です。
Excel Power Query では、このような条件付きロジックを実現する方法が二つあります。
- いくつかの基本的なシナリオでは、条件付き列機能をご利用ください。
- より高度なシナリオには、M コードを記述します。
次のセクションでは、この IF 文の活用例をいくつかご紹介します。
条件付き列を使用した Power Query の IF 文
例 1:基本的な IF 文
ここでは、Power Query でこの IF 文を使う方法をご紹介します。たとえば、次のような商品レポートがあるとします。商品のステータスが「Old」なら50% 割引を、「New」なら20% 割引を表示します(以下のスクリーンショット参照)。

1。ワークシートでデータテーブルを選択し、Excel 2019 およびExcel 365 では、次のようにクリックします。データ>テーブル/範囲から(スクリーンショット参照)。
![Excel 2019 および Excel 365 で、[テーブル/範囲から] オプションが強調表示された [データ] タブのスクリーンショット](http://cdn.extendoffice.com/images/stories/doc-excel/power-query-if-statement/doc-if-statement-2.png)
注:Excel 2016 およびExcel 2021 では、次のように操作します。データ > テーブルから(スクリーンショット参照)。
![Excel 2016 および Excel 2021 で、[テーブルから] オプションが強調表示された [データ] タブのスクリーンショット](http://cdn.extendoffice.com/images/stories/doc-excel/power-query-if-statement/doc-if-statement-3.png)
2。次に、開いたPower Query エディターウィンドウで、列の追加 > 条件付き列をクリックします(スクリーンショット参照)。
![[列の追加] および [条件付き列] オプションが強調表示された Power Query エディターのスクリーンショット](http://cdn.extendoffice.com/images/stories/doc-excel/power-query-if-statement/doc-if-statement-4.png)
3。条件付き列の追加ダイアログが表示されたら、次の操作を行います。
- 新しい列名:新しい列の名前を入力してください。
- 次に、必要な条件を指定します。たとえば、次のように指定します。ステータスが「Old」なら50%、それ以外は20%。
- 列名:IF 条件の評価対象となる列です。「ステータス」を選択してください。
- 演算子:条件式で使用するロジックです。選択した列名のデータ型によって、利用可能なオプションが異なります。
- テキスト:「次のように始まる」「次のように始まらない」「等しい」「含む」など。
- 数値:等しい、等しくない、以上、など。
- 日付:次より前、次より後、等しい、または等しくないなど。
- 値:評価と比較する具体的な値です。この値は列名および演算子とともに、条件を構成します。
- 出力:条件が満たされたときに返される値です。
- Else(それ以外):条件が偽の場合に返される値です。
![Power Query の [条件付き列の追加] ダイアログ ボックスで条件が設定されているスクリーンショット](http://cdn.extendoffice.com/images/stories/doc-excel/power-query-if-statement/doc-if-statement-5.png)
4。次に、OKボタンをクリックしてPower Query エディターウィンドウに戻ると、新しい割引列が追加されています(スクリーンショット参照)。

5。数値をパーセンテージ形式に変更するには、ABC123アイコンを割引列のヘッダーからクリックし、必要に応じてパーセンテージを選択してください(スクリーンショット参照)。

6。最後に、ホーム > 閉じて読み込む > 閉じて読み込むをクリックして、このデータを新しいワークシートに読み込みます。
![ワークシートにデータを読み込むための Power Query の [閉じて読み込む] オプションのスクリーンショット](http://cdn.extendoffice.com/images/stories/doc-excel/power-query-if-statement/doc-if-statement-8.png)
例 2:複雑な IF 文
この条件付き列オプションを使えば、条件付き列の追加ダイアログに2 つ以上の条件を簡単に挿入できます。以下の手順で操作してください。
1。データテーブルを選択し、Power Query エディターウィンドウを開くには、データ > テーブル/範囲からをクリックします。新しいウィンドウで、列の追加 > 条件付き列をクリックしてください。
2。表示された条件付き列の追加ダイアログボックスで、次の操作を行ってください。
- 新しい列名テキストボックスに、新しい列の名前を入力します。
- 最初の条件フィールドに最初の条件を入力し、必要に応じて条件を追加ボタンをクリックして、さらに条件フィールドを追加してください。
![複数の条件が設定された Power Query の [条件付き列の追加] ダイアログ ボックスのスクリーンショット](http://cdn.extendoffice.com/images/stories/doc-excel/power-query-if-statement/doc-if-statement-9.png)
3。条件の入力を終えたら、OKボタンをクリックしてPower Query Editorウィンドウに戻ります。すると、必要な結果に対応する新しい列が表示されます。スクリーンショットを参照してください:

4。最後に、ホーム > 閉じて読み込む > 閉じて読み込むをクリックして、このデータを新しいワークシートに読み込みます。
M コードを記述することによる Power Query の IF 文
通常、「条件付き列」は基本的なシナリオに役立ちますが、AND や OR の論理演算を使って複数の条件を適用したい場合もあります。こうした複雑なシナリオでは、「カスタム列」に M コードを記述する必要があります。
例 1:基本的な if 文
最初のデータを例に挙げると、商品ステータスが「Old」の場合は50%割引を、商品ステータスが「New」の場合は20%割引を表示します。M コードを記述するには、次のように操作してください:
1。データ>テーブル/範囲からをクリックして、テーブルを選択し、Power Query Editorウィンドウを開きます。
2。開いたウィンドウで、列の追加 > カスタム列をクリックします。スクリーンショットを参照してください:
![[列の追加] および [カスタム列] オプションが強調表示された Power Query エディターのスクリーンショット](http://cdn.extendoffice.com/images/stories/doc-excel/power-query-if-statement/doc-if-statement-11.png)
3。表示されたカスタム列ダイアログボックスで、以下の操作を行ってください:
- 新しい列名テキストボックスに、新しい列の名前を入力します。
- 次に、if [Status] = 「Old 」 then "50% " else "20% "をカスタム列式ボックスに入力します。
![Power Query の [カスタム列] ダイアログ ボックスで基本的な IF 式が入力されているスクリーンショット](http://cdn.extendoffice.com/images/stories/doc-excel/power-query-if-statement/doc-if-statement-12.png)
4。次に、OKをクリックしてこのダイアログボックスを閉じると、必要な結果が得られます:

5。最後に、ホーム > 閉じて読み込む > 閉じて読み込むをクリックして、このデータを新しいワークシートに読み込みます。
例 2:複雑な if 文
通常、複数の条件をチェックするには、複数の if 文をネストできます。たとえば、次のようなデータテーブルがあるとします。「Dress」の場合は定価から50%割引、「Sweater」または「Hoodie」の場合は20%割引を適用し、その他の商品は定価のままとします。

1。データ > テーブル/範囲からをクリックして、データテーブルを選択し、Power Query Editorウィンドウを開きます。
2。開いたウィンドウで、列の追加 > カスタム列をクリックします。表示されたカスタム列ダイアログボックスで、次の操作を行ってください:
- 新しい列名テキストボックスに、新しい列の名前を入力します。
- 次に、以下の式をカスタム列式ボックスに入力してください。
- = if [Product] = 「Dress」 then [Price] * 0.5 else
if [Product] = 「Sweater」 then [Price] * 0.8 else
if [Product] = 「Hoodie」 then [Price] * 0.8
else [Price]
![Power Query の [カスタム列] ダイアログ ボックスで入れ子になった IF 式が入力されているスクリーンショット](http://cdn.extendoffice.com/images/stories/doc-excel/power-query-if-statement/doc-if-statement-15.png)
3。次に、OKボタンをクリックしてPower Query Editorウィンドウに戻ると、必要なデータを含む新しい列が表示されます。スクリーンショットを参照してください:

4。最後に、ホーム>閉じて読み込む>閉じて読み込むをクリックして、このデータを新しいワークシートに読み込みましょう。
OR 論理は複数の条件を同時に評価し、そのうち少なくとも1 つが真であれば、結果として「真」を返します。構文は次のとおりです:
たとえば、次のようなテーブルがあるとします。ここで、「Dress」または「T-shirt」の場合はブランドを「AAA」に、その他の商品のブランドは「BBB」に設定した新しい列を表示したいとします。

1。データテーブルを選択し、データ>テーブル/範囲からをクリックしてPower Query Editorウィンドウを開きます。
2。開いたウィンドウで、列の追加>カスタム列をクリックすると、表示されます。カスタム列ダイアログボックスで、次の操作を行ってください:
- 新しい列名テキストボックスに、新しい列の名前を入力します。
- 次に、以下の式をカスタム列の式ボックスに入力してください。
- = if [Product] = "Dress" or [Product] = "T-shirt" then "AAA"
else 「BBB」
![Power Query の [カスタム列] ダイアログ ボックスで OR ロジックの式が入力されているスクリーンショット](http://cdn.extendoffice.com/images/stories/doc-excel/power-query-if-statement/doc-if-statement-18.png)
3。次に、OKボタンをクリックしてPower Query Editorウィンドウに戻ると、必要なデータを含む新しい列が表示されます。スクリーンショットをご参照ください。

4。最後に、ホーム>閉じて読み込む>閉じて読み込むをクリックして、このデータを新しいワークシートに読み込みましょう。
AND 論理は、単一の if 文内で複数の条件を同時に評価します。結果が真となるには、すべての条件が真である必要があります。いずれか一つでも偽であれば、結果は偽になります。構文は次のとおりです:
上記のデータを例に挙げます。次のように新しい列を表示したいとします。「Dress」かつ注文数が300 より大きい場合は定価に50%割引を適用し、それ以外の場合は定価のままとします。
1。データテーブルを選択して、データ>テーブル/範囲からをクリックしてPower Query Editorウィンドウを開きます。
2。開いたウィンドウで、列の追加 > カスタム列を選択してください。表示されたカスタム列ダイアログボックスで、次の操作を行ってください:
- 新しい列名テキストボックスに、新しい列の名前を入力します。
- 次に、以下の式をカスタム列の式ボックスに入力してください。
- = if [Product] =「Dress」 and [Order] > 300 then [Price]*0.5
else [Price]
![Power Query の [カスタム列] ダイアログ ボックスで AND ロジックの式が入力されているスクリーンショット](http://cdn.extendoffice.com/images/stories/doc-excel/power-query-if-statement/doc-if-statement-20.png)
3。次に、OKボタンをクリックしてPower Query Editorウィンドウに戻ると、必要なデータを含む新しい列が表示されます。スクリーンショットをご参照ください。

4。最後に、ホーム > 閉じて読み込む > 閉じて読み込むをクリックして、このデータを新しいワークシートに読み込む必要があります。
これまでの例は理解しやすいものでした。次に、もう少し難しくしてみましょう。AND と OR を組み合わせることで、思いつくあらゆる条件を作成できます。このようなケースでは、式の中に括弧を使用して複雑なルールを定義できます。
上記のデータを再び例に挙げます。「Dress」かつ注文数が300 より大きい、または「Trousers」かつ注文数が300 より大きい場合、「A+」を表示し、それ以外は「Other」を表示するとします。
1。データテーブルを選択し、データ>テーブル/範囲からをクリックしてPower Query Editorウィンドウを開きます。
2。開いたウィンドウで、列の追加>カスタム列。表示されましたカスタム列ダイアログボックスで、次の操作を行ってください:
- 新しい列名テキストボックスに、新しい列の名前を入力します。
- 次に、以下の式をカスタム列の式ボックスに入力してください。
- =if ([Product] = 「Dress」 and [Order] > 300 ) or
([Product] = 「Trousers」 and [Order] > 300 )
then 「A+」
else 「Other」
![Power Query の [カスタム列] ダイアログ ボックスで AND と OR のロジックが組み合わされた式が入力されているスクリーンショット](http://cdn.extendoffice.com/images/stories/doc-excel/power-query-if-statement/doc-if-statement-22.png)
3。次に、OKボタンをクリックしてPower Query Editorウィンドウに戻ります。これで、必要なデータを含む新しい列が表示されます。スクリーンショットを参照してください:

4。最後に、ホーム>閉じて読み込む>閉じて読み込むこのデータを新しいワークシートに読み込むには、をクリックしてください。
カスタム列の数式ボックスでは、次の論理演算子を使用できます:
- =:等しい
- ≠:等しくない
- >:より大きい
- >=:次以上
- <:より小さい
- <=:次以下
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得