ADVERTISEMENT

【Googleスプレッドシート】データのフィルタを複数条件で組み合わせ!ANDとORの応用

【Googleスプレッドシート】データのフィルタを複数条件で組み合わせ!ANDとORの応用
🛡️ 超解決

データを効率的に絞り込むには、複数の条件を組み合わせる必要があります。例えば、特定の地域かつ一定以上の売上があるデータだけを表示したい場面です。この記事では、Googleスプレッドシートのフィルタ機能でAND条件とOR条件を自在に組み合わせる方法を解説します。フィルタビューとカスタム数式、さらにFILTER関数を使った3つのアプローチを紹介します。これを読めば、複雑な条件でも思い通りにデータを抽出できるようになります。

【要点】ANDとORの複数条件フィルタを使いこなす

  • フィルタビューの「条件でフィルタ」: 複数列に条件を追加することで、AND条件(すべての条件を満たす行)を簡単に設定できます。
  • カスタム数式を使ったフィルタ: 「カスタム数式」オプションにANDやORを含む数式を入力することで、論理演算を自由に組み合わせられます。
  • FILTER関数の活用: 数式で =FILTER(範囲, (条件1)*(条件2)) のように書くとAND条件、+ を使うとOR条件で抽出できます。

ADVERTISEMENT

ANDとORの基本概念とフィルタの仕組み

AND条件は「すべての条件を満たす行」を抽出します。例えば、地域が東京であり、かつ売上が100万円以上のデータです。一方、OR条件は「いずれかの条件を満たす行」を抽出します。例えば、地域が東京または売上が100万円以上のデータです。Googleスプレッドシートでは、フィルタビューの各列に条件を追加すると自動的にAND結合されます。OR条件を実現するには、カスタム数式でOR関数を使うか、FILTER関数で算術演算子を用います。

フィルタビューでAND条件を設定する手順

  1. フィルタビューを作成する
    データ範囲を選択し、メニュー「データ」→「フィルタビュー」→「新しいフィルタビューを作成」をクリックします。
  2. 最初の列に条件を追加する
    例えば「地域」列のフィルタアイコンをクリックし、「条件でフィルタ」→「テキストを含む」を選び、値に「東京」と入力します。
  3. 2つ目の列に条件を追加する
    「売上」列のフィルタアイコンをクリックし、「条件でフィルタ」→「数値が次の値以上」を選び、値に「1000000」と入力します。これで「地域が東京かつ売上100万以上」のAND条件が設定されます。
  4. フィルタビューを保存する
    フィルタビューに名前を付けて保存するか、そのまま閉じても条件は保持されます。

カスタム数式でOR条件を設定する手順

  1. フィルタビューを作成し、カスタム数式を選ぶ
    任意の列のフィルタメニューから「条件でフィルタ」→「カスタム数式」を選択します。
  2. OR数式を入力する
    数式欄に =OR(条件1, 条件2) の形式で入力します。例えば、地域が東京または売上が100万以上のデータを抽出するには、=OR(A2=”東京”, B2>=1000000) と入力します。ここでA列は地域、B列は売上とします。
  3. 適用ボタンを押す
    数式が正しいことを確認し、適用ボタンをクリックするかEnterキーを押します。するとOR条件でフィルタされます。

ADVERTISEMENT

FILTER関数で複数条件を指定する手順

  1. AND条件でFILTER関数を使う
    新しいシートまたは空いているセルに =FILTER(範囲, (条件1)*(条件2)) と入力します。例えば、地域が東京かつ売上100万以上のデータを抽出する場合、=FILTER(A2:C100, (B2:B100=”東京”)*(C2:C100>=1000000)) と入力します。* はAND演算子として機能します。
  2. OR条件でFILTER関数を使う
    同様に、OR条件の場合は + を使います。=FILTER(A2:C100, (B2:B100=”東京”)+(C2:C100>=1000000)) と入力します。+ はOR演算子です。
  3. 複合条件(ANDとORの組み合わせ)
    例えば「地域が東京または大阪、かつ売上50万以上」という条件は、=FILTER(A2:C100, ( (B2:B100=”東京”)+(B2:B100=”大阪”) ) * (C2:C100>=500000) ) のように書きます。括弧でグループ化して優先順位を明確にします。
  4. Enterキーで結果を表示する
    数式を入力したらEnterキーを押すと、条件に合致する行だけが抽出されて表示されます。

注意点とよくある失敗パターン

フィルタビューでOR条件が設定できない場合

フィルタビューの標準の「条件でフィルタ」は、複数列に条件を設定するとAND結合になります。OR条件を設定するには、カスタム数式を使う必要があります。カスタム数式では、=OR(条件1, 条件2) のように入力を忘れないようにしましょう。

カスタム数式の参照範囲がずれる問題

カスタム数式で指定するセル参照は、フィルタを適用した範囲の先頭行に合わせます。データが2行目から始まるなら、A2のように指定します。範囲がずれると意図したフィルタになりません。フィルタ範囲の先頭行が何行目かを確認しましょう。

FILTER関数でエラーが出る場合

FILTER関数の条件式に矛盾があるとエラーになります。例えば、列の範囲のサイズが合わない場合です。範囲と条件式の行数・列数を一致させる必要があります。また、結果が0行の場合は #N/A エラーになるので、IFERRORで囲むと安全です。

日付の条件を設定する際の注意

日付を条件にするときは、シリアル値として比較します。例えば、2024年1月1日以降のデータを抽出するには、条件式に DATE(2024,1,1) を使います。テキストのように「2024/1/1」と書くと正しく認識されないことがあります。

フィルタビューとFILTER関数の比較

項目 フィルタビュー FILTER関数
操作の手軽さ クリック操作で直感的 数式入力が必要
条件の複雑さ ANDのみ簡単。ORはカスタム数式が必要 任意の論理式が自由に記述可能
動的な更新 手動でフィルタの再適用が必要 元データが変われば自動更新
表示位置 元のシート上 別の場所に結果を出力
応用範囲 単純な絞り込みに最適 複雑な抽出や集計との組み合わせに強い

まとめ

この記事では、Googleスプレッドシートで複数条件をAND/ORで組み合わせる3つの方法を解説しました。フィルタビューは簡単なAND条件に、カスタム数式はOR条件を含む複雑なフィルタに、FILTER関数は動的な抽出や高度な集計に適しています。まずはフィルタビューで基本を覚え、必要に応じてFILTER関数に移行するとよいでしょう。条件を組み合わせることで、データ分析の幅が大きく広がります。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。