• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excel2003の月次項目合計の計算式)

Excel2003の月次項目合計の計算式とは?

このQ&Aのポイント
  • Excel2003で特定の月の項目ごとの合計を計算する方法を教えてください。
  • Excel2003の表において、各月の項目ごとの合計を計算するための計算式について教えてください。
  • Excel2003の表に新しい列を追加し、各月の項目ごとの合計を表示するための計算式を教えてください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

最も簡単な対処は、B列に年の数字を書き足す事です。 準備: B列に 315 などを記入している Z列に 2012などが記入されている AA列に AA2: =Z2*1000 を記入して100行までコピーする AA2:AA100をコピーする B2:B100を選び、形式を選んで貼り付けで「値」にマーク「加算」にマークしてOKする 結果は20120315のようになります。出来ないときはやり方を間違えているので、出来るまでやり直します。 もし、B列をどうしても「315」のままにしたいのであれば、AA列に AA2: =Z2*1000+B2 以下コピー して、AA列に20120315を計算させても出来ます。 説明不足: 上の表に年の数字を追記するのは判りました。 下の表は、いったい何年の各月の集計をしたいと、どうやって指定したいのですか。 説明が無いので勝手に、下の表のA列に年の値(2012など)を記入する事にします。 実際にヤリタイ事が違う場合は、適切に応用してください。 手順: 上の表のB列(またはAA列)に20120315が準備出来たら A103以下に2012を記入 B103以下に1,2、3…を記入 C103は =SUMIF($B:$B,">="&$B103*100+$A103*1000,C:C)-SUMIF($B:$B,">="&($B103+1)*100+$A103*1000,C:C) 右にコピー、下にコピーします。 #補足 >新知識 >$B105+1 → 次の行。 この理解は間違いです。 例えば3月次は、結局B列に301から331の範囲の数字が並んでいる行を集計したいわけです。 同様に4月次は、B列が401から430までの範囲の行を集計します。 3月次は、B列が300以上(またはより大きい)の全ての行の集計から、B列が400(=(3+1)*100)より大きい全ての行の集計を差し引きして求めます。 練習として、前述の方法で年の値を結合しても、全く同じ考え方で出来ることを理解してください。

qhtsige
質問者

お礼

>$B105+1 → 次の行。 この理解は間違いです。 そうですね。間違いました。 やはりB列はそのままで、Z列の年情報を考慮した式は難しいのですね。やはりご提案のようにB列に年を加えるのが簡単ですね。 そのためのご提案の手順は当初気がつかなったもですが、昨晩寝ていて同じ方法を思いつきました。(今朝ご投稿を見ました) 説明不測の点は、当初は簡単のため今年だけにしようかと思っていたのですが、SUMIFの使い方から、全行を対象にせねばならないことがわかったからです。最初に書くべきでした。 色々ありがとうございました。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

うっかり間違いました。 20120315にしたいのですから、年の数字を1万倍して足さないとダメですね。 準備: B列に 315 などを記入している Z列に 2012などが記入されている AA列に AA2: =Z2*10000 を記入して100行までコピーする AA2:AA100をコピーする B2:B100を選び、形式を選んで貼り付けで「値」にマーク「加算」にマークしてOKする 結果は20120315のようになります。出来ないときはやり方を間違えているので、出来るまでやり直します。 もし、B列をどうしても「315」のままにしたいのであれば、AA列に AA2: =Z2*10000+B2 以下コピー して、AA列に20120315を計算させても出来ます。 手順: 上の表のB列(またはAA列)に20120315が準備出来たら A103以下に2012を記入 B103以下に1,2、3…を記入 C103は =SUMIF($B:$B,">="&$B103*100+$A103*10000,C:C)-SUMIF($B:$B,">="&($B103+1)*100+$A103*10000,C:C) 右にコピー、下にコピーします。 失礼しました。 #参考 下の表のA列に2012を用意せず、B列を1,2,3…から201201、201202、201203のように変えて記入しておき、最初の回答の数式を利用する事もできます。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

上の表のB列は101から1231までの3ケタまたは4ケタの数値で記入する (日付をそのように見せるのではないので注意) 下の表のB列は1から12までの数字で記入する 以上の前提で。 C103に =SUMIF($B:$B,">="&$B103*100,C:C)-SUMIF($B:$B,">="&($B103+1)*100,C:C) 右にコピー、下にコピー。 上の表に行の追加削除があっても、行範囲を指定する必要はありません。

qhtsige
質問者

お礼

早速のご返事ありがとうございます。 式の通りセットすれば望む結果がでるのですが、理解が難しいです。30分ほどテストシートで考えました。 3月次のB105を例としますと 第一項 SUMIF($B:$B,">="&$B105*100,C:C) は B列のすべて(1:65535)について、3月次以上のもの(c列)を合計。 第2項 SUMIF($B:$B,">="&($B105+1)*100,C:C) これは同様に、4月次以上を合計。 3月合計=第1項ー第2項 と理解しました。 新知識 $B:$B → B列すべて。省略した行全部の要素が対象 $B105+1 → 次の行。 ここで実は問題がありました。年情報も必要でした。現在の日付データに年の桁を追加して書き直せばよいのですが、それは簡単ではありません。また式で年を加算するようにするのも、数値データでなくなるのでまずいです。 それで年データZ 列に埋め込むことを考えました。(これは簡単) 年データを項目合計の式に組み込む方法も大分考えましたが、よい方法が見つかりません。 すみませんが、これも教えていただけませんか。 SUMIF($z*1000+$B:$z*1000+$B,">="&($z*1000+$B105)*100,C:C) とは書けないようです。

関連するQ&A