• ベストアンサー

エクセルで特定のセルの合計

簡単な質問ですいません。   A 1  20  奇数行(1・3・5・7)の 2  11  合計96を出す関数が有れば 3  45  教えて下さい。 4  25 5  13 6  13 7  18

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.5

こんにちは。maruru01です。 新回答ではないですが、ちょっと気になったので。 No.3の方が挙げられた、SUMPRODUCT関数についてですが、 このSUMPRODUCT関数も、配列式(配列数式)です。 SUMの数式とは、[Ctrl]+[Shift]+[Enter]で確定するかどうかが異なるだけです。 [Ctrl]+[Shift]+[Enter]で確定するのは、SUM関数にある、共通部分参照という機能を無効にするためです。 SUMPRODUCT関数には、そもそもこの共通部分参照という機能がないので、[Ctrl]+[Shift]+[Enter]で確定する必要がないだけです。 なお、これら配列数式の詳細は、以下のページを熟読して下さい。 http://pc21.nikkeibp.co.jp/pc21/pc_10/hr6.htm あと、おまけ。 SUMの数式は、 =SUM(IF(MOD(ROW(A1:A7),2),A1:A7)) でもOKです。 (ただし、データ内に小数がある場合は、動作が異なります。) あと、SUMPRODUCT関数の方は、 =SUMPRODUCT((MOD(ROW(A1:A7),2)=1)*1,A1:A7) とした方がいいかも知れません。 このように計算範囲を第2引数にまわすと、データ範囲(A1:A7)に数値として認識出来ない値(文字列など)があった場合に、無視(0とみなす)してくれます。 元の、No.3の方の数式だと、エラーになります。 まあ、数値以外が入ることがなければ、別に問題はないんですけど。 (なお、未入力の空白はエラーにはなりません。) 以上、補足とおまけでした。

参考URL:
http://pc21.nikkeibp.co.jp/pc21/pc_10/hr6.htm

その他の回答 (4)

  • moon00
  • ベストアンサー率44% (315/712)
回答No.4

すいません。#3さんのご指摘通り、偶数行の場合を書いてしまいました。 =SUM(IF(MOD(ROW(A1:A7),2)=1,A1:A7)) 余りを「1」にしないといけなかったですね。 申し訳有りません。

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.3

配列式を使用しない方法。 範囲が数値か空欄の場合、 =SUMPRODUCT((MOD(ROW(A1:A7),2)=1)*A1:A7) で如何でしょうか。 範囲内に文字列が入っていても、それを除外して計算する場合は、 =SUM(IF(MOD(ROW(A1:A7),2)=1,A1:A7,0)) を入力し、Shift+Ctrl+Enter で確定し、配列式にします。{} で括られる。 No.2さんのは、偶数行の場合では・・・

  • moon00
  • ベストアンサー率44% (315/712)
回答No.2

配列数式を利用すればできます。 合計を記入したいセルに =SUM(IF(MOD(ROW(A1:A7),2)=0,A1:A7)) と入力してCtrl+Shift+Enter を押す。 そうすると中括弧が付き、配列数式になります。 MOD関数で行番号(ROW関数で取得)を2で割った余りを 判定し、(奇数だとあまりが1になります) その条件にあうセルだけを計算しています。

  • hiro_1999
  • ベストアンサー率31% (86/277)
回答No.1

=SUM(A1+A3+A5+A7) ではだめですか? 数値が多いとたいへんでね。

関連するQ&A