この記事でできること・対象読者
こんな悩みはありませんか?
- FILTER関数の使い方がわからない
- 1行おき・1列おき・一つ飛ばしで合計したい
- スプレッドシート/Excel で簡単に集計する方法を探している
この記事を読むとわかること
- FILTER関数の基本的な使い方
- 1行おき・1列おき・一つ飛ばしの合計方法
- Excel/スプレッドシート両方での活用例
- 注意点とよくあるミス
FILTER関数とは?
FILTER関数の基本的な仕組み
FILTER
関数は、指定した条件に一致するデータだけを抽出することができる関数です。
構文:
FILTER(array, include, [if_empty])
array
: データ範囲include
: 抽出条件if_empty
: 条件に合うデータがない場合の返り値(省略可)
対応バージョン:
- Excel 2021 / Microsoft 365
- Googleスプレッドシート
なぜFILTER関数が便利なのか
従来のSUMPRODUCT
関数や複雑な配列数式に比べ、FILTER
関数はシンプルな構文で柔軟にデータ抽出が可能です。さらに、動的配列により範囲が自動的に変化するため、最新のExcel/スプレッドシートでは主流になりつつあります。
公式リファレンス・参考ページ
【具体例】FILTER関数で1行おき・1列おき・一つ飛ばしの合計を出す方法
1列おき(偶数列/奇数列)の合計例
ExcelではCOLUMN
関数を利用して偶数・奇数列を判定します。
例(偶数列):
=SUM(FILTER(A1:J1, MOD(COLUMN(A1:J1),2)=0))

例(奇数列):
=SUM(FILTER(A1:J1, MOD(COLUMN(A1:J1),2)=1))

Googleスプレッドシートでも同様の構文で利用できます。
1行おき(偶数行/奇数行)の合計例
例(偶数行):
=SUM(FILTER(A1:A10, MOD(ROW(A1:A10),2)=0))

例(奇数行):
=SUM(FILTER(A1:A10, MOD(ROW(A1:A10),2)=1))

一つ飛ばしの合計例(行でも列でも応用可能)
一つ飛ばしの方法は、範囲内の先頭セルを基準に「1つ飛ばし(1行おき/1列おき)」に合計したい場合に使います。たとえば「1行目が見出し、2行目からデータが1行おきに入っている」などのケースで便利です。
偶数行/偶数列との違いは、偶数は「シート全体の行番号・列番号」が基準ですが、一つ飛ばしは「指定した範囲の中の相対位置」が基準になります。
例(1列おき、一つ飛ばし):
=SUM(FILTER(A1:J1, MOD(COLUMN(A1:J1)-COLUMN(A1),2)=0))

例(1行おき、一つ飛ばし):
=SUM(FILTER(A1:A10, MOD(ROW(A1:A10)-ROW(A1),2)=0))

【応用例】もっと複雑なパターンにも対応する方法
2行/2列飛ばしの場合
例(2行飛ばし(3行ごと)):
=SUM(FILTER(A1:A10, MOD(ROW(A1:A10),3)=0))

特定の条件で合計する場合(他関数との組み合わせ例)
例:100以上のデータのみ 1行おきに合計
=SUM(FILTER(A1:A10, (MOD(ROW(A1:A10),2)=0)*(A1:A10>=100)))

注意点とよくあるミス
FILTER関数が使えないバージョンの場合
Excel 2019以前ではFILTER関数は利用できません。その場合は、SUMPRODUCT関数などを活用してください(詳しくは【Excel】1行おき・1列おき・一つ飛ばしで合計を出す方法(SUMPRODUCT関数活用法)をご参照ください)。
範囲指定ミスに注意
- 列全体/行全体を指定する場合、ヘッダー行や不要なデータが入らないよう注意。
- 絶対参照/相対参照のミスにも注意。
動的配列が意図しない形になる場合の対処法
- 元のデータに空白やエラー値が混在していると意図しない結果になることがあります。
- 必要に応じて
IFERROR
やISNUMBER
関数を併用しましょう。
まとめ
この記事のポイントまとめ
- FILTER関数はExcel/Googleスプレッドシートどちらでも使える便利な関数。
- 1行おき・1列おき・一つ飛ばしの合計が簡単に実現可能。
- 応用次第で柔軟な集計ができる。
- FILTER関数が使えない場合はSUMPRODUCT関数が代用になる。
FILTER関数が使えない場合は、「【Excel】1行おき・1列おき・一つ飛ばしで合計を出す方法|SUMPRODUCT関数で簡単解説」をご参照ください。
よくある質問(FAQ)
- QFILTER関数はExcelのどのバージョンで使える?
- A
Excel 2021、Microsoft 365で利用可能です。Excel 2019以前では利用できません。
- QGoogleスプレッドシートでは同じ方法が使える?
- A
使えます。スプレッドシートはFILTER関数が標準対応しています。動作は基本的にExcelと同じですが、スピル範囲(自動展開)や空白セルの扱いなど一部細かな挙動が異なる場合があります。
- QFILTER関数とSUMPRODUCT関数の違いは?
- A
FILTER関数は条件に合うデータを抽出する関数、SUMPRODUCT関数は条件に合うデータを集計する用途に使われることが多いです。FILTERはより柔軟な操作が可能です。
- QFILTER関数でさらに複雑な条件もできますか?
- A
可能です。複数条件を掛け合わせたり、他の関数(例えばIF、ISNUMBER、ANDなど)と組み合わせることでさらに柔軟な使い方ができます。