• ベストアンサー

一行おきの集計

エクセルで集計表を作成したいのですが、 一行おきに数量と金額が入った集計表が必要です。 が一行おきの集計の計算式の入れ方を教えて下さい。 ひとつひとつのセルを足していく方法でしたら出来るのですが、 レコードが多いので、簡単にできる方法を教えて下さい。 数量、金額というような項目名(キー)となるレコードはありません。 よろしく御願いします。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.10

ANo.#8は、ANo.#7の補足について解釈を間違えていますので破棄します。 ANo.#7の(1)、(2)の式はいずれも複写可能のはずです。手順としては、  配列数式として登録した後、そのセルをコピーして他セルに貼り付ける順序になります。  コピーは問題なくできると思っているので、ANo.#7の補足について考える時、眼中にありませんでした。 ANo.#9の補足に関して実行すれば、  C5: =SUM(IF(MOD(ROW(C1:C4),2)=MOD(ROW(C1),2),C1:C4,0)) を入力。Ctrl+Shift+Enterで登録。  ↓  C5をコピー  ↓  D5に貼り付け(D5:E5に貼り付けでもいい)   で、D5には    =SUM(IF(MOD(ROW(D1:D4),2)=MOD(ROW(D1),2),D1:D4,0))   と登録され、正しい答えがでます。(私のPCでは出ました) 一旦、配列数式として正しく登録されれば、通常の算式と同様な扱いでコピーできます。 配列数式として正しく入力できれば、数式の窓で、算式が { }に囲まれています。 ANo.#7の式で、配列数式として登録した後、普通にコピー&ペーストを行ってみてください。

lei
質問者

お礼

もう一度試してみます。 いろいろと有り難うございました。

その他の回答 (9)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.9

>上下別々の集計が複数列あるということです。 ますます、どのようなセルの状態を集計するのか分からなくなりました。 表の行・列の関係を視覚的に(とか)補足してもらえますか。理解できれば問題ないと思いますが・・・

lei
質問者

補足

最初にいただいた回答で一応できるのですが、 先ほどの例で言いますと、C列だけしか計算していないので、 C列はそのままにしておいて、D列、E列、F列‥‥と順番に同じことを しようと試みると、C列で入力した式をコピーするだけでは自動的にD、E、F‥‥とならないのです。    C列  D列  E列 1行 2   3  4 2行 1   2  5 3行 3   2  2 4行 1   1  1 奇行 5   5  6 偶行 2   3  6 仮に1行C列から4行E列までを奇数行、偶数行と分けて集計するならば、 C列の奇数行、偶数行に教えていただきました、式を入力しますとC列は もちろんできます。この例だと奇数行が5、偶就業が2という結果が 得られます。では今度はD列の奇数行、偶数行、つまりこの例では5、3 という結果を得ようとすると、D列にも教えていただきました式を入力 すれば結果はもちろん得られます。ただこの例のようにC、D、E列と 3列しかなければそれぞれの列に計算式を入れればすみますが、3列だけではなく数十列もあったとするなら、計算式を入れていくのはかなり骨が折れます。これを簡単にする方法があれば教えていただきたいのです。 どうかよろしくお願いします。

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.8

複数列を対象にしてみました。 連続する列(C、D、E列)を1行おきに集計します。C3:C12→C3:E12に変わります。  =SUM(IF(MOD(ROW(C3:C12),2)=MOD(ROW(C3),2),C3:E12,0)) 離れた列(C、E、G列)を1行おきに集計します。C3:C12→C3:C12+E3:E12+G3:G12に変わります。  =SUM(IF(MOD(ROW(C3:C12),2)=MOD(ROW(C3),2),C3:C12+E3:E12+G3:G12,0)) >複数列ある場合・・・ はこういう意味だったでしょうか。

lei
質問者

補足

ごめんなさい。質問が悪かったです。 上下別々の集計が複数列あるということです。 通常の集計でしたら、横のフィールドにコピーするだけですむのですが、 この場合はコピーが出来ませんでした。 ひとつひとつ入力する必要があるのですか?

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.7

意味が分かりました。行挿入しても変わらないようにするには、 (1)上下毎に先頭行を変えて算式を作った場合    上 =SUM(IF(MOD(ROW(C3:C12),2)=MOD(ROW(C3),2),C3:C12,0))    下 =SUM(IF(MOD(ROW(C4:C13),2)=MOD(ROW(C4),2),C4:C13,0))       のようにして判定します。 (2)上下とも同じ範囲を使って算式を作った場合    上 =SUM(IF(MOD(ROW(C3:C12),2)=MOD(ROW(C3),2),C3:C12,0))    下 =SUM(IF(MOD(ROW(C3:C12),2)=MOD(ROW(C3)-1,2),C3:C12,0))       のようにして判定します。配列数式です。 grumpy_the_dwarfさんの回答のSUMPRODUCT・・・はきれいな答ですね。

lei
質問者

補足

上下段とも集計出来ました。有り難うございました。 しかしながら、列が1つではないのでコピーをしようと思いましたら、 出来ませんでした。 すみませんが、最後にもう1つ複数列ある場合の方法を教えて下さい。

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

こんな方法は非実用的でしょうか。 A列にデータが入っているとして、使わない列をR列として、第1行に「1」を、第2行目に「0」を入力し、第1行と第2行を範囲指定してコピーし、下へ必要行数複写します。 その隣の使わない列Sの第1行に「=A1*R1」の式を入れ、第2行目以下に式の複写をします。そして 例えば99、100行目が最下行として、99行目に =Sum(T1:T99)を入れます。 無駄な列を使うのが欠点ですが、わかりやすいのでは。

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.5

>ただ集計セルの上にレコードを追加すると、 >集計結果が変わらない方法があれば教えていただけませんか? すいません。意味がわかりません。 回答した算式(=SUM(・・・・))を書いたセルに上書きするような場合?ですか? 再計算をさせない意味でしょうか?

lei
質問者

補足

>ただ集計セルの上にレコードを追加すると、 >集計結果が変わらない方法があれば教えていただけませんか? たとえば3行目から集計をするとすれば、 奇数から集計が始まりますが、 3行目より上の行にレコードを挿入すると、 4行目から集計することになるので、偶数になってしまうのが、問題なのです。 分かり難くてすみませんでした。

回答No.4

更に別解です。A1:A14の範囲を集計する場合ですが、 奇数行: =SUMPRODUCT(A1:A14,ROW(A1:A14)-ODD(ROW(A1:A14))+1) 偶数行: =SUMPRODUCT(A1:A14,ROW(A1:A14)-EVEN(ROW(A1:A14))+1) 奇数(ODD)と偶数(EVEN)が数式の中に素直に出てくるよう工夫してみました。

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

範囲C3:C12を集計する例です。(先頭行は奇数の『3』です。) 集計したいセルに =SUM(IF(MOD(ROW(C3:C12),2)=1,C3:C12,0)) として、Ctrl+Shift+Enter で登録します。配列数式です。 MOD(ROW(C3:C12),2)=1 で奇数行だけを集計しています。 上の例で偶数行目を集計するには =SUM(IF(MOD(ROW(C3:C12),2)=0,C3:C12,0)) として、Ctrl+Shift+Enter で登録します。 実際の集計範囲に修正してみて下さい。

lei
質問者

お礼

早速のお返事有り難うございます。 お蔭様で上手く行きました、 ただ集計セルの上にレコードを追加すると、 集計結果が変わらない方法があれば教えていただけませんか?

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 確実な方法ではないですが。 数量と金額が明らかに数値の大きさが違う場合(例えば、金額は最低1000で、数量は最大でも1000未満)に限りますが、合計をSUMIF関数で出すことが出来ます。 例えば、A1~A100までに数量と金額が1行おきに入力されているとして、上記のように金額が1000以上、数量が1000未満だとします。 合計金額を出すセルに、 =SUMIF(A1:A100, ">=1000") となります。 では。

  • kiyoto
  • ベストアンサー率31% (63/197)
回答No.1

これでよいでしょうか?

参考URL:
http://arena.nikkeibp.co.jp/lecture/excel36/20020412/01/