ExcelのFILTER関数は、条件に一致するデータだけを抽出する強力なツールですが、複数の条件で絞り込みたい場合はどうすればいいでしょうか。この記事では、FILTER関数を使用して複数の条件を組み合わせてAND条件抽出を作成する方法を解説します。
FILTER関数の基礎
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 |
FILTER関数で複数の条件を組み合わせるAND条件の設定方法
AND条件のルール概要
第二引数「含む」で単一の条件ではなく、複数の条件を組み合わせてデータを抽出するには、各条件を【カッコで囲み、*
(乗算記号)で結びつけ】ます。これにより、【全ての条件がTRUE
である場合にのみデータがフィルタリング】されます。
=FILTER(抽出範囲, (条件1) * (条件2) * (条件3) * ……)
- 各検索条件をカッコで囲む
- カッコで囲んだ各検索条件を
*
(乗算記号)で結びつける
作成ステップ
以下のステップでAND条件を作成します:
- 条件の定義: 各条件をカッコで囲みます。例えば、「分類」が「持帰り」と一致する条件は
(分類範囲 = "持帰り")
と表されます。 - 条件の結合:
*
で各条件を結合します。これにより、全ての条件が真の場合にのみ、TRUE
を返すAND論理が完成します。 - FILTER関数への適用: 完成した論理式をFILTER関数の第二引数:含むに入れます。
使用例
=FILTER(A2:F29, (B2:B29 = "持帰り") * (F2:F29 >= 800) * (F2:F29 < 1100))
この例では、「分類」列(B列)が「持帰り」で、「カロリー」列(F列)が800以上1100未満の行のみが抽出されます。
上記のサンプルの「含む」には以下のように3つの論理式をカッコで囲み、*で接続したものを入力しています。
(B2:B29 = "持帰り") * (F2:F29 >= 800) * (F2:F29 < 1100)
注意点
- 結果が空になる可能性がある場合は、FILTER関数の3番目の引数にデフォルト値を設定できます。
- 乗算記号
*
を使用すると、真偽値が自動的に1または0の数値に変換されます。
参考ページ:FILTER関数と【OR条件】
FILTER関数で複数条件によるデータ抽出【OR条件】
FILTER関数とOR条件FILTER関数とOR条件を組み合わせると、柔軟かつ強力なデータ抽出が可能になります。今回はその方法を詳しく解説します。FILTER関数は、指定された範囲から特定の基準に一致するデータのみを返す関数です。AND条件...
FILTER関数と複数条件設定【AND条件とOR条件の併用とまとめ】
ExcelのFILTER関数において、第二引数「含む」でAND条件とOR条件を併用するときは、個々の条件を適切に結合して、必要なデータが正しく抽出されるようにする必要があります。FILTER関数と複数条件設定:前の記事まずはおさらいです。F...
コメント