ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Excel(エクセル)活用コミュの【質問】一日平均値の計算方法がわかりません

  • mixiチェック
  • このエントリーをはてなブックマークに追加
エクセル超初心者の質問です。単純な計算式がわかりません。お助け下さい。
二つ質問があります。

質問1)
左図のような表で、N2とO2にそれぞれ一月あたりの平均値と一日あたりの平均値を出したい場合、単純に、ひと月平均は全体の合計÷12、一日平均は全体の合計÷365でやろうと思ったのですが、その場合たとえば3月までしか数値が入力されていないばあい、残りの月の数値(=0)も計算されてしまい、実際の3月までの平均値とは異なってしまいます。そこで調べたらAVERAGE関数により、{=AVERAGE(IF(B2:M2<>0,B2:M2,""))}   これで0を含めないひと月平均値が出せることがわかったのですが、一日平均の方の出し方がわかりません。ひと月平均と同様に既に入力済みの月までの一日平均値をだしたいのですが、どのような数式を使えばよいのでしょうか? またその場合、単純にひと月30日として計算することになるのでしょうか? できればその時点の正確な経過日数で平均値を出したいのですが。

質問2)
右図のような積み上げ式のグラフで、それぞの系列の値とその値が全体の何パーセントかを一つのグラフで表すことは可能でしょうか? またその方法をご教授ください。

宜しくお願いします。

コメント(4)

質問1に対しての回答です。

=DATEDIF("2008/1/1",DATE(2008,4,1)-1,"d")+1
とすれば1/1から3月末までの日数がわかります。
全体の合計をこの数字で割ることで1日平均が出ます。

入力済の日付までの平均を正確に取るのであれば、
たとえば入力シートのA列に日付、B列にデータを入力するとして、
{=MAX((A2:A32)*(B2:B32<>""))}
とすればその範囲で最後に入力された日付がわかります。
よって、
{=DATEDIF("2008/1/1",MAX((A2:A31)*(B1:B32<>"")),"d")+1}
で正確な日数を得ることができます。

…休日は考えなくてもよかったでしょうか?
やむ様、

ご回答いただきありがとうございました。
昨日はエクセルにはまってました。
一日平均値の出し方教えていただきありがとうございます。
実はもっと簡単な方法がないか考えていました。

開始日(1月1日)と今日(=TODAY())を設定し、今日-開始日で今日までの経過日数が出るので、年間合計をそのセル値で割れば経過日数までの一日平均が出せることに気が付きました。たぶんそれで正確な数値になると思います。

で、お答えいただいておいて、大変恐縮なのですが、質問を代えてもよろしいでしょうか?
昨日から別の問題にはまってます。

月平均を{=AVERAGE(IF(B2:M2<>0,B2:M2,""))}を使って出す場合、参照セルの値がゼロの場合は 
#DIV/0! というエラーになってしまいます。 このセル値を更に別の数式で参照したい場合にこのままでは困るので、エラーの場合は 0(ゼロ)を表示するようにしたいのですが、方法はありますでしょうか?
ググッたら、=IF(ISERROR(B2/M2),0,B2/M2) という関数でできるらしいですが、上記の{=AVERAGE(IF(B2:M2<>0,B2:M2,""))}にどのように組み込めばよいのかわかりません。 どのように記述すればよろしいのでしょうか? また、もしISERROR以外で方法がありまたらご教授願えますでしょうか。
横槍失礼します。

0以外の数値が1つも入力されていない場合に0除算エラーが出るのですよね。

0以外の数値の個数は、 数値の数 - 0の数 で求められますので以下となります。
=COUNT(B2:M2)-COUNTIF(B2:M2,0)

この値(0以外の数値の数)が1以上(0より大きい)であれば0除算エラーとならないので
配列数式
{=IF(COUNT(B2:M2)-COUNTIF(B2:M2,0)>=1,AVERAGE(IF(B2:M2<>0,B2:M2,"")),"")}
のようにすることができます。

また、Average関数はそもそも0をカウントして平均を出す関数ですので、
0をカウントしないで平均を出したければ 合計 / 0以外の数値の数 で求まります。
ですので、これまでの考えから以下のような配列数式を使わない数式でも可能となります。
=IF(COUNT(B2:M2)-COUNTIF(B2:M2,0)>=1,SUM(B2:M2)/(COUNT(B2:M2)-COUNTIF(B2:M2,0)),"")


なお、質問2の一つのグラフでやる方法ですが、
パーセンテージだけでよいのなら「100% 積み上げ縦棒」でできるのですが、
異なる2つの系列を1つのグラフにする方法(があるのか)はわからないです^^;
>よっちゃん様、
ご回答いただきありがとうございます。

なるほと、ISERRORを使わない方法があったんですね。 出たエラーの表示を擬似的に置き換えるのではなく0の数をカウントしてエラーにしなくするということですか。また配列数式を使わない方法というのも目からウロコでした。むずかしく考えすぎていました。お陰さまで期待通りの表が作れました。
グラフの方は妥協案で回避することにしました。

このたびはお力添えいただき助かりました。 改めて御礼を申し上げます。
ありがとうございました。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Excel(エクセル)活用 更新情報

Excel(エクセル)活用のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。