• ベストアンサー

費目別の合計の出し方

毎日の使用費目とその金額をつけているとします。 それを費目ごとに合計して出すにはどうすればよいのでしょうか。 例:交通費は合計いくら  など。 Vlookupでやれないことはないのですが、オートフィル機能を使って行なう必要があります。 ところがオートフィルを行なうと関数がずれてしまいます。 ひとつひとつ手入力すると途方もない時間がかかります。 DSUMもやってみましたがよくわからずうまくできません。 わかりやすいかと思い、画像貼っておきます。 よろしくお願い致します。

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

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

B12セルに =SUMIF($A$3:$I$6,A12,$B$3:$J$6) と記入して下向けにコピー といった作り方をします。

hotcakeman
質問者

お礼

ありがとうございます。 でも下向きにコピーってオートフィルですよね。 やっぱり式がズレるんです。 B13のセルが =SUMIF($A$4:$I$7,A13,$B$4:$J$7) になります。 SUMIF関数の範囲と合計範囲はズレないようにしたいのです。 無理なのでしょうか。 すみません。

その他の回答 (3)

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

はい,お手数でした。 こういった事を実際に行って確認して貰ったのは, 回答1のアナタのお礼コメント: >B13のセルが >=SUMIF($A$4:$I$7,A13,$B$4:$J$7) >になります。 これが「事実ではなく」て,アナタが「記憶によって説明のための説明」を言葉で作ったのでしかなかったことを確認するためです。 さて。 改めて今度は,アナタの「動いてしまったアナタのエクセルの実際の数式」はいったいどうなっていたのか,それは各回答の数式と一体どこが違うのかを,しっかり目を開けて確認してみることにします。 回答の数式: =SUMIF($A$3:$I$6,A12,$B$3:$J$6) 見なくても判るアナタの数式 =SUMIF(A3:I6,A12,B3:J6) 勿論アナタの数式は実際のシートの配置に従い,AやBやJ,3や6の数字が違います。 それ以上に重要なのは,各回答者の数式には「$記号」が余計についていることです。 この$の有り無しをエクセルでは「相対参照」と「絶対参照」と言いますが,エクセルの入門勉強の第一時間目に勉強する(して欲しい)知識です。DSUMとかムズカシイ関数にチャレンジするより,遥に手前で知っておいていただかなければいけません。 $が付いていることで,今回アナタが出来なかった「コピーしても動かない」を実現します。 エクセルの入門書のどれでも構わないので一冊お買い求め頂き,基本の基本を少し勉強することをお薦めします。 が,今はとりあえず下記のページなどを参考にしてみて下さい。 http://www11.plala.or.jp/koma_Excel/contents1/mame1006/mame100601.html

hotcakeman
質問者

お礼

>これが「事実ではなく」て,アナタが「記憶によって説明のための説明」を言葉で作ったのでしかなかったことを確認するためです。 そうですね。わかります。 相対参照、絶対参照を確認してスッキリしました。 これで実際自分が使う表でも解決ができると思います。 そして、なぜ自分の答えには「$記号」がないのにNo.1様の答えには「$記号」があるのか。 理解できました。 No.1様のお答えがどうやって導き出されているのかがわからず、 それを知りたくて何度かの質問のやり取りになったことをご容赦ください。 基礎を学ばず、仕事の中で独学でやってきました。 従ってこういう知識のドーナツ化が起こってるのでしょう。 基礎をすっ飛ばして実践だけで覚えてきた典型ですね、私は・・・・ ともあれ、とても勉強になりました。 >はい,お手数でした。 いやはや、本当に申し訳ないです(>_<) あちゃ~という感じでございます。すみません・・・・・・・。 とても感謝してます。 ありがとうございました。

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

>ずれるんです 実際にアナタのエクセルを起動し,実際にアナタの手を動かして,次の通りにしてください。 1.エクセルを起動します 2.回答No.1の数式を回答からコピーし,エクセルのB12セルに貼り付けます 3.B12セルをオートフィルドラッグで下向けにコピーします 4.B13セルを選びます 5.数式バーの中でB13セルの数式文字列を選んでコピーします 6.この回答への「補足」を開始し,B13からコピーしてきた数式を貼り付けて,実際にどんな数式になったか教えてください。 実際にエクセルを動かすことで,もちろん「数字が変わった様子」を,アナタも一緒に再々度確認してください。 併せて,アナタが実際に使っているエクセルのバージョンも教えてください。

hotcakeman
質問者

お礼

少しお返事遅れてすみません。 はい、おっしゃるとおりやってみました。 =SUMIF($A$3:$I$6,A13,$B$3:$J$6) です。 つまり、ずれてません。 うまくいきます。 私のはexcel2007です。 No.1様のお答えをコピペして下にずらすとうまくいきます。 私がNo.1様の答えを見て「SUMIF関数」を使うとうまくいきませんでした。 ものすごく恥ずかしながら、何故なのか理由がわかりません・・・。 私がただNo.1様の答えをコピペせず、自分で関数を使って解決しようとしたのかは このアップした画像はあくまでこの質問用に作った表であって これとよく似た実際の表がありましてそれを使って問題を解決しないといけません。 ネットでアップできないので、似たものを例としてアップしました。 本当にお手数おかけしていますが、なぜ私がやるとうまくいかないのか教えてください。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

B12セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(A12="","",SUMIF(A$3:I$6,A12,B$3:J$6)

hotcakeman
質問者

お礼

ありがとうございます。 すみません、やって見ましたが式がズレるんです。 お手数おかけしてすみません。

hotcakeman
質問者

補足

すみませんが、No.2様の回答を見て、どのようにExcel入力してお答え頂いた式に辿りついたのか、 教えて頂ければ幸いです。 つまりExcelの操作の仕方というか導き方といいますか。 No.1様のSUMIF関数は理解できました。 でも私はNo.2様の関数がIF関数?ぐらいの知識力ですので、 No.1様との答えの違い等があまりわかっておりません。 差し支えなければで結構です。よろしくお願いします。 せっかくお答え頂いた以上わからないことは全部その場で知りたいと思いまして。 すみません。 あと、私は「オートフィルにすればズレる」と言っておりますが これはもう仕方ないのでしょうか・・。 困りました。

関連するQ&A