データを効率的に絞り込むには、複数の条件を組み合わせる必要があります。例えば、特定の地域かつ一定以上の売上があるデータだけを表示したい場面です。この記事では、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条件を設定する手順
- フィルタビューを作成する
データ範囲を選択し、メニュー「データ」→「フィルタビュー」→「新しいフィルタビューを作成」をクリックします。 - 最初の列に条件を追加する
例えば「地域」列のフィルタアイコンをクリックし、「条件でフィルタ」→「テキストを含む」を選び、値に「東京」と入力します。 - 2つ目の列に条件を追加する
「売上」列のフィルタアイコンをクリックし、「条件でフィルタ」→「数値が次の値以上」を選び、値に「1000000」と入力します。これで「地域が東京かつ売上100万以上」のAND条件が設定されます。 - フィルタビューを保存する
フィルタビューに名前を付けて保存するか、そのまま閉じても条件は保持されます。
カスタム数式でOR条件を設定する手順
- フィルタビューを作成し、カスタム数式を選ぶ
任意の列のフィルタメニューから「条件でフィルタ」→「カスタム数式」を選択します。 - OR数式を入力する
数式欄に =OR(条件1, 条件2) の形式で入力します。例えば、地域が東京または売上が100万以上のデータを抽出するには、=OR(A2=”東京”, B2>=1000000) と入力します。ここでA列は地域、B列は売上とします。 - 適用ボタンを押す
数式が正しいことを確認し、適用ボタンをクリックするかEnterキーを押します。するとOR条件でフィルタされます。
ADVERTISEMENT
FILTER関数で複数条件を指定する手順
- AND条件でFILTER関数を使う
新しいシートまたは空いているセルに =FILTER(範囲, (条件1)*(条件2)) と入力します。例えば、地域が東京かつ売上100万以上のデータを抽出する場合、=FILTER(A2:C100, (B2:B100=”東京”)*(C2:C100>=1000000)) と入力します。* はAND演算子として機能します。 - OR条件でFILTER関数を使う
同様に、OR条件の場合は + を使います。=FILTER(A2:C100, (B2:B100=”東京”)+(C2:C100>=1000000)) と入力します。+ はOR演算子です。 - 複合条件(ANDとORの組み合わせ)
例えば「地域が東京または大阪、かつ売上50万以上」という条件は、=FILTER(A2:C100, ( (B2:B100=”東京”)+(B2:B100=”大阪”) ) * (C2:C100>=500000) ) のように書きます。括弧でグループ化して優先順位を明確にします。 - 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
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
