• ベストアンサー

エクセルの集計について

行が多い表計算があるのですが、偶数行だけ、奇数行だけの合計を求めるような関数はありませんか。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

方法1.ROW関数で行数を特定してMOD関数で振り分ける。 奇数行=SUMPRODUCT((MOD(ROW(B2:B99),2)=1)*(B2:B99)) 偶数行=SUMPRODUCT((MOD(ROW(B2:B99),2)=0)*(B2:B99)) 方法2.空いている列に抽出用のフラグを立てる。 A2に"B",A3に"A"と入れて下方にコピー 奇数行=SUMIF(A2:A99,"A",B2:B99) 偶数行=SUMIF(A2:A99,"B",B2:B99)

noname#57781
質問者

お礼

ありがとうございました。 私の様な初心者にはSUMIFの関数方法が簡単で分かりやすかったです。 特に今回は奇数行、偶数行だけでしたが、3行毎など応用が利きやすいと思います。 ROW関数については、教えていただいて申し訳ありませんが理解できませんでした。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

関数じゃないが 例データA1:B5 コード 計数 奇数行 11 偶数行 12 奇数行 13 偶数行 14 Å2は=IF(MOD(ROW()-1,2)=0,"偶数行","奇数行") 全範囲を指定して データーピボットテーブルー次へ・・・3/3の画面の レイアウトで 列にコード、データに計数を指定 ・・・完了。 結果 合計 / 計数 コード 合計 奇数行 24 偶数行 26 総計 50 ーー 作業列を使う方法 例データ コード 計数 A列  B列   C列 奇数行 11 11 偶数行 12 0 奇数行 13 13 偶数行 14 0 C列は=ISODD(ROW()-1)*B2 下方向に式複写。 単純にSUMで奇数行の合計。 SUMPRODUCT、配列数式などなじみがなければ、中間列を使って =ISODD(ROW()-1) と入れて、行を奇数行か偶数行か仕分けサインが入れられる。 ーー またはD2に(、D3に)を入れて。D2:D3を範囲指定し、+ハンドルを出して、下へ引っ張ると、(と)が上下で交互にセットされるので、それをSUMIF関数で使って加算しても良い。A,Bの組、0,1の組ではうまくいかないだろう。

noname#57781
質問者

お礼

まず私の聞き方が悪かったのですが、関数初心者なもので、内容が高度な為、理解できませんでした。 もっと勉強をした上で使用してみます。 まずはSUMIFを使って今回の表を完成させます。 今後も分からないことが多く出てくると思いますので、そのときには、また教えてください

回答No.2

http://pc.nikkeibp.co.jp/article/NPC/20060213/229139/ を参照ください 要は 計算対象の左側の列の数値で、 「偶数行」または「奇数行」の場合だけ表示させる関数を 一時的に右列に入力し、 その関数の入っている列(右列)に対してsumをかける、 ・・・というロジックだと思います 一時的にテンポラリー列を用意し 関数「IF(MOD(ROW(),2)=0,C2,"")」で偶数(←この場合は偶数ですね)または奇数行だけ数値が表示されるようにする・・・・というのがポイントだと思います

noname#57781
質問者

お礼

教えていただきありがとうございました。 初心者の私としてはROW関数になじみが無く理解できませんでした。 時間があるときにためさせていただきます。 今回はSUMIF関数を使用し表を完成させたいと思います。