- ベストアンサー
1行とばして合計
= SUM(IF(ISEVEN(ROW(G8:G12)), G8:G12, 0 )) G8からG12までの合計が出ます。 偶数行G8、G10、G12・・・の合計を出すにはどうしたらよいのでしょう。 教えてください。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
配列数式として確定(Ctrl + Shift + Enter)してないだけでは? いずれにしろフラグ立てて普通に計算した方がいいと思います。 F列に「1」を入れた行だけ合計 =SUMIF(F8:F12,1,G8:G12)
その他の回答 (5)
- bunjii
- ベストアンサー率43% (3589/8249)
提示されたSUM関数の中にIF関数は無駄です。 また、数式内で配列値を親関数に返す時は数式の確定時にCtrl+Shift+Enterの打鍵が必要です。 確定後の数式バーには数式全体を{}で括られています。 {=SUM(IF(ISEVEN(ROW(G8:G12)), G8:G12, 0 ))} ↓ {=SUM(ISEVEN(ROW(G8:G12))*G8:G12)} 尚、数式の中に無駄な空白が含まれていますので、やめた方が良いと良いと思います。 数式の確定時にEnterキーのみにしたいときはSUMPRODUCT関数を使うと良いでしょう。 =SUMPRODUCT(G8:G12*ISEVEN(ROW(G8:G12)))
お礼
お返事ありがとうございます。
- kagakusuki
- ベストアンサー率51% (2610/5101)
偶数行と奇数行の扱いが異なるという事は、偶数行と奇数行では入力されているデータが異なるという事なのではないかと思います。 ですから、G列以外の適当な列において、偶数行のセルに共通する項目名を入力しておき、SUMIF関数を使ってその「偶数行にだけ共通する項目名が入力されている行」のデータだけを合計する様にされると良いと思います。 例えば、D列のD8~D20の範囲において奇数行には「項目A」、偶数行には「項目B」と入力されていた場合、 =SUMIF($D$8:$D$20,"項目B",$G$8:$G$20) などの様にすれば、G8~G20の範囲の偶数行の数値だけの合計を求める事が出来ます。 尚、「項目B-1」、「項目B-2」、「項目B-3」、「項目B-4」などの様に、項目名の一部だけが共通で、末尾や先頭部分が異なる場合には、ワイルドカードを使用して =SUMIF($D$8:$D$20,"項目B-*",$G$8:$G$20) などの様にされると良いと思います。
お礼
勉強になりました。ありがとうございます。
- Nouble
- ベストアンサー率18% (330/1783)
=SUMPLODUCT(G8:G12,ISEVEN(ROW(G8:G12))) =SUMPRODUCT(IF(ISEVEN(ROW(G8:G12)), G8:G12, 0 *G8:G12)) IF文では 同量の要素数 此が、必要 です なお、 sumには 特殊な仕様がある ので、使用は 止めましょう
お礼
ご指摘ありがとうございます。
- baronnana
- ベストアンサー率37% (3/8)
その枠を選ぶとき(合計したいところ)コントロールキーを押しながら選ぶと良いと思います。
お礼
お返事ありがとうございます。
- mpascal
- ベストアンサー率21% (1136/5195)
お礼
お返事ありがとうございます。
お礼
新しい知識、ありがとうございます。