Excelで飛び飛びの合計(1行おき・2行おき・3行おき)を取得する方法

Excelで数値を1行ごと、2行ごと、3行ごとなど、飛び飛びに合計する方法をご紹介します。ISODD関数やMOD関数を使って合計する方法や、フィルター機能を使って複雑な数式なしで合計する方法についても解説しているので、ぜひ参考にしてみてください。

スポンサーリンク

フィルターで飛び飛びの合計を取得する方法

エクセルで飛び飛びの合計をする方法

まず合計する数値の隣接行に、印(しるし)を飛び飛びに入力してください。

印は最初の 2 つほどを入力しておけば、オートフィルで入力パターンをコピーできます。行数が多い場合は [Ctrl]+[Shift]+[↓] で下まで選択し、貼り付けが便利です。

印を入れる間隔によって、合計の間隔を簡単に調整できます。

エクセルで飛び飛びの合計をする方法

次に表など一連の範囲を選択し、データタブからフィルターを挿入します。

エクセルで飛び飛びの合計をする方法

印列の絞込みアイコン[▼]を開き、空白セルのチェックを外してください。

OKボタンを押すと、合計対象の行のみのデータにフィルタ処理されました。ただし、ここでSUM関数を使うと非表示の行もすべて合計に含まれます。

エクセルで飛び飛びの合計をする方法

最後に SUMTOTAL関数 で非表示の行を含まない数値を合計しましょう。

今回は集計コードに 109(非表示の行を含まないSUM関数) を指定していますが、フィルタ結果に含まれない行は集計方法の値にかかわらずすべて無視されます。

SUBTOTAL関数の構成要素:(集計方法,範囲 1,[範囲 2],…)

スポンサーリンク

1行おき(奇数行・偶数行)に合計する関数

エクセルで飛び飛びの合計をする方法

偶数行のみ合計する数式は SUM(IF(ISODD(ROW(A:A)),””,A:A)) です。配列を使用しているので、数式を確定するときに [Ctrl]+[Shift]+[Enter] を押してください。

  1. ISODD関数はROW関数から行番号を受け取り、奇数ならTRUEを返します。
  2. IF関数はISODD関数の返り値が TRUE なら空白を、 FALSE なら数値を返します。
  3. SUM関数は、IF関数から受け取った数値を合計します。

Excel のバージョンが Microsoft 365 の場合は、単に [Enter] で問題ありません。

エクセルで飛び飛びの合計をする方法

ISODD関数は数値が奇数なら TRUE を、数値が偶数なら FALSE を返します。

ROW関数は指定したセルの行番号を返すので、ROW(A2) の返り値は 2 です。2 は奇数ではないので、ISODD(ROW(A2)) は FALSE を返します。

ISODD関数の構成要素:(数値)

エクセルで飛び飛びの合計をする方法

IF関数は論理式が真(TRUE)ら真の場合の値を、偽(FALSE)なら偽の場合の値を返します。

つまり IF(C2,””,A2) が数値を返すのは、行番号が偶数の場合のみです。最後にこれらの数値をSUM関数で集計することで、偶数行のみの合計を取得しています。

IF関数の構成要素:(論理式, [値が真の場合], [値が偽の場合])

エクセルで飛び飛びの合計をする方法

奇数行のみ合計する場合は、IF関数の TURE値 と FALSE値 を入れ替えてください。

例えば SUM(IF(ISODD(ROW(A:A)),A:A,””)) は行番号が奇数ならTRUE値の数値を、行番号が偶数なら FALSE値の空白を返します。

スポンサーリンク

2行おき・3行おきに合計する関数

エクセルで2行おき・3行おきの合計をする方法

2行おきに合計する数式は SUM(IF(MOD(ROW(A:A)-1,3)=0,A:A,””)) です。配列を使用しているので、数式を確定するときに [Ctrl]+[Shift]+[Enter] を押してください。

  1. 2行目を開始位置とするため、ROW関数で取得した行数に 1 を減算します。
  2. MOD関数は 行数を受け取り、3 で除算した余剰を返します。
  3. IF関数は行数の余剰が 0 の場合のみ数値を返し、SUM関数が合計します。

Excel のバージョンが Microsoft 365 の場合は、単に [Enter] で問題ありません。

エクセルで2行おき・3行おきの合計をする方法

ROW関数は、引数として指定した参照の行番号を返します。

今回求めるのは2行目を開始位置とした、一定間隔おきのセルの合計です。そのためROW関数に -1 することで、2行目のセルの行番号を 1 としています。

ROW関数の構成要素:([参照])

エクセルで2行おき・3行おきの合計をする方法

MOD関数は数値を除数で割ったときの、剰余を返します。

例えば MOD(C2,3) なら、数値を 3 で割り算するので、余剰は 1 です。つまり除数が 3 である限り、MOD関数は数値(行番号)が 3 の倍数のとき 0 を返します。

MOD関数の構成要素:(数値, 除数)

エクセルで2行おき・3行おきの合計をする方法

IF(D2=0,A2,””) はMOD関数の返り値が 0 なら数値を、それ以外なら空白を返します。そのためIF関数が数値を返すのは、開始位置から数えて2行おきです。

最後にこれらの数値をSUM関数で集計することで、数値を2行おきに合計しています。

IF関数の構成要素:(論理式, [値が真の場合], [値が偽の場合])

エクセルで2行おき・3行おきの合計をする方法

3行おきに合計する場合は、MOD関数の除数を 4 にしてください。

例えば SUM(IF(MOD(ROW(A:A)-1,4)=0,A:A,””)) なら、行番号が 4 の倍数のセルのみ合計します。なお除数を 2 にすれば、1行おきの合計も可能です。

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