• ベストアンサー

年間ごとの集計を求めたいのですが

単純な入出金表があり、数年に渡っての取引が記されています。支出と入金を年毎で算出したいのですがExcel関数で出来ますでしょうか。 表は以下の様になっています。    A     B     C      D 1  日付   名前   支払金額  入金金額 2 2000/1/3  〇〇         30,000 3 2000/2/10  〇〇   15,000 4 2001/3/5  〇〇         10,000 5 2001/12/3  〇〇   10,000 6 2002/6/4  〇〇          5,000 元表には手は加えず(集計・並べ替え等)参照するのみにしたいと考えています。   SUMIF関数やVLOOKUP等考えたのですが上手くいきません。皆様御教授御願い致します。

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

  • ベストアンサー
  • matsu_jun
  • ベストアンサー率55% (146/265)
回答No.5

分かりやすくSUMIFを利用するとすれば =SUMIF(A2:A6,">=2000/1/1",C2:C6)-SUMIF(A2:A6,">=2001/1/1",C2:C6) 2000年1月1日以降のデータの合計 - 2001年1月1日以降のデータの合計 これで2000年1月1日~12月31日までのデータの合計が出ます。 これだと年度毎集計でも応用が効きます。2000年度なら =SUMIF(A2:A6,">=2000/4/1",C2:C6)-SUMIF(A2:A6,">=2001/4/1",C2:C6)

hyuganatsu
質問者

お礼

ご回答下さいまして有難うございます。 私の使用環境に一番あった方法でした。御教授下さいまして有難うございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

回答No.6

配列数式を使う手もあります。 データが100行まであるとして、F列からI列までに出力するものとします。 【手順】 (1)以下のフィールド名を設定します。 F、G列は、集計する年頭と年末日付をセットしておきます。    F       G          H       I 1  FROM    TO      支払金額  入金金額 2 2000/1/1  2000/12/31          3 2001/1/1  2001/12/31 4 2002/1/1  2002/12/31 (2)支払い金額および入金金額のしたにそれぞれ以下の式を入力します。 入力終了時、Crtrl+Shiftを押しながらEnterキーを押します。 (式全体が{=・・・ }となります) H2=SUM(IF((F2<=$A$2:$A$100)*(G2>=$A$2:$A$100),$C$2:$C$100,0)) I2=SUM(IF((F2<=$A$2:$A$100)*(G2>=$A$2:$A$100),$D$2:$D$100,0)) (3)H2,I2を下の行にコピーします。

hyuganatsu
質問者

お礼

ご回答下さいまして有難うございます。 悩みは無事解決いたしました。御教授下さいました方法も次の機会に生かしたいと思います。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.4

No.2 mshr1962さんのSUMPRODUCT関数がお勧めです。 それで、半期とか任意の期間を指定して集計するなら、 =SUMPRODUCT((A2:A6>=DATEVALUE("2000/1/1"))*(A2:A6<=DATEVALUE("2000/6/30"))*(C2:C6)) ですね。 また、別解としてオートフィルターとSUBTOTAL関数の組み合わせでもできます。 1. オートフィルターで例えば2000/1/1から2000/12/31のデータを表示 2. =SUBTOTAL(9,C2:C65536) ご参考までに。

hyuganatsu
質問者

お礼

ご回答下さいまして有難うございます。 SUMPRODUCT関数良いな、と思ったのですが私の使用環境ではもうすこし考えないとダメなようです。 オートフィルターでSUBTOTALも便利ですが今の使用環境に適してはいないのです…すみません。 御教授下さいまして有難うございました。

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

 Excelは最近余り使っていないので自信無いですが、、。 E列に年度を書き出すところまではNO1さんと同じです。 あと、 「データ」-->「集計」で、 「グループの基準」-----年度 「集計の方法」-------合計 「集計するフィールド」---収入、支出 そして 「現在の集計表と置き換える」のチェックをはずして 完了、でどうでしょうか。    元に戻す時は「データ」-->「集計」で、 「すべて削除」ボタンをクリックしますと元の表に。  なお「集計行をデータの下に挿入する」のチェックを はずしますと、集計はデータの上に表示されます。 私の感覚では見苦しい感じがしますけれども、、、。

hyuganatsu
質問者

お礼

ご回答有難うございます。 やはりJasmine002 さんがおっしゃっているとうりビジュアル的に少し気がかりです。会社全体で使うものなので次の機会に生かしたいと思います。御教授下さいまして有難うございました。

全文を見る
すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

SUMIFだと =SUM(IF((YEAR(A2:A6)=2000)*1,C2:C6)) でShft+Ctrl+Enrerで配列数式にするか =SUMPRODUCT((YEAR(A2:A6)=2000)*(C2:C6)) 入金はC2:C6をD2:D6に変えるだけ...

hyuganatsu
質問者

お礼

ご回答下さいまして有難うございます。 SUMIFでの方法がうまく出来なかったのでSUMPRODUCTを試したところ出来ました。ただ、表の中に空白や文字列があると答えが返ってこないので色々工夫したいと思います。 御教授くださいまして有難うございました。

全文を見る
すると、全ての回答が全文表示されます。
  • fukkyse
  • ベストアンサー率32% (130/402)
回答No.1

E列に年数を抽出。「E2=YEAR(A2)…」として、SUMIF関数でOKではないでしょうか。

hyuganatsu
質問者

お礼

ご回答有難うございます。御教授頂いた方法でうまく出来ました。 ただ、既存の表にこの作業(「E2=YEAR(A2)…」)をしていくには少し時間がかかってしまいます。(実はブックが300近くあるものですから…。すみません。) 知識として蓄えて次に生かしたいと思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel20003の集計が遅い

    現在、Excel2003を使用しておりますが、データ==>集計(B)がExcel2000に比べて、かなり遅くなって困っています。遅くなっている原因として、対象のシートはVlookup関数で他のシートを参照しており、その関数再計算のためのようですが、Excel2000で同じシートを集計していた時はすぐに処理が完了していました。 なんとなく、Excel2003の何かの設定を変更すれば改善されるように思うのですが…。 ご存知の方、教えてください。よろしくお願いいたします。

  • 日付と商品名の2つの条件で集計

    A列に商品名(2~10行)、B列に金額(2~10行)、C列に日付(2~10行)の表で日付範囲条件と商品名の条件の両方満足する行の金額を集計したいのですが方法を教えて下さい。日付の集計はSUM,DATE関数で、商品名のみの集計はSUMIF関数で求めることができますが両方の条件式がわかりません。よろしくお願いします。

  • 勘定科目の集計がしたい

    営業の使う精算書を作成しています。 精算書には日付、科目、用途、金額などの項目があり、 空欄に記入できるようになっています。 科目と用途は別シートの科目一覧をリスト参照して選択できるようにしています。 18の科目の中から、精算書に記入された科目だけを集計して、 精算書と同じシートに表示したいです。(ソートは不要) 科目一覧表にsumif関数やdsum関数で 各項目を表示することはできるのですが 「精算書に記入されている科目だけを集計」というところがクリアできません。 初心者のため、おわかりになる方がいらっしゃいましたらご教授いただけないでしょうか。 よろしくお願いいたします。

  • エクセルの集計について教えてください

    エクセルの集計について教えてください 添付のように、A列からは入力用 A列 日付(複数月にまたがる) B列 金額 C列 項目 E列からは集計用として E列 項目 F列からは月ごとに集計できるような表を作りました 集計用は、また別途ほかのシートで参照して使用する予定です A列には、今後も次々データを足していく予定です 月単位でデータを抽出したのち、項目ごとに合計を算出したいのですが、どの関数を組み合わせればいいのかわかりません。 エクセルはほぼ初心者です ピボットテーブルを使用してもよいのですが、ほかのシートで参照できる方法を教えてください よろしくお願いします

  • エクセル2003の「串刺し集計」について教えてください。

    年度別の売上等の集計表を作っています。 月毎にシート名を「0604」、「0605」・・・とし、半期毎にも集計を かけたいと思っています。(0604~0609のシート間) それぞれのシートは同じ表で、B列に「曜日(月~日)」が D列には「客数」が入っています。 そこで「特定の曜日の客数」を半期毎の集計シート(0609の後)に 表示させようとして、下記のような関数を入れました。 =sum('0604:0609'!,sumif($c$2:$c$30,"月",d2:d30)) しかし、「入力された数式は正しくない」と表示されてしまい ヘルプを参照しましたが、一般的な入力時の注意だけでした。 SUMにはSUMIFを組み合わせられないのでしょうか? 参照するセルの値が変わっても、集計結果に反映される関数を 教えていただけませんでしょうか。

  • 日付に集計したい

    日付    金額   日計 5/31  200  5/31  300  500   6/1   400  400 6/2     0    0 という表を作りたいとして、「日計」欄に関数を使って 日付毎に集計ができるでしょうか。 1日の行数は不規則ですが、およそ7行までに収まると思います。

  • Excelの集計方法について(集計KEYが2個ある場合です)

    WinxpでExcel2002を使用しています。 A列  B列   C列 日付  性別  人数 上記の表があります。 SORTで日付(降順)、性別(昇順)に並べ替えを行い、その結果を以下のように人数を集計するには、どうすれば良いでしょうか? 性別計  男 ○人  性別計  女 ×人 日付計   ○+×人 尚、合わせて、日付計で、改ページも行いたいです。 ご教示宜しくお願いします。  

  • エクセルの関数で困っています!

    エクセルの関数について困っています。 現在で仕事で下記のような表を作成しています。 日付 品名  区分 個数  価格  合計 1/10 りんご  1  3  100 300 1/23 ばなな  2  2  200 400 2/20 りんご  1  2  100 200 この表でりんごはりんご、ばななはバナナで集計するには SUMIF関数が必要とのことなので区分分けして集計してます。 さらにこれを日付分けして集計したいんです。 次にこんな表を作ろうと思っています。 月日 りんご合計 ばなな合計 1月  300  400 2月  200 3月 4月  そのためにはSUMIF関数にさらにSUMIF関数を重ねて書かないとダメかな?と思っているんですが、どのような数式になるかわかりません。 区分分けしてかつ日付分けして集計したいのです。 この表を例にとって数式を教えていただけると助かります。 どうかよろしくお願い致します。

  • 異なるシートからの集計と転記について

    収入明細書と、支出明細書があります。 それぞれ書式が違います。 それぞれの明細書には日付、摘要、単価、個数、金額等を打ち込みますが、収入と、支出の明細書では若干項目や、セルなどの位置が違います。 収入、支出の明細書は取引がある場合は、1日1枚の提出なので日ごとに1シート作成していかないといけないかなと思っています。 この2つの明細書の内訳内容をもう1つの収支報告書に転記し、 日付、摘要、金額等を集計し、入出金の流れや、現金残高などを把握します。 漠然とした内容でお答え頂くにもわかりにくいのではないかと思います。ごめんなさい。 ただ、別々1日1シートで、入出金の明細の書式が違うのでどうすればいいのか全然思い浮かばず、どうすべきなのかをお知恵をいただけたらと思っています。 ・私が考えたのは、それぞれのシートを新たな1シートに必要項目のみとばす。(収入と支出でセルの位置や項目が違うのでうまくとばせないのが問題) ・上記のシートからさらに新たなシートに収支報告書用に整列させる。(収支明細書で使用しなかった行が空欄でとんでくるので邪魔になる) ・上記のシートを収支報告書にとばす。 とまでは考えたのですが、問題が山積みで… きっともっとよい方法があるのではと思っています。 私はエクセル初心者ではありませんが、独学ですので本当の意味での理解が出来ていないと思います。 わかりやすく教えて頂けたらうれしいです。 また、マクロはまったくわかりません。 少しずつ勉強していきたいと思っていますが、出来れば関数等で作成できたらと思っています。 どうかよろしくお願い致します。

  • エクセル 異なる範囲の集計(合計)

    誰かアドバイスをお願いします。 エクセルで下記の様な異なる行数(範囲)を自動集計させたい場合はどうすればよろしいでしょうか?       A      B      C     D        E      日付    注文NO  金額   注文金額計  日別注文金額合計 1   5月1日     1     50     150       250 2                  50       3                  50                4             2    50     100 5                  50                    6   5月2日     3     50     50        150 7             4     50    100 8                   50                                            やりたい事は、D列へ注文金額計に注文NO別の合計金額を集計させる事(注文NOごとの一番上の行のみです。)  と E列へ日別の注文金額合計を集計させる事です。(日別の一番上の行のみに表示)   sumif関数を使えばうまく行きそうなのですが、問題が2つあります。 (1)集計条件の日付や注文NOは、重複している場合は、一行のみ表示の仕様です。(他ファイルからデータを貼りける為、その様な仕様になり、極力入力する事は避けたいです。) (2)合計範囲の行数が一定ではないので出来ればEやD列の全てのセルに関数なりを設置し、一番最上行のみに結果を表字したい。例えばsumif関数をE,D列全ての行に設定してしまうと同じ集計結果が何行にも渡って表示されてしまうのは避けたい。(上の例でいえばE列に150が何行も表示されてしまう。 かといって重複行の最上行のみに関数を設定するのは、一行ずつの作業になってしまう為、避けたい。 何かいい方法がないでしょうか?   個人的には、関数の方がやりやすいのでいいのですが、マクロやVBEでもあれば教えて頂けますでしょうか?

専門家に質問してみよう