- 締切済み
エクセルで数式の結果が正しく表示されない
エクセルで、奇数行毎と偶数行毎に合計を出したいため、 SUM(IF(MOD(ROW(C2:C53),2)=0,C2:C53,"")) という数式を入れました。 関数ダイアログボックスの左下に出る「数式の結果」では、確かに奇数行だけの合計がでています。 しかし、セルに表示される数字が、C2:C53の合計が出てしまいます>< F9で計算結果を出すと、正しい計算結果がでますが、数式を残しておきたいんです。 なにが間違っているのか、どうすればいいのか、分かる方いらっしゃいましたら教えて下さいOrz ちなみにC2からC53まで、奇数行と偶数行にそれぞれ"合計金額"と"消費税"が入っていて、空欄の行もあります。 数式が入っているのはC54です。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- zap35
- ベストアンサー率44% (1383/3079)
#02です 本当は聞くだけでなくご自身で調べて欲しかったのですが… SUMPRODUCT関数は本来「配列の積の和」を求める関数です。 これを応用して「条件に合致する」セルの値を合計することが可能です >奇数行の合計 >=SUMPRODUCT((MOD(ROW(C2:C53),2)=1)*(C2:C53)) の >MOD(ROW(C2:C53),2)=1 の部分は奇数行の時True(値は1)、偶数行の時False(値は0)になります ですから 0*C2 1*C3 0*C4 途中省略 0*C52 1*C53 のそれぞれの積の和を求めることになります。つまり奇数行の和になるのです このサイトでSUMPRODUCTで検索してみてください 同様の事例がたくさんありますよ
- zap35
- ベストアンサー率44% (1383/3079)
奇数行の合計 =SUMPRODUCT((MOD(ROW(C2:C53),2)=1)*(C2:C53)) 偶数行の合計 =SUMPRODUCT((MOD(ROW(C2:C53),2)=0)*(C2:C53)) もし「ツール」→「アドイン」で「分析ツール」にチェックが入っていたら以下でもできます。 奇数行の合計 =SUMPRODUCT(ISODD(ROW(C2:C53))*(C2:C53)) 偶数行の合計 =SUMPRODUCT(ISEVEN(ROW(C2:C53))*(C2:C53))
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
その数式は、配列数式として入力しないと希望の結果になりませ ん。普通の数式でrow(C2:C53)は無条件で2です。配列数式がよくわ かんないとか、編集するたびに配列数式になるように修飾キーを押 すのが面倒くさいというのなら、 =sumproduct(mod(row(C2:C53),2),C2:C53) のようにsumproduct関数の使用を考えるといいですよ。
お礼
ありがとうございました。 教えていただいたSUMPRODUCTの式で、やってみたのですが、偶数行の合計の仕方がわかりません・・・。 ちなみに、配列数式はよくわかりません;; 配列数式にするにはどうすればよいでしょうか?
お礼
ありがとうございました!できました! ちなみにこの式はどう解釈すればいいのでしょうか?もしお暇があれば教えていただけるとうれしいです。