【スプレッドシート】1行飛ばしで抽出・合計する方法

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

スポンサーリンク

関数を使った抽出・合計

1行飛ばしで抽出する

【スプレッドシート】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行置きに合計したい場合、「1行飛ばしで抽出する」の結果をSUM関数で合計します。

例:=SUM(FILTER(B2:B,MOD(ROW(B2:B),2)=0))

スポンサーリンク

フィルタ機能を使った抽出・合計

1行飛ばしで抽出する

【スプレッドシート】1行飛ばしで抽出・合計する方法

【チェック印(フラグ)の入力】

抽出したいデータの隣の列に、 などのチェック印を、抽出間隔に合わせて入力します。

最初のパターンを入力した後、オートフィル機能やショートカットキー(Ctrl + Shift + )を使って、チェック印を下までコピーします。

【スプレッドシート】1行飛ばしで抽出・合計する方法

【フィルタの適用と絞り込み】

データ範囲全体を選択し、「データ」→「フィルタを作成」をクリックします。

チェック印の列で絞り込みアイコン [▼] を開き、「空白」のチェックを外して OK を押します。

1行飛ばしで合計する

【スプレッドシート】1行飛ばしで抽出・合計する方法

フィルタで絞り込んだデータを、SUBTOTAL関数の関数コード109で合計します。

例:=SUBTOTAL(109,B2:B5)

【数式の解説】

  • 関数コード 109:非表示の行を無視して合計(SUM)を実行します。

SUBTOTAL関数の引数:(関数コード, 範囲1, [範囲2, …])


SUBTOTAL関数の基本的な解説は「SUBTOTAL関数で非表示の行を含まない集計をする方法」の記事をご覧ください。

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