FILTER関数と複数条件設定【AND条件とOR条件の併用とまとめ】

ExcelのFILTER関数において、第二引数「含む」でAND条件とOR条件を併用するときは、個々の条件を適切に結合して、必要なデータが正しく抽出されるようにする必要があります。

FILTER関数と複数条件設定:前の記事

まずはおさらいです。

FILTER関数とAND条件

FILTER関数で複数条件によるデータ抽出【AND条件】
ExcelのFILTER関数は、条件に一致するデータだけを抽出する強力なツールですが、複数の条件で絞り込みたい場合はどうすればいいでしょうか。この記事では、FILTER関数を使用して複数の条件を組み合わせてAND条件抽出を作成する方法を解説...

FILTER関数とOR条件

FILTER関数で複数条件によるデータ抽出【OR条件】
FILTER関数とOR条件 FILTER関数とOR条件を組み合わせると、柔軟かつ強力なデータ抽出が可能になります。今回はその方法を詳しく解説します。 FILTER関数は、指定された範囲から特定の基準に一致するデータのみを返す関数です。AND...

AND条件とOR条件の併用:概要

原則

  • AND条件はすべての条件が真である必要があります。これを実現するためには、各条件を*(乗算記号)で結合します。これは、真(TRUE)を1、偽(FALSE)を0として扱うExcelの計算規則に基づいています。したがって、全ての条件が真の場合のみ、結果は1(真)になります。
  • OR条件は条件のいずれか一つが真であればよいです。これを実現するためには、条件を+(加算記号)で結合します。論理的には、「いずれかの条件が真であれば結果は真」という意味になります。

併用の方法

ANDとOR条件を併用する場合、まずはそれぞれの条件群を別々に計算させます。これは、AND条件とOR条件が異なる優先順位を持つためです。

  • OR条件群を一つのブロックとしてカッコ()で囲みます。これにより、そのブロック内のどれか一つが真であれば、ブロック全体の結果が真になります。
  • その後、AND条件と結合します。これは全ての条件が同時に真であることを要求するため、複数のORブロックを含む各AND条件を*で結合します。

注意点

  • 条件式全体はカッコで囲むことが一般的です。これは、計算の順序を明確にするために重要です。
  • Excelで計算するときは、特に複雑な条件の組み合わせでは、論理の流れを段階的に確認することが重要です。可能であれば、部分的に式を評価して、各ステップで期待通りの結果が得られているかを検証してください。

結果として、適切にカッコを使用して条件をグループ化し、ANDとORの論理演算を正確に反映させることが、FILTER関数を使用したデータ抽出における成功の鍵です。

FILTER関数と複数条件・実例

実例テーブル(A1:F29)

商品番号 分類 商品名 ジャンル 価格 カロリー
10001 持帰り 梅おにぎり おにぎり 110 175
10002 持帰り おにぎりセット おにぎり 250 420
10003 店内 おにぎりバスケット おにぎり 340 650
10004 持帰り カツサンド サンドイッチ 290 530
10005 店内 クラブサンド サンドイッチ 420 510
10006 持帰り 鮭おにぎり おにぎり 130 185
10007 持帰り サラダサンド サンドイッチ 210 340
10008 店内 サラダボウル 惣菜 350 160
10009 店内 中華定食 定食 1200 1120
10010 持帰り 中華丼 弁当 700 840
10011 持帰り ツナおにぎり おにぎり 120 220
10012 店内 トンカツ定食 定食 1200 1380
10013 持帰り トンカツ弁当 弁当 750 1340
10014 店内 トン汁 惣菜 200 180
10015 店内 煮魚定食 定食 1050 725
10016 持帰り のり弁当 弁当 620 1020
10017 店内 ハヤシライス 定食 920 880
10018 店内 ハンバーグセット 定食 1150 1235
10019 店内 ビーフカレー 定食 900 940
10020 持帰り 豚丼 弁当 600 760
10021 持帰り フライ弁当 弁当 690 1250
10022 持帰り 味噌汁 惣菜 80 40
10023 店内 ミックスグリル 定食 1100 1160
10024 店内 ミックス定食 定食 950 950
10025 持帰り ミニサラダ 惣菜 150 85
10026 持帰り ミックスサンド サンドイッチ 320 460
10027 店内 フライドチキンセット 惣菜 480 720
10028 持帰り 助六セット おにぎり 390 550

実例 1: 分類「店内」でジャンル「惣菜」か「定食」

この条件に一致する行を抽出するには、以下のFILTER関数を使用します。

=FILTER(A2:F29, (B2:B29 = "店内") * ((D2:D29 = "惣菜") + (D2:D29 = "定食")))

解説

  • (B2:B29 = "店内")は「分類」が「店内」であるかどうかの条件を評価します。
  • (D2:D29 = "惣菜") + (D2:D29 = "定食")は「ジャンル」が「惣菜」か「定食」であるかどうかの条件を評価し、OR条件を形成します。
  • 上記の二つの式は*で結合されているため、AND条件を形成します。

実例 2: ジャンル「おにぎり」、「惣菜」、かつ価格が300以上

この条件に一致する行を抽出するには、以下のFILTER関数を使用します。

=FILTER(A2:F29, ((D2:D29 = "おにぎり") + (D2:D29 = "惣菜")) * (E2:E29 >= 300))

解説

  • (D2:D29 = "おにぎり") + (D2:D29 = "惣菜") は「ジャンル」が「おにぎり」または「惣菜」のいずれかであるかどうかの条件を評価し、OR条件を形成します。また、この部分をカッコで囲みグループとします。
  • (E2:E29 >= 300)は価格が300以上であるかどうかを評価し、これは単一のAND条件です。
  • これらの条件を*で結合することで、AND条件とOR条件が併用されます。

実例 3: ジャンル「おにぎり」、「惣菜」、「弁当」で、かつ価格が300以上700未満

ジャンルが「おにぎり」、「惣菜」、「弁当」のいずれかであり、かつ価格が300以上700未満のデータを抽出するFILTER関数を用いた式は以下のようになります。

=FILTER(A2:F29, ((D2:D29 = "おにぎり") + (D2:D29 = "惣菜") + (D2:D29 = "弁当")) * (E2:E29 >= 300) * (E2:E29 < 700))

解説

OR条件の設定
  • (D2:D29 = "おにぎり") + (D2:D29 = "惣菜") + (D2:D29 = "弁当")はジャンルが「おにぎり」、「惣菜」、または「弁当」のいずれかに当てはまる行を識別するOR条件です。
  • この場合、加算(+)記号を用いて各条件を結合しています。Excelでは真(TRUE)は数値の1として扱われ、偽(FALSE)は0として扱われるため、どれか一つでも真であれば、結果は真(1以上)になります。
AND条件の設定
  • (E2:E29 >= 300)は価格が300以上であることを確認する条件です。
  • (E2:E29 < 700)は価格が700未満であることを確認する条件です。
  • これらの条件は乗算(*)記号で結合され、AND条件を形成しています。これにより、価格が300以上700未満の行のみが抽出されます。

コメント

PAGE TOP
タイトルとURLをコピーしました