業務効率化

【Excel・スプレッドシート対応】FILTER関数で1行おき・1列おき・一つ飛ばしの合計を出す方法

スポンサーリンク

この記事でできること・対象読者

こんな悩みはありませんか?

  • 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列おき、一つ飛ばしの合計のサンプル画像

例(1行おき、一つ飛ばし):

=SUM(FILTER(A1:A10, MOD(ROW(A1:A10)-ROW(A1),2)=0))
1行おき、一つ飛ばしの合計のサンプル画像

【応用例】もっと複雑なパターンにも対応する方法

2行/2列飛ばしの場合

例(2行飛ばし3行ごと)

=SUM(FILTER(A1:A10, MOD(ROW(A1:A10),3)=0))
2行飛ばし(3行ごと)の合計のサンプル画像

特定の条件で合計する場合(他関数との組み合わせ例)

例:100以上のデータのみ 1行おきに合計

=SUM(FILTER(A1:A10, (MOD(ROW(A1:A10),2)=0)*(A1:A10>=100)))
100以上のデータ、1行おきの合計のサンプル画像

注意点とよくあるミス

FILTER関数が使えないバージョンの場合

Excel 2019以前ではFILTER関数は利用できません。その場合は、SUMPRODUCT関数などを活用してください(詳しくは【Excel】1行おき・1列おき・一つ飛ばしで合計を出す方法(SUMPRODUCT関数活用法)をご参照ください)。

範囲指定ミスに注意

  • 列全体/行全体を指定する場合、ヘッダー行や不要なデータが入らないよう注意。
  • 絶対参照/相対参照のミスにも注意。

動的配列が意図しない形になる場合の対処法

  • 元のデータに空白やエラー値が混在していると意図しない結果になることがあります。
  • 必要に応じてIFERRORISNUMBER関数を併用しましょう。

まとめ

この記事のポイントまとめ

  • FILTER関数はExcel/Googleスプレッドシートどちらでも使える便利な関数。
  • 1行おき・1列おき・一つ飛ばしの合計が簡単に実現可能。
  • 応用次第で柔軟な集計ができる。
  • FILTER関数が使えない場合はSUMPRODUCT関数が代用になる。

よくある質問(FAQ)

Q
FILTER関数はExcelのどのバージョンで使える?
A

Excel 2021、Microsoft 365で利用可能です。Excel 2019以前では利用できません。

Q
Googleスプレッドシートでは同じ方法が使える?
A

使えます。スプレッドシートはFILTER関数が標準対応しています。動作は基本的にExcelと同じですが、スピル範囲(自動展開)や空白セルの扱いなど一部細かな挙動が異なる場合があります。

Q
FILTER関数とSUMPRODUCT関数の違いは?
A

FILTER関数は条件に合うデータを抽出する関数、SUMPRODUCT関数は条件に合うデータを集計する用途に使われることが多いです。FILTERはより柔軟な操作が可能です。

Q
FILTER関数でさらに複雑な条件もできますか?
A

可能です。複数条件を掛け合わせたり、他の関数(例えばIF、ISNUMBER、ANDなど)と組み合わせることでさらに柔軟な使い方ができます。


タイトルとURLをコピーしました