• ベストアンサー

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

  現在エクセル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さん、ありがとうございました。

関連するQ&A

  • エクセルでA列の数値にB列以降の列の数値を乗じて各列の最終行に合計を出したい

    エクセルで集計をしたいのです。 うまく説明できませんが教えてください。 列数が100列以上ある集計表です A列の1~20行の固定した数値にB列~100列以上の1~20行の各列の数値を乗じてそれぞれの列の合計をそれぞれの列の21行目に出したいのですがどうしたらいいか教えてください。

  • sum関数で合計が返らない。

    sum関数で、数値の入ったセルの合計を求めようとしましたところ、なぜか合計が1600とならなければならないところ、0になってしまいます。 数値の入ったセルが数値であること(文字列ではない)は、isnumberで確認をしたのですが、原因がわかりません。 どなたか解決方法をご存じの方がいましたらおしえてください。 excel2010です。

  • 列に指定文字が合えば合計値を入力

    Excel2013使用で簡略に作成したのですが集計表の文字Aの1、セルC15にリスト表Aの○合計個数2を入力したい、集計表文字A、B、Cそれぞれの行にリスト表○文字合計数を入力したいのですがセルに入れる関数をお解りの方宜しくお願いします。

  • エクセルで条件に合わせて数字を合計

    エクセルの表にて、 セルに”○”が入っている場合は2、”×”が入っている場合は1で、その結果を合計したいのですが(例:○が3個・×が2個入ったセルがあれば、合計は8というふうに) 入力用と合計用に列を分けて、合計用にIF関数を使って数字を代入し合計するという方法しか思いつきません。VBAなど高度な技術を持ちませんので、やはりこの方法がベストになるのでしょうか? 列を増やさずに出来る方法があればご教授下さい。

  • Excel 2列のデータを合計して1列にするには

    以下のような表1があります。 コード 摘要    収入     A    B    C    D    E    F 1  1月  1日   1月   2日   1月   3日 2    1    1    2    2    3    3 例えばAとBは1月1日のデータで、2列目には数値データが入っています。この場合1月1日の合計値は2です。 このシートを元にして     A     B     C 1 1月1日 1月2日 1月3日 2   2     4     6 上記のような表2を作成したいと思いますが、オートフィルのコピーでは1列ずつ合計されていくのでうまくいきませんでした。 表1の日付の表記は、1セルに「n月n日」となるよう変更することは都合上できません。 簡単に表が作れる方法があれば教えて下さい。よろしくお願いします。

  • エクセルでセルに入っている数字が文字列か数値かを判別

    仕事上のあるデータを人にエクセルで表にしてもらいました。できた表をチェックしているとなんとなく合計値がおかしいような気がして、試しに手計算で足し算をしたところ違っていました。さらに詳細を調べるとどうも「表面上は数値だが実は文字列」というセルがいくつかあることがわかりました。 一体どのようにしてこんな表を作ったのか(できてしまったのか)わかりませんが、問題は、作った人にもどれが文字列でどれが数値かわからないということで、チェックをするしかないのですが、なにせデータ数は数百個あるので1個1個書式をチェックするのは至難の業・・・なにかスマートなよい方法ありませんか??

  • excelの列がいっぱいになり列を増やせなくなった

    よろしくお願いします。excelの列がいっぱいになり、列が入らなくなりました。最初の数列に入っている数値を変えずに列を増やしたいのですが,どうすればよいのでしょうか?増やそうとすると空白でないセルをワークシートの外に移動することはできません。新しいセルを別の場所に移すかワークシートの末尾からデータを削除してください。とでます。POP UPされるCTRL+ENDの方法も試しましたが列に入っている数値が変わってしまいます。数値が入っている列をコピーして新しい表を作成するしかないのでしょうか?どなたか教えてください。

  • エクセルマクロ超初心者で、悩んでます。

    エクセルマクロ超初心者で、悩んでます。 どなたか助けてください。 悩みはこうです↓ データ用のワークシートのセルに数字、文字が入力してあります。 セルの数値同士の引き算で算出した数値を列数として、別の印刷用のワークシートのセル番地(列、行)に、「文字」を表示したいのです。 日本語で書いちゃうと ワークシート「印刷用」の、あるセル番地(ワークシート「データ用」から、列数はJ1‐A1、行数はのB1の数値)に ワークシート「データ表」のC1の文字 を出力せよ です。 Worksheets選択がうまくいきません CellsかRangeを使うのかと思いますが、引き算する表現がわかりません・・ 文例があれば、稚拙ながら活用できるかなと思います。 よろしくお願いします!

  • エクセル 列の数値の合計の表示について、

    エクセル 列の数値の合計の表示について、 ごく基本的なことだと思いますが、教えてください。 例えばA列に上から順に数値を入れていき、その合計をB列に表示させるとします。 私のやり方はB列の計算式を=B1+A2としてこのコピーを、数値の数だけ下に下げることで目的を達しました。 すでにA列に数値が何個も入力している場合はこれで良いのですが・・。 ここから質問なのですが、例えばA列に現在10個数値がありB列に順番にその合計が出ているとします。 次にA列11行目に新規に数値を入力した時に、自動的にその合計がB列に出るようにしたいのです。 予めB列の数式のコピーを11行目以降に延ばしておくと、10行目の合計の数値が延ばした行まで並ぶので困っています。 よろしくお願いします。

  • BD2列の同じ行に値があればD列の数値を合計する

    BD2列に数値が入力されそれぞれの列の同じ行に数値が入力されていればD列セルの数値を合計しD8セルに入力したい(同じ数値でなくてよい)のですがどなたか関数が解るかたよろしくお願いします。Windows10office2013です。

専門家に質問してみよう