「一行おきに足し算するにはどうしたらいいのでしょうか?」
「一行おきに合計したいのですが・・・?」
といったご質問をいただくことがあります。
Excelの定番的質問といってもいいかもしれません。
いくつもの実装方法が考えられますが、一番簡単なのは作業列を作成する方法でしょう。
※A1:A10セルの偶数行目だけをB11セルに計算する例 B1セルに
「=IF(MOD(ROW(),2)=0,A1,"")」
という数式を入力
↓
B1セルをB10セルまでオートフィル
↓
B11セルに
「=SUM(B1:B10)」
という数式を入力
一旦B1:B10にA列の偶数行目の値だけを表示しておいて、それをB11セルで合計する方法です。
B1セルに入力した
「=IF(MOD(ROW(),2)=0,A1,"")」
は、こういった計算の基本中の基本といっていい数式です。
ROW関数は、そのセルが何行目なのかを返す関数、MOD関数は第1引数を第2引数で割った余りを返す関数です。
▼サンプルファイル(002800.xls 34KByte)ダウンロード
サンプルファイルのB列には上記の例をそのまま入力し、C列には奇数列のみ合計する例を入力してあります。
C1:C10セルには
「=IF(MOD(ROW(),2)=0,"",A1)」
といった数式が入力してあります。
偶数列のみ合計する際には
「=IF(MOD(ROW(),2)=0,A1,"")」
と、IF関数の
第2引数(真の場合)にA1セルの値
第3引数(偽の場合)に空白「""」
を指定していましたが、この第2引数と第3引数をひっくり返せば奇数列のみの合計となります。
もちろんこの判別式にはいろいろな書き方があります。
MOD関数とROW関数を使ったとしても、例えば
「=IF(MOD(ROW(),2)<>0,A1,"")」
「=IF(MOD(ROW(),2)=1,A1,"")」
といった判別でも奇数列のみの合計を計算できます。
今回の方法を、条件付き書式機能で応用すれば、一行おきに色を変えるといったこともできます。
Home » Excel(エクセル)の関数・数式の使い方 » 統計 » 一行おきに合計するには−IF関数・MOD関数・ROW関数