• ベストアンサー

Exselで1列おきのデータを合計したい

Excel(2000)で1列おきのデータを合計したいのですが、どうすればよいのでしょうか。mod、columnとかを使ってみたのですが、成功していません。お忙しいとは思いますが、ず~っと考えていますが、わかりません。よろしくお願い致します。

  • mokko
  • お礼率60% (9/15)

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

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.5

>{数式}で囲うということは、どういうことなのでしょうか? CTRL + SHIFT + ENTER で数式を確定すると、「配列数式」という特殊な数式を作成することが出来るのです。 ヘルプで「配列数式」を調べてみるとよさそうな気はするのですが、…これを見ても内容がさっぱり理解できないのは私だけではないはずです(^^; とりあえずキモになるのは IF(MOD(COLUMN(A1:G1),2)=0,A1:G1,0) の部分です。 この式の「A1:G1」を「A1」と置き換えてみてください。 IF(MOD(COLUMN(A1),2)=0,A1,0) …式1 これならば、ある程度習熟した方であれば理解できると思います。 「A1の列番号が2で割り切れたらA1の値を、そうでなければ0を返す」ですね。 つまり、式1の結果はA1の値である、という答えが出ました。 んで、今度は式1の「A1」を「B1」に変えて同様の数式を作成し、これの答えも得ます。(今度は、「0」が答えです。) …ってのをG1のセルに至るまで繰り返し、最後に、「SUM()」でその合計を得ているわけです。

mokko
質問者

お礼

何度もありがとうございました.わかりました.

その他の回答 (4)

  • april21
  • ベストアンサー率42% (91/216)
回答No.4

>{数式}で囲うということは、どういうことなのでしょうか? 数式が配列数式と言う事になります。 配列数式については文章だけでは説明し難いので↓を参考に。

参考URL:
http://hp.vector.co.jp/authors/VA014071/tips/hairetsu.html
mokko
質問者

お礼

何度もありがとうございました.わかりました.HPの紹介もありがとうございました.

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.3

そぉですね。「行」じゃなくって「列」でしたね(汗)。見間違えてました。 寝ぼけた頭でやるから、こんなことになるんですよね(^^;) april21さん、ご指摘ありがとうです! SUMIF()を使ったほうも、行列を入れ替えて解釈していただけたら幸いです。 2行目を作業用に使うとしたら、 A2のセルに「=MOD(ROW(),2)」って入力して、データの右端まで複写し、適当なセルに、「=SUMIF(A2:Z2,1,A1:Z1)」とでも書いてやればいいです。

mokko
質問者

補足

ありがとうございます。 できました!!! 初歩的な質問で恐縮ですが {数式}で囲うということは、どういうことなのでしょうか? 囲うことと、囲わないこととの違い、あるいは、かこわなければいけない理由みたいなものを教えてくださると、とてもうれしいのですが。

  • april21
  • ベストアンサー率42% (91/216)
回答No.2

>1列おきのデータを合計 だから・・・・。 =SUM(IF(MOD(COLUMN(A1:G1),2)=0,A1:G1,0)) と数式バーに入力して確定するときに [Ctrl] + [Shift] + [ENTER] キーを押します 。({数式}というように数式にカッコが付きます) A1:G1の所を合計したい範囲に変更してください。 COLUMN(A1:G1),2)=0の0を1に変えると奇数列の合計です。 ARCさんのを数式のROWをCOLUMNに変えれば良いだけです(^^ゞ はずしてたらごめm(__)m

mokko
質問者

補足

ありがとうございます。 できました!!! 初歩的な質問で恐縮ですが {数式}で囲うということは、どういうことなのでしょうか? 囲うことと、囲わないこととの違い、あるいは、かこわなければいけない理由みたいなものを教えてくださると、とてもうれしいのですが。

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

いろいろ考えつきますが、簡単そうなのを。 A列にデータが入力してあって、B列を作業用に使うとします。 1:B1のセルに「=MOD(ROW(),2)」と入力します。 2:B1をコピーし、下のほうまで貼り付け。 3:合計を表示するセルに、「=SUMIF(B:B,0,A:A)」と入力 で完成です。「=SUMIF(B:B,1,A:A)」だと、奇数行の合計になります。 尚、この後でB列を切り取り、別のシートに貼り付けてやると、作業用のセルが目立ちません。 作業用のセルを使わないでやるとすると、 適当なセルに =SUM(IF(MOD($A$1:$A$100,2)=0,$A$1:$A$100,0)) と入力し、[SHIFT]キーと[CTRL]キーを押しながら、[Enter]で確定してください。 (普通に[Enter]で確定すると、変な数値が表示されてしまうので、要注意です。) ちなみに、奇数行を取得するのは、 =SUM(IF(MOD($A$1:$A$100,2)=1,$A$1:$A$100,0)) です。

関連するQ&A

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

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

  • 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日」となるよう変更することは都合上できません。 簡単に表が作れる方法があれば教えて下さい。よろしくお願いします。

  • 合計をいれた列のコピー

    エクセル2000です。 たとえばF列にA~E列までの合計をいれたとしますよね? その結果を、J列にも同じように反映させたいときどうするものなんですか?普通にF列を選択してコピー&ペーストすると、一見同じに見えてもJ列に違う式が入っているようなんです。 一つくらいなら手入力してもいいのですが、こういうのが沢山あるので、いちいち入力しないで済む方法があったら教えてください。

  • Excelで2列のキーワードからのデータを合計するには?

    A列に日付、B列に支店名、C列に商品名、D列に売上金額が売上ごとに入ってます。 ある支店の売上の合計にはSUMIF(支店名)を使っていますが、ある支店の(且つ)ある商品の売上の合計はどうやって計算すればいいのでしょうか?フィルターやピボットテーブルでなく関数を使いたいのですが。 初歩的な質問ですみませんがよろしくお願い致します。

  • エクセル 合計条件が行と列の時の計算式

    エクセルで、データがはいっている”データシート”と 合計を表示させたい”合計シート”があり、 合計シートに同じ番号の品名でおなじ日付のものを合計して 表示させたいと思っています。 データシートには、以下のように品名が同じものが複数はいっています     A列 B列 C列 D列・・・・Z列これからさらにデータが増えていきます 1行目品名 4/1 4/4 4/5 2行目Z100 10  20  30 3行目Z300 40  50  60 4行目Z100 11  22  33 5行目Z200 70  80  90  ・  ・ 200行くらいデータがありこれからさらにデータが増えていきます。 合計シートもデータシートと同じような形で データシートのA列の 同じ番号&同じ日付 の数字をそれぞれセルB2からZ200まで合計した 数字を表示させたいです。     A列 B列 C列 D列・・・・Z列 1行目    4/1 4/4 4/5 2行目Z100 21  42  63 3行目Z300 40  50  60 4行目Z200 70  80  90  ・  ・ 200行目 合計シートのB2セルに入力したのですが、#VALUEエラーがでてしまい ました。 =SUMPRODUCT((データシート'!$A$2:$A$500=合計シート!$A2)*(データシート'!$B$1:$Z$1,合計シート!$B1)) SUMIFでも試してみたのですが、エラーがでてしましました。 説明が分かりにくく申し訳ないですが、どなたか分かる方いらしたら 教えてください。よろしくお願いします。

  • Excelで1列のデータを5列に振り分けする

    Excel2003でA列に1行にあるデータ(半角英数字)を 次のシートに、1行ずつコピーして、それを5列に振り分けするというマクロを作りたいです。 (ただし、コピーは2つずつの時もあります。) 元データ ●A列 B列 C列  1  2  3  4  5  ・  ・ 加工後 ●A列 B列 C列 D列 E列   1   1   2   2   3   3   4   4   5   5   上記のような感じです。ただデータは数字のみでなくて、英数字です。 Excelのマクロは全くの初心者で大変困っています。 どうぞよろしくお願いたします。

  • 基準列ごとの合計

    添付ファイルにある様なA列のIDを基準としてQ列(数量)の合計値をW列(数量合計)に計算したいのですが、ワークシート関数を使って集計範囲をドラックすれば簡単に合計出来ますが、週計範囲が実データでは多行にわたる為、手動での計算は非常に手間が掛ります。 出来ればVBAを使って、一気に計算する方法をお分かりの方いましたらご教示願います。 ※A列のIDは、IDごとに最上段行のみの入力(表示)となります。(同じIDの場合は、入力がありません。) ※実際の表には、この計算には関係のない項目の列があります。(A,B,Q,W列以外)

  • エクセルのデータを条件を絞って合計を出したいのですが。

    エクセルのデータを条件を絞って合計を出したいのですが。 いつもこちらでお世話になってます。 B列に各事業所、 H列に金額 I列に請求開始月(2010年4月、2010年5月という入力) とデータがあり、 それぞれの事業所で、 何月にいくら金額があるかを調べたいのですが、 どのように抽出したら良いでしょうか? また、2010年4月に限っては それ以前(2009年12月など)のデータも合算したいのです。 どうかお知恵を拝借願います 宜しくお願いします。

  • Excelで数行間隔で離れているデータの合計をしたい

    10列目から5行づつ離れたデータを合計したいと思っています。 例えばA10に1,A15に2,A20に3....とデータが続いているとします。 この5行離れているというのはかわりません。Excelの組み込み関数で このような計算をすることができるでしょうか? VBAを利用して5行間隔、X行間隔でデータを合計するというプログラムは作ることができたのですが、組み込み関数を利用してX行間隔のものを合計するといったことができるのかなと思い質問させていただきました。

  • 最終行に合計(最終行が列によって異なる場合)

    エクセルVBAに於いて質問させて頂きます。 タイトルにも書かせていただきましたが、 A列に行数可変のデータ(文字列)があり、 B列に行数可変のデータ(数字)があり、 A列の行数>=B列の行数の条件とき、 A列の最終行+2の位置のA列に文字で合計 A列の最終行+2の位置のB列にsumを表示する場合、 どのようにすれば出来ますでしょうか。 A列の最終行+2の位置のA列に文字で合計は With Range("A3") .End(xlDown).Offset(2, 0).Formula = "合計" End With でいけると思うのですが、 A列の最終行+2の位置のB列にsumを表示する場合どのようにすればいいのかわかりません。 ご教授のほどお願い致します。

専門家に質問してみよう