Step 29:複数条件でのフィルタリング

🔍 Step 29: 複数条件でのフィルタリング

AND条件・OR条件を使った高度な絞り込みをマスター!

📋 このステップで学ぶこと

  • AND条件とOR条件の違い
  • 複数列のフィルターを組み合わせる方法
  • 詳細フィルター(高度なフィルター)
  • OR条件での抽出方法
  • ワイルドカード検索
  • 実務での活用例

🎯 1. AND条件とOR条件の違い

🔑 2つの条件の違い

AND条件: すべての条件を満たすデータだけを表示(厳しい絞り込み)
OR条件: いずれかの条件を満たすデータを表示(緩い絞り込み)

📊 AND条件 vs OR条件

元のデータ
名前 部署 売上高
田中 営業 1500
佐藤 開発 1200
鈴木 営業 2000
伊藤 開発 1800
AND条件(両方満たす)
条件:
部署 = 営業 かつ
売上高 ≥ 1500
名前 部署 売上高
田中 営業 1500
鈴木 営業 2000
✓ 結果: 2件(両方の条件を満たす)
OR条件(どちらか満たす)
条件:
部署 = 営業 または
売上高 ≥ 1800
名前 部署 売上高
田中 営業 1500
鈴木 営業 2000
伊藤 開発 1800
✓ 結果: 3件(どちらかを満たす)
💡 日常生活での例

AND条件: 「身長180cm以上」かつ「体重70kg以下」→ 両方満たす必要がある
OR条件: 「英語ができる」または「中国語ができる」→ どちらかできればOK

📝 2. AND条件の設定方法(複数列のフィルター)

通常のフィルター機能では、複数列にフィルターをかけると自動的にAND条件になります。

📋 AND条件の設定手順(※横スクロールできます)

【AND条件の設定手順】 1. データタブ → フィルター(Ctrl + Shift + L) 2. 1つ目の列でフィルター条件を設定 3. 2つ目の列でフィルター条件を設定 4. 両方の条件を満たすデータだけが表示される 例: 「営業部門」かつ「売上1500以上」

📊 AND条件の実例

ステップ1: 部署でフィルター
部署列の▼ → 「営業」を選択
→ 営業部門のデータが表示される(田中、鈴木、山田)
⬇ さらに
ステップ2: 売上高でフィルター
売上高列の▼ → 数値フィルター → 指定の値以上
→ 「1500」と入力
→ 営業部門で売上1500以上の人だけ表示
結果(AND条件)
名前 部署 売上高
鈴木 営業 2000
山田 営業 1800
✓ 「営業」AND「1500以上」の両方を満たすデータ

📝 3. 詳細フィルター(高度なフィルター)

OR条件や複雑な条件を設定するには、詳細フィルターを使います。

📋 詳細フィルターの設定手順(※横スクロールできます)

【詳細フィルターの設定手順】 1. データの横に条件範囲を作成 2. データタブ → 詳細設定(または並べ替えとフィルター → 詳細設定) 3. リスト範囲: データ範囲を選択 4. 検索条件範囲: 条件範囲を選択 5. OK

📊 詳細フィルターの条件範囲の作り方

AND条件(同じ行に書く)
部署 売上高
営業 >=1500
💡 同じ行 = AND条件(「営業」かつ「1500以上」)
OR条件(別の行に書く)
部署 売上高
営業
>=1800
💡 別の行 = OR条件(「営業」または「1800以上」)
複合条件(AND と OR の組み合わせ)
部署 売上高
営業 >=1500
開発 >=1800
💡 (営業 AND 1500以上)OR(開発 AND 1800以上)
🎯 条件範囲のルール
  • 同じ行に書いた条件 = AND条件(すべて満たす)
  • 別の行に書いた条件 = OR条件(いずれか満たす)
  • ヘッダーは元データと同じ名前にする

📝 4. 実務での活用例

📊 例1: 特定部門の高売上者を抽出(※横スクロールできます)

【例1: 特定部門の高売上者を抽出】 目的: 営業部門で売上2000以上の社員を表示 条件範囲: A列 B列 1 部署 売上高 2 営業 >=2000 → AND条件(同じ行)

📊 例2: 複数部門または高売上者を抽出(※横スクロールできます)

【例2: 複数部門または高売上者を抽出】 目的: 営業部門または売上1800以上の社員を表示 条件範囲: A列 B列 1 部署 売上高 2 営業 3 >=1800 → OR条件(別の行)

📊 例3: エリア別の条件(※横スクロールできます)

【例3: エリア別の条件】 目的: 東京で売上1500以上、または大阪で売上1800以上 条件範囲: A列 B列 1 エリア 売上高 2 東京 >=1500 3 大阪 >=1800 → (東京 AND 1500以上)OR(大阪 AND 1800以上)

📊 実務での活用シーン

📈 営業管理
「今月の目標未達成者」または「先月より売上減少者」を抽出
→ フォローアップ対象を特定
📦 在庫管理
「在庫数が10以下」かつ「出荷頻度が高い商品」
→ 発注優先度の高い商品を特定
👥 顧客管理
「購入金額が10万円以上」または「購入回数が5回以上」
→ VIP顧客を抽出
📅 タスク管理
「期限が今週」かつ「未完了」または「優先度が高」
→ 今週の重要タスクを表示

📝 5. ワイルドカード検索

フィルター条件でワイルドカードを使うと、あいまい検索ができます。

📋 ワイルドカードの種類(※横スクロールできます)

【ワイルドカードの種類】 * : 任意の文字列(0文字以上) ? : 任意の1文字 例: 田* → 「田」で始まる(田中、田村、田辺など) *田 → 「田」で終わる(山田、吉田など) *田* → 「田」を含む(山田、田中など) 田?? → 「田」+任意の2文字(田中、田村など)

📊 ワイルドカードの使用例

パターン 意味 マッチする例
東京* 東京で始まる 東京都、東京支店
*店 店で終わる 渋谷店、新宿店
*営業* 営業を含む 営業部、営業課、第一営業
田? 田+1文字 田中、田村

⚠️ 6. よくある間違いと注意点

⚠️ よくある間違い(※横スクロールできます)

【よくある間違い】 ❌ 間違い1: AND条件とOR条件を混同 → 意図しないデータが表示される ✅ 正しい理解: 通常フィルター: 複数列 = AND条件 詳細フィルター: 同じ行 = AND、別の行 = OR ❌ 間違い2: 条件範囲のヘッダーが元データと違う → フィルターが正しく動作しない ✅ 正しい: 条件範囲のヘッダーは元データと完全一致させる ❌ 間違い3: 数値条件の書き方を間違える → >=1500(正)、1500以上(誤) ✅ 正しい記号: = : 等しい > : より大きい >= : 以上 < : より小さい <= : 以下 <> : 等しくない
⚠️ 詳細フィルターの注意点

詳細フィルターを使用すると、元のデータが非表示になるのではなく、別の場所に抽出される設定も選べます。「フィルタオプションの設定」ダイアログで「指定した範囲に抽出する」を選択した場合は注意してください。

📝 練習問題

練習 1
初級

営業部門で売上高1500以上のデータを表示してください(AND条件)

A列 B列 C列 1 名前 部署 売上高 2 田中 営業 1500 3 佐藤 開発 1200 4 鈴木 営業 2000 5 伊藤 総務 1300 6 山田 営業 1800

操作手順:

  1. データタブ → フィルター(Ctrl+Shift+L)
  2. B列(部署)の▼ → 「営業」だけを選択
  3. C列(売上高)の▼ → 数値フィルター → 指定の値以上 → 「1500」
  4. OK

結果:

A列 B列 C列 1 名前 部署 売上高 2 田中 営業 1500 4 鈴木 営業 2000 6 山田 営業 1800

解説: 通常のフィルター機能で複数列にフィルターをかけると、自動的にAND条件になります。「営業」かつ「1500以上」の両方を満たすデータだけが表示されます。

練習 2
中級

「田」を含む名前、または売上高1800以上のデータを表示してください(OR条件)

A列 B列 C列 1 名前 部署 売上高 2 田中 営業 1500 3 佐藤 開発 1200 4 鈴木 営業 2000 5 山田 総務 1800 6 伊藤 開発 1300

条件範囲の作成:

F列 G列 1 名前 売上高 2 *田* 3 >=1800

操作手順:

  1. 上記の条件範囲を作成
  2. データタブ → 詳細設定
  3. リスト範囲: A1:C6
  4. 検索条件範囲: F1:G3
  5. OK

結果:

A列 B列 C列 1 名前 部署 売上高 2 田中 営業 1500 4 鈴木 営業 2000 5 山田 総務 1800

解説: OR条件は詳細フィルターで設定します。条件を別の行に書くことで、「田を含む」または「1800以上」のどちらかを満たすデータが表示されます。

練習 3
上級

(営業で1500以上)または(開発で1800以上)のデータを表示してください

A列 B列 C列 1 名前 部署 売上高 2 田中 営業 1500 3 佐藤 開発 1200 4 鈴木 営業 2000 5 伊藤 開発 1800 6 山田 総務 1300

条件範囲の作成:

F列 G列 1 部署 売上高 2 営業 >=1500 3 開発 >=1800

操作手順:

  1. 上記の条件範囲を作成
  2. データタブ → 詳細設定
  3. リスト範囲: A1:C6
  4. 検索条件範囲: F1:G3
  5. OK

結果:

A列 B列 C列 1 名前 部署 売上高 2 田中 営業 1500 4 鈴木 営業 2000 5 伊藤 開発 1800

解説: 各行がAND条件、行同士がOR条件になります。2行目は「営業 AND 1500以上」、3行目は「開発 AND 1800以上」で、この2つの行がOR条件で結ばれます。

練習 4
中級

ワイルドカードを使って「鈴」で始まる名前のデータを抽出してください

A列 B列 C列 1 名前 部署 売上高 2 田中 営業 1500 3 鈴木 営業 2000 4 鈴村 開発 1600 5 山田 総務 1800

条件範囲の作成:

F列 1 名前 2 鈴*

操作手順:

  1. 上記の条件範囲を作成
  2. データタブ → 詳細設定
  3. リスト範囲: A1:C5
  4. 検索条件範囲: F1:F2
  5. OK

結果:

A列 B列 C列 1 名前 部署 売上高 3 鈴木 営業 2000 4 鈴村 開発 1600

解説: ワイルドカード「*」は任意の文字列を表します。「鈴*」は「鈴」で始まるすべての文字列にマッチします。

📝 Step 29 のまとめ

✅ このステップで学んだこと
  • AND条件: すべての条件を満たす(通常フィルターで複数列)
  • OR条件: いずれかの条件を満たす(詳細フィルター)
  • 条件範囲: 同じ行=AND、別の行=OR
  • ワイルドカード: *(任意の文字列)、?(任意の1文字)
  • 実務活用: 複雑な条件での絞り込みが可能
  • 注意点: ヘッダーを一致させる、記号を正しく使う
🎯 次のステップの予告

複数条件でのフィルタリングをマスターしました!次のSTEP 30では、「データの検証(入力規則)」を学びます。正しいデータのみ入力できるようにする方法を習得します。

❓ よくある質問

Q1: AND条件とOR条件はどう使い分けますか?
AND条件: 条件を厳しくして絞り込みたいとき(例: 営業部で売上高い人)
OR条件: 条件を緩くして幅広く抽出したいとき(例: 営業部または売上高い人)
目的に応じて使い分けましょう。
Q2: 詳細フィルターは元データを変更しますか?
いいえ、詳細フィルターも通常のフィルターと同様、データを非表示にするだけで削除はしません。ただし「指定した範囲に抽出する」オプションを選ぶと、別の場所にコピーされます。
Q3: 3つ以上の条件でOR検索できますか?
はい、できます。詳細フィルターの条件範囲で、条件を別々の行に書いていけば、何行でもOR条件として設定できます。
Q4: ワイルドカードはどんな時に使いますか?
部分一致検索をしたい時に便利です。例えば「東京」を含む支店名を検索したり、「営業」という言葉が含まれる部署を検索する際に使います。
Q5: 詳細フィルターの条件範囲はどこに作ればいいですか?
元データの横や下など、空いている場所に作成します。ただし、元データと混ざらないよう、少し離れた場所に作ることをお勧めします。
Q6: Googleスプレッドシートでも同じ方法が使えますか?
基本的なフィルター機能は同じように使えます。ただし、詳細フィルター機能はGoogleスプレッドシートにはないため、QUERY関数やFILTER関数を使って同様の処理を行います(STEP 48で学習)。
Q7: 条件範囲のヘッダーが違うとどうなりますか?
詳細フィルターが正しく動作しません。条件範囲のヘッダーは、元データのヘッダーと完全に一致させる必要があります。スペースや全角・半角の違いにも注意してください。
📝

学習メモ

Excel・Googleスプレッドシート完全マスター - Step 29

📋 過去のメモ一覧
#artnasekai #学習メモ
LINE