FILTER関数 応用編③|除外・NOT条件でデータを絞り込む

GoogleスプレッドシートのFILTER関数は、条件に合うデータだけを表示できる非常に便利な関数です。
これまで「○○と等しい」「△△を含む」といった条件での抽出を紹介してきました。

でも、実務ではこんなケースもよくあります。

  • ステータスが「完了」ではないデータを見たい
  • 特定の商品(例:「マウス」)以外の売上を抽出したい
  • 担当者が「佐藤さん以外」かつ「山本さん以外」のデータだけ見たい

こうした「除外(NOT)条件での抽出」も、FILTER関数でしっかり対応できます。
今回は初心者でもわかりやすいように、実務的なデータを例にしながら解説していきます。

目次

FILTER関数のおさらい

FILTER関数の基本形は以下の通りです。

=FILTER(範囲, 条件)

範囲の中から、条件に合う行をそのまま取り出して表示してくれる関数です。
応用すれば、「条件に合わない」行も取り出せます!

使用するデータの概要

今回も「売上データ」シートを使用します。
実際の業務で扱うような構成で、さまざまな商品、店舗、担当者、ステータスが含まれています。

ステータスが「完了」ではないデータを抽出する

まずは、よくある除外条件の代表例です。
たとえば「ステータスが“完了”以外のデータだけを確認したい」場合は、次のようにします。

=FILTER('売上データ'!A2:P, '売上データ'!L2:L <> "完了")

🔍 解説

  • '売上データ'!A2:P → 表示したい全体の列
  • '売上データ'!L2:L <> "完了" → J列(ステータス)が「完了」でない行を抽出
  • <> は「等しくない(NOT EQUAL)」という意味です

商品名に「マウス」が含まれていないデータを抽出する

次は、特定の商品を除外したいケース。
たとえば「“マウス”が商品名に含まれていない売上だけを見たい」ときには、
正規表現とNOT関数を組み合わせます。

=FILTER('売上データ'!A2:P, NOT(REGEXMATCH('売上データ'!F2:F, "マウス")))

🔍 解説

  • '売上データ'!F2:F → 商品名の列
  • REGEXMATCH(..., "マウス") → 「マウス」という文字が含まれるか判定
  • NOT(...) → 含まれていないデータだけを表示

複数の除外条件|「佐藤さん」「山本さん」以外の担当者を抽出する

除外条件は複数でもOKです。
たとえば「担当者が佐藤さんでもなく、山本さんでもない」データを抽出する場合はこうします。

=FILTER('売上データ'!A2:P, 
  ('売上データ'!J2:J <> "佐藤") * ('売上データ'!J2:J <> "山本")
)

🔍 解説

  • '売上データ'!J2:J → 担当者の列
  • <> "佐藤"<> "山本"*(AND)でつなぐことで、両方に一致しない行のみを抽出
  • * は AND 条件の意味です。

おまけ:複数列にまたがる除外条件も可能!

実務ではこんな条件もよくあります!

  • 「渋谷店以外」かつ「ステータスが“完了”以外

そんなときも以下のように組み合わせて使えます。

=FILTER('売上データ'!A2:P,
  ('売上データ'!K2:K <> "渋谷店") * ('売上データ'!L2:L <> "完了")
)

条件を複数掛け合わせれば、かなり細かい除外抽出も自由自在になります!

まとめ|FILTER関数で除外条件を使いこなそう

目的関数の使い方例
「完了」以外のステータスを抽出'売上データ'!L2:L <> "完了"
「マウス」を含まない商品を抽出NOT(REGEXMATCH(..., "マウス"))
担当者が「佐藤・山本」以外<> "佐藤" * <> "山本"
店舗・ステータスの複合除外<> "渋谷店" * <> "完了"

FILTER関数は条件に「当てはまる」だけでなく、
「当てはまらない(除外する)」データも柔軟に抽出できるのが大きな強みです。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

エンジニアを数年経験し、現在は事業会社でデータ分析業務に従事しています。
取得資格:基本情報技術者、G検定、統計検定2級

目次