KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Power Query:IF 文 – 入れ子の IF および複数条件

著者Xiaoyang変更日

Excel Power Query では、IF 文は条件を評価し、その結果が TRUE または FALSE に応じて特定の値を返す最も一般的な関数の一つです。この IF 文は、Excel の IF 関数とはいくつかの点で異なります。本チュートリアルでは、Power Query における IF 文の構文と、簡単なケースから複雑なケースまでをご紹介します。

Power Query の基本的な IF 文の構文

条件付き列を使用した Power Query の IF 文

M コードを記述することによる Power Query の IF 文


Power Query の基本的な IF 文の構文

Power Query での構文は次のとおりです。

= if 論理テスト then 真の場合の値 else 偽の場合の値
  • logical_test:テストしたい条件を指定します。
  • value_if_true:条件が TRUE の場合に返される値です。
  • value_if_false:条件が FALSE の場合に返される値です。
注記:Power Query の if 文は大文字と小文字を区別します。if、then、else はすべて小文字で記述する必要があります。

Excel Power Query では、このような条件付きロジックを実現する方法が二つあります。

  • いくつかの基本的なシナリオでは、条件付き列機能をご利用ください。
  • より高度なシナリオには、M コードを記述します。

次のセクションでは、この IF 文の活用例をいくつかご紹介します。


条件付き列を使用した Power Query の IF 文

例 1:基本的な IF 文

ここでは、Power Query でこの IF 文を使う方法をご紹介します。たとえば、次のような商品レポートがあるとします。商品のステータスが「Old」なら50% 割引を、「New」なら20% 割引を表示します(以下のスクリーンショット参照)。

Excel で商品ステータス列と割引列が追加された商品レポートを示すスクリーンショット

1。ワークシートでデータテーブルを選択し、Excel 2019 およびExcel 365 では、次のようにクリックします。データ>テーブル/範囲から(スクリーンショット参照)。

Excel 2019 および Excel 365 で、[テーブル/範囲から] オプションが強調表示された [データ] タブのスクリーンショット

:Excel 2016 およびExcel 2021 では、次のように操作します。データ > テーブルから(スクリーンショット参照)。

Excel 2016 および Excel 2021 で、[テーブルから] オプションが強調表示された [データ] タブのスクリーンショット

2。次に、開いたPower Query エディターウィンドウで、列の追加 > 条件付き列をクリックします(スクリーンショット参照)。

[列の追加] および [条件付き列] オプションが強調表示された Power Query エディターのスクリーンショット

3条件付き列の追加ダイアログが表示されたら、次の操作を行います。

  • 新しい列名:新しい列の名前を入力してください。
  • 次に、必要な条件を指定します。たとえば、次のように指定します。ステータスが「Old」なら50%、それ以外は20%
ヒント:
  • 列名:IF 条件の評価対象となる列です。「ステータス」を選択してください。
  • 演算子:条件式で使用するロジックです。選択した列名のデータ型によって、利用可能なオプションが異なります。
    • テキスト:「次のように始まる」「次のように始まらない」「等しい」「含む」など。
    • 数値:等しい、等しくない、以上、など。
    • 日付:次より前、次より後、等しい、または等しくないなど。
  • :評価と比較する具体的な値です。この値は列名および演算子とともに、条件を構成します。
  • 出力:条件が満たされたときに返される値です。
  • Else(それ以外):条件が偽の場合に返される値です。

Power Query の [条件付き列の追加] ダイアログ ボックスで条件が設定されているスクリーンショット

4。次に、OKボタンをクリックしてPower Query エディターウィンドウに戻ると、新しい割引列が追加されています(スクリーンショット参照)。

新しい割引列が追加された Power Query エディターのスクリーンショット

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

割引列をパーセンテージ形式に設定するために ABC123 アイコンがクリックされているスクリーンショット

6。最後に、ホーム > 閉じて読み込む > 閉じて読み込むをクリックして、このデータを新しいワークシートに読み込みます。

ワークシートにデータを読み込むための Power Query の [閉じて読み込む] オプションのスクリーンショット


例 2:複雑な IF 文

この条件付き列オプションを使えば、条件付き列の追加ダイアログに2 つ以上の条件を簡単に挿入できます。以下の手順で操作してください。

1。データテーブルを選択し、Power Query エディターウィンドウを開くには、データ > テーブル/範囲からをクリックします。新しいウィンドウで、列の追加 > 条件付き列をクリックしてください。

2。表示された条件付き列の追加ダイアログボックスで、次の操作を行ってください。

  • 新しい列名テキストボックスに、新しい列の名前を入力します。
  • 最初の条件フィールドに最初の条件を入力し、必要に応じて条件を追加ボタンをクリックして、さらに条件フィールドを追加してください。

複数の条件が設定された Power Query の [条件付き列の追加] ダイアログ ボックスのスクリーンショット

3。条件の入力を終えたら、OKボタンをクリックしてPower Query Editorウィンドウに戻ります。すると、必要な結果に対応する新しい列が表示されます。スクリーンショットを参照してください:

複数の条件が適用された新しい列を表示する Power Query エディターのスクリーンショット

4。最後に、ホーム > 閉じて読み込む > 閉じて読み込むをクリックして、このデータを新しいワークシートに読み込みます。


M コードを記述することによる Power Query の IF 文

通常、「条件付き列」は基本的なシナリオに役立ちますが、AND や OR の論理演算を使って複数の条件を適用したい場合もあります。こうした複雑なシナリオでは、「カスタム列」に M コードを記述する必要があります。

例 1:基本的な if 文

最初のデータを例に挙げると、商品ステータスが「Old」の場合は50%割引を、商品ステータスが「New」の場合は20%割引を表示します。M コードを記述するには、次のように操作してください:

1データ>テーブル/範囲からをクリックして、テーブルを選択し、Power Query Editorウィンドウを開きます。

2。開いたウィンドウで、列の追加 > カスタム列をクリックします。スクリーンショットを参照してください:

[列の追加] および [カスタム列] オプションが強調表示された Power Query エディターのスクリーンショット

3。表示されたカスタム列ダイアログボックスで、以下の操作を行ってください:

  • 新しい列名テキストボックスに、新しい列の名前を入力します。
  • 次に、if [Status] = 「Old 」 then "50% " else "20% "カスタム列ボックスに入力します。

Power Query の [カスタム列] ダイアログ ボックスで基本的な IF 式が入力されているスクリーンショット

4。次に、OKをクリックしてこのダイアログボックスを閉じると、必要な結果が得られます:

カスタム式を適用した後の新しい列を表示する Power Query エディターのスクリーンショット

5。最後に、ホーム > 閉じて読み込む > 閉じて読み込むをクリックして、このデータを新しいワークシートに読み込みます。


例 2:複雑な if 文

入れ子の IF 文

通常、複数の条件をチェックするには、複数の if 文をネストできます。たとえば、次のようなデータテーブルがあるとします。「Dress」の場合は定価から50%割引、「Sweater」または「Hoodie」の場合は20%割引を適用し、その他の商品は定価のままとします。

Power Query での入れ子になった IF の例に使用される商品名と価格のデータセットのスクリーンショット

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 式が入力されているスクリーンショット

3。次に、OKボタンをクリックしてPower Query Editorウィンドウに戻ると、必要なデータを含む新しい列が表示されます。スクリーンショットを参照してください:

入れ子になった IF ロジックが適用された新しい列を表示する Power Query エディターのスクリーンショット

4。最後に、ホーム>閉じて読み込む>閉じて読み込むをクリックして、このデータを新しいワークシートに読み込みましょう。


OR 論理を用いた IF 文

OR 論理は複数の条件を同時に評価し、そのうち少なくとも1 つが真であれば、結果として「真」を返します。構文は次のとおりです:

= if 論理テスト1 or 論理テスト2 or … then 真の場合の値 else 偽の場合の値

たとえば、次のようなテーブルがあるとします。ここで、「Dress」または「T-shirt」の場合はブランドを「AAA」に、その他の商品のブランドは「BBB」に設定した新しい列を表示したいとします。

Power Query での OR ロジックの例に使用されるデータセットのスクリーンショット

1。データテーブルを選択し、データ>テーブル/範囲からをクリックしてPower Query Editorウィンドウを開きます。

2。開いたウィンドウで、列の追加>カスタム列をクリックすると、表示されます。カスタム列ダイアログボックスで、次の操作を行ってください:

  • 新しい列名テキストボックスに、新しい列の名前を入力します。
  • 次に、以下の式をカスタム列の式ボックスに入力してください。
  • = if [Product] = "Dress" or [Product] = "T-shirt" then "AAA"
    else 「BBB」

Power Query の [カスタム列] ダイアログ ボックスで OR ロジックの式が入力されているスクリーンショット

3。次に、OKボタンをクリックしてPower Query Editorウィンドウに戻ると、必要なデータを含む新しい列が表示されます。スクリーンショットをご参照ください。

OR ロジックが適用された新しい列を表示する Power Query エディターのスクリーンショット

4。最後に、ホーム>閉じて読み込む>閉じて読み込むをクリックして、このデータを新しいワークシートに読み込みましょう。


AND 論理を用いた IF 文

AND 論理は、単一の if 文内で複数の条件を同時に評価します。結果が真となるには、すべての条件が真である必要があります。いずれか一つでも偽であれば、結果は偽になります。構文は次のとおりです:

= if 論理テスト1 and 論理テスト2 and … then 真の場合の値 else 偽の場合の値

上記のデータを例に挙げます。次のように新しい列を表示したいとします。「Dress」かつ注文数が300 より大きい場合は定価に50%割引を適用し、それ以外の場合は定価のままとします。

1。データテーブルを選択して、データ>テーブル/範囲からをクリックしてPower Query Editorウィンドウを開きます。

2。開いたウィンドウで、列の追加 > カスタム列を選択してください。表示されたカスタム列ダイアログボックスで、次の操作を行ってください:

  • 新しい列名テキストボックスに、新しい列の名前を入力します。
  • 次に、以下の式をカスタム列の式ボックスに入力してください。
  • = if [Product] =「Dress」 and [Order] > 300 then [Price]*0.5
    else [Price]

Power Query の [カスタム列] ダイアログ ボックスで AND ロジックの式が入力されているスクリーンショット

3。次に、OKボタンをクリックしてPower Query Editorウィンドウに戻ると、必要なデータを含む新しい列が表示されます。スクリーンショットをご参照ください。

AND ロジックが適用された新しい列を表示する Power Query エディターのスクリーンショット

4。最後に、ホーム > 閉じて読み込む > 閉じて読み込むをクリックして、このデータを新しいワークシートに読み込む必要があります。


OR および AND 論理を組み合わせた IF 文

これまでの例は理解しやすいものでした。次に、もう少し難しくしてみましょう。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 のロジックが組み合わされた式が入力されているスクリーンショット

3。次に、OKボタンをクリックしてPower Query Editorウィンドウに戻ります。これで、必要なデータを含む新しい列が表示されます。スクリーンショットを参照してください:

AND と OR のロジックが組み合わされて適用された新しい列を表示する Power Query エディターのスクリーンショット

4。最後に、ホーム>閉じて読み込む>閉じて読み込むこのデータを新しいワークシートに読み込むには、をクリックしてください。

ヒント:
カスタム列の数式ボックスでは、次の論理演算子を使用できます:
  • =:等しい
  • ≠:等しくない
  • >:より大きい
  • >=:次以上
  • <:より小さい
  • <=:次以下

最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

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 アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得