• ベストアンサー

一行おきの集計

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

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

  • ベストアンサー
  • 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/17068)
回答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/
全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 一行おきの集計

    エクセルで一行おきの数字を集計する方法は?

  • エクセルデータをVBAを使って集計する方法

    エクセルのデータを次のように集計したいのですが、良い方法を教えて下さい。VBAに組み込みたいのですが。 元のデータは次のような項目に分かれています。 (納入日)(契約番号)(取引先)(商品名)(数量)(金額)  納入日毎に1件づつ入力されているのですが、これを、取引先別、商品別に数量と金額を集計したいのです。 集計項目が2項目あるため、ピボットテーブルで集計すると、1件が2行になってしまい、後の加工がしづらいのです。 今のところ、ピボットテーブルで数量と金額を別々に集計して、後でVLOOKUP等の関数を使って表を1つする事を考えているのですが、もっと良い方法をご存知ないでしょうか。

  • エクセル2003 表 集計

    エクセルの表の集計方法について質問します。 各月のシートに記入された内容の内ボールペンの数量だけをまとめの表のように集計したいですのですが、どうすればいいのでしょうか?尚、各月のシートのabcd・・・又はボールペン等の位置が変わる場合もあります。現状、INDEX+MATCHの組み合わせで、計算式に入るシート名のみ手入力で修正し対応しています。シート名の変化(4月,5月・・・)についても、セルに入力された内容を利用できないか教えて頂けないでしょうか?宜しくお願い致します。

  • エクセルの集計

    エクセルでの集計(集計と呼べるか解りませんが)についてです。 A列に品番 A-1・A-2・A3・・・が入力されています。B列に品番の残数量 300・500・500・・・が入力されています。品番と残数量で1つの表になっています。 上記の表を基に、他のセルに使用数量を入力して行くと、使用した数量内の品番と数量が自動で集計され、使用数量の下や隣に表示される様にしたいのですがどの様な方法があるでしょうか? (例)C1に使用数量:500と入力すると指定したセル(C2~で品番と数量は別のセルに分けます)にA-1:300 / A-2:200 D1に500と入力すると指定したセル(D2~)にA-2:300 / A-3:200 と、表の上(下からの場合もあります)から使った分を引いて行かれ、集計され、表示したいのです。 宜しくお願いします。 補足 使用した数量と使用した内訳は同じシート内で別の表としています。入力した使用数量の中に、どの品番が何キロ使用されていて、その品番が無くなったら次の品番を何キロ使用したかを自動で集計したいのです。

  • Excelの集計について教えてください。

    Excelの集計について教えてください。 集計すると、集計合計が挿入されますが、その行に全ての項目名を表示する方法はありませんか? (例) 担当 顧客名  品名 単価   数量 ◎◎◎ ・・・・ NNNN 500    5 ◎◎◎ ・・・・ NNNN  500    58   ・・・・;合計  1000   63 で表示されますが、担当名・品名 など全ての項目名を合計行に表示して 集計する方法はありませんか? 宜しくお願い致します。

  • エクセルの3D集計を教えてください。

    エクセルの3D集計って何ですか? 複数のワークシートの同じセルに、同じ項目の表がある場合に使う集計方法 っていうことはわかっているんですけどもっと詳しく丁寧に教えてください。

  • エクセルで大量データを集計するには?

    エクセルで日々のデータを集計していての質問です 一行の中で、複数のセルを元に計算し、答えをあるセルに入れています 計算するものも複数あります そして同じ事を多量の行で行っています データーベースソフトなら、フィールドの関係式を一つ設定すればよいだけなのですが エクセルなどの表計算だと、同じ列に同じ式を多数入れることになり、とても無駄に思えます 結果的に10MB位のエクセルファイルになってしまうので、コンパクトにする方法は、ないでしょうか?

  • マクロを使用した表において集計を自動表示する

    エクセルのマクロでABC集計表なるものを作成しています。ボタンを押す毎に下位に行が追加され表ができる形です。行を挿入する毎に右側の3列に設けたセルにA~C品の数量を記入し、その集計を各2行目のセル(色付きのセル)に表示できるようにしたいと考えています。例えばA品の集計をK6に”=SUM(k7:k7)”として、ボタンを押して下へセルを追加しますと、集計が正しくされず、計算式を確認すると”=SUM(k8:k8)”となっており、数列1のk7が固定されていません。 マクロ文を入れないとできないのでしょうか、ご教授下さい。よろしくお願いします。

  • Excel2003 集計を集計したい

    項目1は複数の項目2を保持していて、 項目2は複数の項目3を保持していて、 項目3は結果の値を一つ保持している。 そんな感じで出来ているレコード群を エクセル機能の集計やアウトラインのグループ化のような物を使用し、まとめたいと思っています。 しかし、集計ではどれか一つを親にして集計する事しか出来ませんし、 集計したデータに手作業でグループ化をしようとしても、項目数がかなり多いのでかなり大変です。 何とかして簡単にアウトラインにまとめたいのですが良い方法はないでしょうか? 項目1,項目2,項目3,結果 1,11,111,81 1,11,112,3 1,12,121,20 1,12,122,20 1,13,131,3 2,21,211,10 2,21,212,16  この表の場合だと、111-131,211-212をグループ化で一番上のレベル 111-112,121-122,131,211-212をグループ化で2番目のレベルにする。 この作業を自動的に行う方法はあるのでしょうか?

  • エクセルの集計

    エクセルを使った集計表を作成してるのですがわからない事があります 例えばA1からA10に項目が入力してあってB1からB10に価格が入力してある状態で指定した項目以外の価格の集計を自動的に計算するには、どのような関数を使用すれば良いのでしょう?

専門家に質問してみよう