メインコンテンツへスキップ

Power Query: If ステートメント - ネストされた if と複数の条件

Excelで Power Query, IF ステートメントは、条件をチェックし、結果が TRUE か FALSE かに応じて特定の値を返す最も一般的な関数の XNUMX つです。 この if ステートメントと Excel の IF 関数にはいくつかの違いがあります。 このチュートリアルでは、この if ステートメントの構文と、いくつかの単純な例と複雑な例を紹介します。

基本的な if ステートメント構文 Power Query

Power Query 条件列を使用した if ステートメント

Power Query Mコードを書いてif文を書く


基本的な if ステートメント構文 Power Query

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

= if logical_test then value_if_true それ以外の場合 value_if_false
  • 論理テスト: テストする条件。
  • 値_真の場合: 結果が TRUE の場合に返される値。
  • 値_if_false: 結果が FALSE の場合に返される値。
Note: Power Query if ステートメントでは大文字と小文字が区別され、if、then、else は小文字である必要があります。

Excelで Power Query、このタイプの条件付きロジックを作成するには XNUMX つの方法があります。

  • いくつかの基本的なシナリオで条件付き列機能を使用します。
  • より高度なシナリオ向けの M コードの記述。

次のセクションでは、この if ステートメントの使用例について説明します。


Power Query 条件列を使用した if ステートメント

 例 1: 基本的な if ステートメント

ここではこのif文の使い方を紹介します。 Power Query。 たとえば、次の製品レポートがあります。製品ステータスが古い場合、50% 割引が表示されます。 製品ステータスが「新品」の場合、以下のスクリーンショットのように 20% 割引が表示されます。

1. ワークシートからデータ テーブルを選択し、Excel 2019 および Excel 365 で、 且つ > テーブル/範囲から、スクリーンショットを参照してください:

Note: Excel 2016 および Excel 2021 では、 且つ > 表から、スクリーンショットを参照してください:

2。 次に、開いた状態で Power Query エディター ウィンドウ、クリック 列の追加 > 条件付き列、スクリーンショットを参照してください:

3。 飛び出した 条件付き列を追加 ダイアログで、次の操作を行ってください。

  • 新しい列名: 新しい列の名前を入力します。
  • 次に、必要な基準を指定します。 たとえば、私は指定します Status が Old の場合は 50%、それ以外の場合は 20%;
ヒント:
  • 列名: if 条件を評価する列。 ここでは、[ステータス] を選択します。
  • 演算子: 使用する条件ロジック。 オプションは、選択した列名のデータ型によって異なります。
    • テキスト: で始まる、始まらない、等しい、含むなど。
    • 数字: 等しい、等しくない、より大きいか等しいなど。
    • 日付: 前、後、等しい、等しくないなど。
  • : 評価を比較する特定の値。 列名と演算子とともに条件を構成します。
  • 出力: 条件が満たされた場合に返される値。
  • : 条件が false の場合に返される別の値。

4。 次に、をクリックします。 OK に戻るボタン Power Query エディター 窓。 今、新しい お得な商品 列が追加されました。スクリーンショットを参照してください:

5. 数値をパーセンテージにフォーマットする場合は、 ABC123 アイコンを お得な商品 列ヘッダー、および選択 パーセンテージ 必要に応じて、スクリーンショットを参照してください。

6. 最後にクリックしてください ホーム > 閉じる&ロード > 閉じる&ロード このデータを新しいワークシートにロードします。


 例 2: 複雑な if ステートメント

この条件付き列オプションを使用すると、XNUMX つ以上の条件を 条件付き列を追加 ダイアログ。 このようにしてください:

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

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

  • 新しい列の名前を 新しい列名 テキストボックス;
  • 最初の条件フィールドに最初の条件を指定し、 条項を追加 ボタンをクリックして、必要に応じて他の基準フィールドを追加します。

3. 基準を終了したら、 をクリックします。 OK に戻るボタン Power Query エディター 窓。 これで、必要な対応する結果を含む新しい列が得られます。 スクリーンショットを参照してください:

4. 最後にクリックしてください ホーム > 閉じる&ロード > 閉じる&ロード このデータを新しいワークシートにロードします。


Power Query Mコードを書いてif文を書く

通常、条件付き列はいくつかの基本的なシナリオに役立ちます。 場合によっては、AND または OR ロジックで複数の条件を使用する必要がある場合があります。 この場合、より複雑なシナリオでは、カスタム列内に M コードを記述する必要があります。

 例 1: 基本的な if ステートメント

最初のデータを例にとると、製品ステータスが古い場合、50% 割引が表示されます。 商品ステータスが新品の場合、20% 割引が表示されます。 M コードを記述するには、次のようにしてください。

1。 テーブルを選択し、をクリックします 且つ > テーブル/範囲から Power Query エディター 窓。

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

3。 飛び出した カスタム列 ダイアログボックスで、次の操作を行ってください。

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

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

5。 最後に、 ホーム > 閉じる&ロード > 閉じる&ロード このデータを新しいワークシートにロードします。


 例 2: 複雑な if ステートメント

ネストされた if ステートメント

通常、サブ条件をテストするには、複数の if ステートメントをネストできます。 たとえば、以下のデータテーブルがあります。 製品が「ドレス」の場合、元の価格の 50% 割引を提供します。 製品が「セーター」または「パーカー」の場合、元の価格の 20% 割引を提供します。 と他の製品は元の価格を維持します。

1. データ テーブルを選択し、 且つ > テーブル/範囲から Power Query エディター 窓。

2. 開いたウィンドウで、 列の追加 > カスタム列。 オープンで カスタム列 ダイアログボックスで、次の操作を行ってください。

  • 新しい列の名前を 新しい列名 テキストボックス;
  • 次に、以下の式を カスタム列 ボックス。
  • = if [商品] = "ドレス" then [価格] * 0.5 else
    if [商品] = "セーター" then [価格] * 0.8 else
    if [商品] = "パーカー" then [価格] * 0.8
    【価格】

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

4。 最後に、 ホーム > 閉じる&ロード > 閉じる&ロード このデータを新しいワークシートにロードします。


OR ロジックを使用した If ステートメント

OR ロジックは複数の論理テストを実行し、いずれかの論理テストが正しければ真の結果が返されます。 構文は次のとおりです。

= if logical_test1 or logical_test2 or … then value_if_true でなければ value_if_false

下の表があるとします。商品が「ドレス」または「T シャツ」の場合、ブランドは「AAA」、その他の商品のブランドは「BBB」のように新しい列を表示したいとします。

1. データ テーブルを選択し、 且つ > テーブル/範囲から Power Query エディター 窓。

2. 開いたウィンドウで、 列の追加 > カスタム列、開いた状態で カスタム列 ダイアログボックスで、次の操作を行ってください。

  • 新しい列の名前を 新しい列名 テキストボックス;
  • 次に、以下の式を カスタム列式 ボックス。
  • = if [Product] = "Dress" or [Product] = "T-shirt" then "AAA"
    それ以外は「BBB」

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

4。 最後に、 ホーム > 閉じる&ロード > 閉じる&ロード このデータを新しいワークシートにロードします。


AND ロジックを使用した If ステートメント

AND ロジックは、XNUMX つの if ステートメント内で複数の論理テストを実行します。 真の結果が返されるには、すべてのテストが真でなければなりません。 いずれかのテストが false の場合、false の結果が返されます。 構文は次のとおりです。

= if logical_test1 and logical_test2 and … then value_if_true でなければ value_if_false

上記のデータを例にとると、次のように新しい列を表示したいと考えています。製品が「ドレス」で、注文数が 300 を超える場合、元の価格の 50% 割引を提供します。 それ以外の場合は、元の価格を維持します。

1. データ テーブルを選択し、 且つ > テーブル/範囲から Power Query エディター 窓。

2. 開いたウィンドウで、 列の追加 > カスタム列。 オープンで カスタム列 ダイアログボックスで、次の操作を行ってください。

  • 新しい列の名前を 新しい列名 テキストボックス;
  • 次に、以下の式を カスタム列式 ボックス。
  • = if [Product] ="Dress" and [Order] > 300 then [Price]*0.5
    【価格】

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

4. 最後に、クリックして、このデータを新しいワークシートにロードする必要があります。 ホーム > 閉じる&ロード > 閉じる&ロード.


OR および AND ロジックを使用した If ステートメント

さて、前の例は私たちにとって理解しやすいものです。 では、もっと難しくしてみましょう。 AND と OR を組み合わせて、想像できるあらゆる条件を形成できます。 このタイプでは、式に括弧を使用して複雑なルールを定義できます。

上記のデータも例として、次のように新しい列を表示したいとします。製品が「ドレス」で、その注文が 300 を超える場合、または製品が「ズボン」で、その注文が 300 を超える場合、次のように表示します。 「A+」、それ以外は「その他」と表示します。

1. データ テーブルを選択し、 且つ > テーブル/範囲から Power Query エディター 窓。

2. 開いたウィンドウで、 列の追加 > カスタム列。 オープンで カスタム列 ダイアログボックスで、次の操作を行ってください。

  • 新しい列の名前を 新しい列名 テキストボックス;
  • 次に、以下の式を カスタム列式 ボックス。
  • =if ([製品] = "ドレス" and [注文] > 300 ) または
    ([商品] = "ズボン" かつ [注文] > 300 )
    次に「A+」
    それ以外は「その他」

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

4. 最後に、クリックして、このデータを新しいワークシートにロードする必要があります。 ホーム > 閉じる&ロード > 閉じる&ロード.

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

最高のオフィス生産性向上ツール

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

説明


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations