電子書籍の厳選無料作品が豊富!

Excelで家計簿をつくって、お金の管理をしています。

今回、1日当たりの出費の平均を出したいと思ったのですが、
関数の組み方がよくわかりません。

条件としては、
・その月の14日まで記入したなら14日までの平均を出したい⇒単純に30または31で割るわけではない
・出費を正数、収入を負数でまとめて入力している⇒数値の中から正数だけで平均を出したい
・1日の平均を出したい⇒3日で20個の買い物をした場合、1/20ではなく1/3で計算したい
の3つです。
なお、月ごとにシートを割り振っています。

関数・計算式を組み立てられる方、教えていただけませんでしょうか?
よろしくお願いします。

A 回答 (5件)

A列に「日」の値を1から31までの数字で記入しているとして


C列にプラスまたはマイナスの数字を記入しているとして

ところで「14日までなら14日の平均」ということは、途中の日付が飛んでいても(たとえば1日と14日の2日しか出入りが無くても)14で計算したいという事ですね。

=SUMIF(C:C,">0")/MAX(A:A)
でいいです。
    • good
    • 0

こんにちは。

直接のアドバイスではないけど・・・

> Excelで家計簿をつくって、お金の管理をしています。

私も2003年からエクセルで家計簿を付けています。マクロのブックと合計のブックと月毎のブックの3種類のブックです。月毎のブックは年毎に12ブックできますが,合計のブックは一つです。

月ブックは項目毎にシート分けしてあります。例えば,食費のシートは,縦に日,横に品目,価格,小計,平均,備考です。小計はその日までの合計です。平均もその日までの平均です。これらはVBAで組んでいます。

月変わりによる月ブックの生成や合計ブックへの必要事項の追加は,月初めに自動的に作成されるようになっています。

(勉強して)VBAで組むと言うのは如何ですか? 必要な機能が生じたら,マクロを組んで追加すれば良いのです。
    • good
    • 0

  ABCDEFG


1 年月日収入/支出の名称単価個数金額
2
3


各セルに次の式を入力

(1)E2セル

=c2*d2

(2)表外のどこかのセル

●Excel2007以降でしかファイルを開かない場合

=averageif(e2:e15,">=0")

●以前のバージョンでもファイルを開く場合

=sumif(e2:e15,">=0")/countif(e2:e15,">=0")
    • good
    • 0

>その月の14日まで記入したなら14日までの平均を出したい⇒単純に30または31で割るわけではない



例えば空いてるセルA1に開始日「2012/5/1(手入力)」を入れておき、
もう一つ隣のセルA2に終了日(本日の日付)「=today()」を入れておき、
A3に「=A2-A1」と入れれば開始日から終了日の日数が出てきます。
変な日付が出てきたら、セルの書式設定が「日付」になってると思うので、
それを「標準」もしくは「数値」に直してやればOKです。
datedif関数を使う手もありますが、面倒なので。

あとは空いてるセルに「今までの平均」とでも入れといて「=今までの合計金額/A3(上で出した日付計算)」
もしくは=average(今までの合計金額、A3)と
してやれば14日までの平均が出てきます。

>出費を正数、収入を負数でまとめて入力している⇒数値の中から正数だけで平均を出したい

sumif関数で=SUMIF(D2:D5,">0")で0以下の値だけ合計を出さない命令を出してやって、
あとはAVERAGEをかませばいいと思います。

時間がないので、駆け足で入力しちゃいましたが…。時間があればもうひとつの質問も後でレスしますね。
    • good
    • 0

記入済みの日数を数えて、ページ中の合計をSUMIF関数で行い、割れば良い。



基本的にはこんなやり方になると思います。


で、日にちはどんな記入の仕方をしているのですか?
出費の合計はSUMIF関数にゼロ以上(">0")を指定すれば良いのでしょうが
日にちについてはどう処理をしたものか、質問文からでは判断ができません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!