
Googleスプレッドシートで大量のデータから1行おきやN行飛ばしで抽出・合計する方法をご紹介します。 この記事では、FILTERとMOD関数を使った応用テクニックに加え、複雑な数式不要のフィルタ機能を使った簡単な抽出・合計方法も解説しているので、ぜひ参考にしてみてください。
関数を使った抽出・合計
1行飛ばしで抽出する

2行目から始まるデータを、1行飛ばしで抽出したい場合、数式は次のようになります。
例:=FILTER(A2:A,MOD(ROW(A2:A),2)=0)
【数式の解説】
- MOD関数は、ROW関数で取得した行番号を、除数(
2)で割り算した余りを返します。 - FILTER関数は、抽出範囲(
A2:A)を、条件(割り算の余りが0)と一致する行にフィルタ処理して返します。
FILTER関数の引数:(範囲, 条件1, [条件2, …])
▶️データが1行目から始まる場合
データ範囲の行番号を2で割った余りが1になる行を抽出します。
例:=FILTER(A:A, MOD(ROW(A:A),2)=1)
▶️2行飛ばしで抽出する場合
2行飛ばし(3行に1回抽出)の場合、MOD関数の除数に3を使います。
- データが1行目から始まる場合
- 例:
=FILTER(A:A,MOD(ROW(A:A),3)=1) - データが2行目から始まる場合
- 例:
=FILTER(A2:A,MOD(ROW(A2:A)-2,3)=0)
1行飛ばしで合計する

1行置きに合計したい場合、「1行飛ばしで抽出する」の結果をSUM関数で合計します。
例:=SUM(FILTER(B2:B,MOD(ROW(B2:B),2)=0))
フィルタ機能を使った抽出・合計
1行飛ばしで抽出する

【チェック印(フラグ)の入力】
抽出したいデータの隣の列に、〇 などのチェック印を、抽出間隔に合わせて入力します。
最初のパターンを入力した後、オートフィル機能やショートカットキー(Ctrl + Shift + ↓)を使って、チェック印を下までコピーします。

【フィルタの適用と絞り込み】
データ範囲全体を選択し、「データ」→「フィルタを作成」をクリックします。
チェック印の列で絞り込みアイコン [▼] を開き、「空白」のチェックを外して OK を押します。
1行飛ばしで合計する

フィルタで絞り込んだデータを、SUBTOTAL関数の関数コード109で合計します。
例:=SUBTOTAL(109,B2:B5)
【数式の解説】
- 関数コード
109:非表示の行を無視して合計(SUM)を実行します。
SUBTOTAL関数の引数:(関数コード, 範囲1, [範囲2, …])
SUBTOTAL関数の基本的な解説は「SUBTOTAL関数で非表示の行を含まない集計をする方法」の記事をご覧ください。