• ベストアンサー

○列おきの数字を合計する

  現在エクセル2003を使用しています。  先日エクセルで集計表を作成している時に2列おき、3列おきの数値を合計する必要があり  「教えて!goo」の回答をいろいろ確認しましたが、3列おきは確認できませんでした。   一つ一つセル番地を選んで合計すれば出来ますが、列数が多い時は大変です。今後、4列おき・  5列おき・○列おきを合計する表の作成が必要になるかもしれません。   ぜひお知恵をお貸し下さい。

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

  • ベストアンサー
  • 5W2H
  • ベストアンサー率67% (429/632)
回答No.5

#2です。 B5=SUMPRODUCT((MOD(COLUMN(E5:N5),3)=2)*(E5:N5)) C5=SUMPRODUCT((MOD(COLUMN(E5:N5),3)=0)*(E5:N5)) でできるはずです。

その他の回答 (4)

  • ogawa_sora
  • ベストアンサー率36% (468/1280)
回答No.4

すいません NO3ですが間違っていました行と勘違いしました 訂正 A3~Z3にデータがある場合 1列おき 『{=SUM(IF(MOD(COLUMN(A3:Z3),2)=MOD(COLUMN(A3),2),A3:Z3))}』 2列おき 『{=SUM(IF(MOD(COLUMN(A3:Z3),3)=MOD(COLUMN(A3),3),A3:Z3))}』 となります。 後は同じです

  • ogawa_sora
  • ベストアンサー率36% (468/1280)
回答No.3

今晩は。 仮にB3~B17にデータがあるとして 1列おきの数式 『{=SUM(IF(MOD(COLUMN(B3:B17),2)=MOD(COLUMN(B3),2),B3:B17))}』 2列おきの合計 『{=SUM(IF(MOD(COLUMN(B3:B17),3)=MOD(COLUMN(B3),3),B3:B17))}』 後は 『{=SUM(IF(MOD(COLUMN(B3:B17),?)=MOD(COLUMN(B3),?),B3:B17))}』 ?の所に何列おきかの数値を入れるだけです。 ただ、注意するのは、これは配列数式なので関数式の前後に「{}」を付けることが必要です。 設定方法は、関数式入力後「Ctrl+Shift+Enterキー」を押して数式を完成させます

slowlife-k
質問者

お礼

ogawa_soraさん、回答ありがとうございます。 さっそく次のようにやってみました。  その前に説明不足で申し訳ありませんでしたが、作成した表は例えば E5からN5までに数字が入力してありE5を起点として3列おきを合計するのですが 「B5」のセルに{=SUM(IF(MOD(COLUMN(E5:N5),3)=MOD(COLUMN(E5),3),E5:N5))}と 入力してみたらできました。  (行と列の勘違いをされていると思い(B3:B17)を(E5:N5)と入力してみました。)  私は関数初心者なのでこの関数の意味が分かりませんが時間があるときに教えていただければ幸いです。 ありがとうございました。

  • 5W2H
  • ベストアンサー率67% (429/632)
回答No.2

●1 行おきや 1 列おきの合計を出す http://www.microsoft.com/ja-jp/atlife/tips/archive/office/tips/035.aspx =SUM((MOD(COLUMN(データ範囲),n列おきの「n」)=余り)*データ範囲)) と入力した状態でCtrl+Shift+Enterを押下して配列数式とします。 配列数式については http://pc.nikkeibp.co.jp/pc21/special/hr/hr1.shtml が詳しいです。 数が多いと配列数式の動作も重くなります。 それを避けるには =SUMPRODUCT((MOD(COLUMN(データ範囲),n列おきの「n」)=余り)*(データ範囲)) を使います。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1486748339

slowlife-k
質問者

補足

 5W2Hさん、回答ありがとうございます。 さっそく回答の関数式を参考にやってみました。配列数式は数が多いと動作が重くなる、 と書いてあったので(SUMPRODUCT)で次のようにやってみました。  その前に、説明不足な点があり申し訳なかったのですが、 作成した表の一部を書いてみると、例えば     E5からN5のセルに数字を入力します。    B5のセルにE5・H5・K5・N5の合計を(E5を起点として3列おき)、    C5のセルにF5・I5・L5の合計を(F5を起点として3列おき)、    ・・・・・・ のようになるようにしたいと思っていました。  それで=SUMPRODUCT((MOD(COLUMN(E5:N5),3)=1)*(E5:N5))としてやってみましたがE5を抜かして H5・K5・N5の合計になりました。 (「余り」に入れる数字と「*」の意味が関数初心者の私にはいまいちわからないので「1」と「*」を入力してみました。 できればSUMPRODUCT関数を使って出来るといいなと思います。 再度お知恵を拝借できればと思います。  よろしくお願いします。     <m(__)m>  

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

2列おきの場合は、A2セルに、=A1,B2セルはブランクのままで、A2セル~B2セルを選んで、右にコピーしてから、その行を合計 3列おきの場合は、A2セルに、=A1,B2セルとB3セルはブランクのままで、A2セル~C2セルを選んで、右にコピーしてから、その行を合計

slowlife-k
質問者

お礼

  確かにこのやり方でいけば、難しい関数式を知らなくても簡単にできますね。  教えられてあっ、そうか と思いました。   aokiiさん、ありがとうございました。