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