[[20101122131421]] 『月ごとの平均値計算の方法』(笛吹き) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『月ごとの平均値計算の方法』(笛吹き)

初歩的な質問だとは思いますが、教えてください。

4月から翌年3月まで1年間の数値が入る表のなかで自動で平均値が出るようにしたいのですが、どのようにすればよいでしょうか?

仮にA2〜L2のセルに4月〜12ヶ月分の数値が入っていればその12ヶ月の平均を出す計算式は
「=SUM(A2:L2)/12」

とかになると思うのですが、今回お伺いしたいのが、入力された月までの月数に応じて平均値を自動計算するような計算式を知りたいと思っています。

4月、5月と入力されていれば、2ヶ月分なので合計を2で割り平均を出す。4月から8月まで数値が入力されていれば、4か月分なので自動で4で割り平均を出すと言うように入力されている月の数を認識して平均値を計算させたいと思っています。

    A     B     C    D

 -------------------------------------------
1   4月    5月   6月   7月

2    2     4 

3

4        

だと2ヶ月分の入力があるので2か月分の平均を出す。

    A     B     C    D

 -------------------------------------------
1   4月    5月   6月   7月

2    2     4     1

3

4       

だと3ヶ月分の入力があるので3か月分の平均を出す。

このような表の自動計算方法はあるでしょうか?

エクセルは2000です。

宜しくお願い致します。
 


 例えばM1セル等に

 =IF(COUNT(A2:L2),SUM(A2:L2)/COUNT(A2:L2),"")

 等でいかがですか?

 これでもよさそう

 =IF(COUNT(A2:L2),AVERAGE(A2:L2),"")

 (MJ12)

 追記:M1セルよりM2セルが妥当ですよね(^_^;)

ありがとうございます。出来ました。

でも問題が出てしまいました。

先ほどの表なのですが、各月A2〜L2(4月、5月、6月・・・・)に入る数値は別の表での合計数が自動で入るようにしてあるので、まだ入力のされていない月には「0.0」と表示されている状態になっています。

教えていただいた式だと、まだ未入力の「0.0」と入った月も数値が入ったとみなされてしまい、7月ぐらいまでしか入力してなくても8月以降も「0.0」と入力されている為に合計を一年分である12で割った数字となってしまっています。

「0.0」を認識せずに計算を行って欲しいのですが、万が一「0.0」の数値の月が出た場合その月は省かれて計算されてしまうのでそれも困ってしまいます。

何か良い方法はありますでしょうか?

(笛吹き)


 =IF(COUNT(・・・・)=0,"",SUM(・・・・)) として表示されないようにするのは。  (NB)

 =IF(SUM(A2:L2)>0,SUM(A2:L2)/(COUNT(A2:L2)-COUNTIF(A2:L2,0)),"")

 0.0って数値ですよね?

 数値であれば上記でできると思います★

 でも0.0と表示させなくていいのであれば、NBさんのような数式を

 該当セルに使用した方がスッキリしていいと思いますよ♪

 (MJ12)

 >各月A2〜L2(4月、5月、6月・・・・)に入る数値は別の表での合計数が自動で入るようにしてあるので、
 >まだ入力のされていない月には「0.0」と表示されている状態になっています。

 >「0.0」を認識せずに計算を行って欲しいのですが、
 >万が一「0.0」の数値の月が出た場合その月は省かれて計算されてしまうのでそれも困ってしまいます。

 1   4月    5月   6月   7月 
 2    2     4         0.0       0.0

 この表で、5月まで2か月の平均を出すのか、6月を0として3か月の平均をだすのか、
 あるいは7月も0.0として4か月の平均をだすのか、
 どのように判断するのですか?
 (tora)


 >万が一「0.0」の数値の月が出た場合その月は省かれて計算されてしまうのでそれも困ってしまいます。

 この部分…よく読んでませんでした(・・;)

 万が一0.0と表示されると、多分割る数に入るのでは…

 (MJ12)

皆様ありがとうございます。

>(NB)さん

ありがとうございます。 でも何処にこの式を適用してよいか分からずでした・・・。
すみません初心者過ぎて・・・。

> (MJ12)さん

数式を入力したのですが、仮に4月「0.8」5月「0.5」6月「0.8」7月「1.0」の数値が入っている場合、合計が3.1になりこれを4で割ると「0.775」なのですが、計算式から算出された数値は「0.75」でした。 別の列にも「1.8」「1.0」「1.5」「0.5」の数値「4.8」の平均が「1.19」と微妙に平均値より少ない数値が出てしまいました。セルの書式設定などが悪いのでしょうか?

>(tora)さん

この表の場合は5月まで入力されてるので2か月分と判断するようにしたいのですが、その判断方法もどうすれば良いか分からない状態です。

> (MJ12)さん

やはりそうですか、0.0が入る限りは割り数に入りますか・・・。

(笛吹き)


 A2〜L2セルにはどんな数式が入ってますか?

 その数式を参照先が0の場合は非表示にする…という方法を

 使用すると今の数式で使えると思います。

 NBさんも同じことを言ってらっしゃるのでは?と思いますが(^_^;)

 それと、計算結果ですが、自分で試したみたところ…

 0.775  1.2 と表示されますが…

 笛吹きさんの 0.0には 2つの意味があるんですよね?

 入力されて0.0の場合と 何も入力されず0.0の場合…

 ですから、後者の方を表示しないようにしてはいかがですか?

 (MJ12)

(MJ12)さんへ

実は実際に使用している式では、4月から翌年3月までの12ヶ月間の数値を「E11セル〜P11セル」に入力している為、先ほど教えていただいた式のA2L2を、下記のようにE11とP11に変えて入力したのですが、それが駄目だったのでしょうか?

=IF(SUM(E11:P11)>0,SUM(E11:P11)/(COUNT(E11:P11)-COUNTIF(E11:P11,0)),"")

ためしにA2〜L2に数値を入力しMJ12さんに教わった式を入力したところ、見事に数値が計算されました。

A2〜L2ではなくE11〜P11に変えたいのですが、入れ替えるだけでは駄目なのでしょうか?

E11〜P11には別のセルで出た数字が表示される式?が入ってます「=M10」などです。
(笛吹き)


>(MJ12)さんへ

初心者ですので、本当にご迷惑をおかけしております。

>入力されて0.0の場合と 何も入力されず0.0の場合…

> ですから、後者の方を表示しないようにしてはいかがですか?

何も入力されずに0.0を表示しない方法とはどのような方法でしょうか?

(笛吹き)


 入れ替えても問題ありませんよ!!

 =M10 等が入っている…

 =M10 では、M10に何も入力されていない場合でも 0 と表示されるはずです…

 が、 =if(M10="","",M10) とすると何も表示されないはずです。。。

 IF分を使用して、入力されてない箇所は表示しないようにしてみて下さい!!

 (MJ12)

>(MJ12)さんへ

色々と有難うございます。

教えていただきました「=if(M10="","",M10)」の式で確かに表示がなくなりました。

・・・でそのM10のセルですが、そのセルには月の平均を出す式「=(M24+N24+O24+P24)/4」が入っているので何も入力してなくても「0.0」の数値が入っています。

ですので、この月の平均を出しているセルの式「=(M24+N24+O24+P24)/4」に教えていただいた、入力がない場合は表示しない「=if(M10="","",M10)」の式を合わせることが出来れば解決するのかな?と思っているのですがどうでしょうか?


 その通りですね★

 M10セルに

 =IF(COUNT(M24:P24),AVERAGE(M24:P24),"")

 を入れてみて下さい♪

 自分…今日はココまでしか出てこれません(^_^;)

 (MJ12)

ありがとうございます。試してみます。

(笛吹き)


(MJ12)さん

教えていただいた式を色々と組み合わせた結果完成いたしました。

ありがとうございました。


 そうですか★それは良かったです!!

 頑張って下さい♪

 (MJ12)

(MJ12)さんへ

もうひとつ教えていただいてもよろしいでしょうか?

作成した表からグラフを「折れ線作成」しているのですが、参照しているセルには
「=IF(COUNT(M23)=0,"",SUM(M23))」の式が入っています。

上記式が入っている表を作成する中で、まだ数値の入っていない所(月)、例えば今ですと11月と12月は空白なのですが、計算式が入っている為に「0」と認識?してしまい、作成した「折れ線グラフ」が11月から下がってしまいます。

棒グラフにすれば、「0」だと表示されないので良いのですが、どうしても「折れ線グラフ」で流れを見たいのです。
せっかく4月〜10月まで順調に流れがわかっても、突然11月でがくんと折れ線が落ちてしまうので
成績が落ちたように勘違いしてしまいます。

説明不足かもしれませんが、何とかする方法はありますでしょうか?

(笛吹き)


 それもIF関数で0を表示しなければいい話ですね…

 それと =IF(COUNT(M23)=0,"",SUM(M23)) この数式ですが…

 余計な関数が二つ入っていると思います。。。参照先が1セルだけですから

 このような場合に =IF(M23="","",M23) としてはいかがでしょう?

 COUNTもSUMも必要ありませんよ★

 (MJ12)

本日もご教授いただきありがとうございます。

また説明不足でした。順を追って内容をお話いたします。

@まず一ヶ月を4週に分けて、各週ごとの数値を入力します。
4月の場合はセル「M38〜P38」です。
M38には「=IF(COUNT(M30:M37)=0,"",SUM(M30:M37))」の数式が入っております。

A第一週から第4週までの数値(M38〜P38)の平均値を求めるためにセル「Q38」に計算式
「=IF(COUNT(M38:P38),AVERAGE(M38:P38),"")」の入力を行いました。

B算出した月の平均値をセル「E11」に作成した表に表示させる為に「E11」セルに「=Q38」を入力いたしました。

Cセル「E11」から3項目12か月分でセル「P13」までの表を折れ線グラフに作成。
 
 

作成した折れ線グラフを表示すると、経過していない月も「0」として表示されてしまう。

入力月で折れ線グラフが終わるようにしたいが、計算式が入っているので「0」を認識?してしまい年度末まで折れ線グラフが0で続いてしまいます。

 
この作成方法ではどうしても仕方ないのでしょうか?

宜しくお願い致します。

(笛吹き)


 意味が分かりました(^^ゞ

 5月のセルが何処にあるか分からないので

 例えば…R38が5月のセルだとして S38・6月…と並んでるとします。

 F11に

 =IF(R38="",IF(E11="","",E11),R38)

 を3月までコピペ!!こんな感じでグラフは大丈夫だと思います。

 セルの箇所は違うでしょうから,ご自身で変更してみて下さい★

 (MJ12)

(MJ12)さんへ

いつもありがとうございます。

試してみました。

しかしやり方が悪かったのか、やはり未入力部分に対して「0」で折れ線グラフが繋がってしまいました。

セルE11に4月分「=IF(Q24="",IF(E11="","",E11),Q24)」
 
 

セルF11に5月分「=IF(V24="",IF(F11="","",F11),V24)」    
 

セルG11に6月分「=IF(AA28="",IF(G12="","",G12),AA28)」
と入力しました。

セルE11には「1.0」と表示
 
セルF11には「0.8」と表示
 
セルG11は未入力なので「0.0」と表示されています。

この状態を折れ線グラフにしたのですが、5月と6月がつながってしまいました。

仮に表をつくり、4月・5月分を入力し6月以降に何も数値が入っていない場合にグラフを表示すると
折れ線グラフは4月5月で終わると思うのですが、今回は6月以降も計算式が入っている為に、6月以降は0と認識?され、5月から6月にかけて折れ線グラフが繋がってしまう状態が発生しています。

式が入ってる限り仕方ないのでしょうか?

(笛吹き)


 参照先のセル位置が変わってますね(^_^;)

 4月分は =Q38 ではありませんでしたか?それと御掲示の数式では循環参照に

 なるはずです!!

 ではとりあえず、Q24 に変更ということで…

 E11(4月分)には

 =IF(Q24="","",Q24)

 F11(5月分)には

 =IF(V24="",IF(E11="","",E11),V24)

 後は5月分の要領で3月分まで入れると前月表示分がそのまま反映されるはずです!!

 6月分のセルは AA28 になってますが AA24 では?

 と思いましたので表示はしてません(^^ゞ

 (MJ12)


(MJ12)さん

ありがとうございます。

参照先が変わってましたね。最初が間違っていました、すみません。

それに6月分のセルも間違ってました。おっしゃるとおりAA24でした(笑)
 

対象セルに式を入力したところ、確かに前月表示分が表示されました。

この状態だと、数値の入力をしていない6月以降も最終入力月の5月分「0.8」を引き継いで表示するので

グラフ上も「0.8」の位置で横棒になってしまいます。

前月分の数値を反映せずに、数値未入力から先の月はグラフ上に表示させない方法はありますでしょうか?

何度も何度も本当にすみません。  (笛吹き)


 >数値の入力をしていない6月以降も最終入力月の5月分「0.8」を引き継いで表示するので
 >グラフ上も「0.8」の位置で横棒になってしまいます。

 はい!横棒になります…そうなるようにしてました(・・;)
 違ったんですね。。。

 これって数式がどうのこうの…ではなくグラフの問題ですね。。。

 要するに入力した月までのグラフを表示したい…という話ですよね?

 であれば、とりあえず…E11〜P11 までの数式を

 4月分 =IF(Q24="","",Q24)   5月分 =IF(V24="","",V24) ・・・とこの要領で最後まで

 そしてグラフの設定です!!

 グラフのシートのプロットエリアで右クリック⇒データの選択 をクリック…

 データソースの選択画面に 『非表示および空白のセル』 をクリック

 空白セルの表示方法: で空白を選び

 非表示の行と列のデータを表示する…に☑が入っていたら外して下さい!!

 そしてOKで今度こそ完了。。。のはず(^_^;)

 (MJ12)


(MJ12)さん

何度も本当にありがとうございます。

こちらで使っているエクセルのバージョンが古いからでしょうか・・・・。

教えていただいた項目が見つけられません(泣)

エクセルのバージョンは2000です。

プロットエリアで右クリックを行うと

○プロットエリアの書式設定
 
○グラフの種類
 
○元データ
 
○グラフのオプション
 
○グラフの場所
 
○3−Dグラフ
 
○グラフウィンドウ
 
○クリア

と表示されます。

「元データ」や「グラフのオプション」などを見てみたのですが、
見当たりませんでした。

もしご存知なら教えていただいてよろしいでしょうか?

(笛吹き) 


http://pc.nikkeibp.co.jp/article/NPC/20060213/229106/

 こちらが参考になると思います!!

 試してみて下さい★

 (MJ12)

(MJ12)さんへ

別のPCに新しいエクセル2007で良かったでしょうか?が入っていましたので試したところ、お伺いした項目が見つかりました。

教わったとおりに行ってみましたが、残念なことに変化がありませんでした。

その後、教えていただいたHPを参考にエクセル2000で再トライしてみましたが、駄目でした。

こちらのやり方が悪かったのかもしれません・・・。

やはりあきらめるしかないのでしょうか?

(笛吹き)


 変化ありませんでした?自分は2007ですが、

 非表示の部分はグラフに反映されませんでしたよ!!

 数式をみて非表示になってるか再確認してみて下さい★

 何度も修正してるので、もしかしたらそのままになってませんか?

 (MJ12)

(MJ12)さんへ

そうですか・・・やはりこちらのやり方が悪いんでしょうね・・・。

教えていただいたとおり
表には以下の数式を入れております。
 
4月分の場所 セルE11には「=IF(Q24="","",Q24)」 

5月分の場所 セルF11には「=IF(Q24="","",Q24)」

といった数式が入っています。 表の中には未入力部分には何の数値も出なくなってます。

間違っている場所が無いか確認してみます。

(笛吹き)


 5月分の場所は

 =IF(V24="","",V24)

 でしたよね(^^ゞ やはり何処か間違ってるような気がしてなりません(^_^;)

 エクセル2000での確認はコチラでは出来ないのが残念です(/_;)

 (MJ12)

すみません。
5月をコピぺしたつもりが4月でした。
再確認したところ、5月に=IF(V24="","",V24)と入っておりました。

試しに別の場所に、同じような表を作ってみて、グラフのオプション等を試したのですが、
やはり未入力の0部分にも折れ線グラフが繋がってしまいました。

こちらの入力で何か根本的にやり方の間違いをしているのかもしれません。

初心者なのでミスを見つけることも出来ないので辛いです。

MJ12さんがこちらのファイルを見ればすぐに直せるでしょうね。

あ〜知識が欲しい!


 色々触ってると、知識は地道についていくと思います♪

 と言ってる自分もまだ勉強中です(^_^;)

 もう一度オサライしないといけませんね★

 今日はココまでです(^^ゞ

 (MJ12)

本当に有難うございました。

私事ですみませんが明日一日外出しておりますので

また来週にご教授くださいませ。

宜しくお願い致します。

(笛吹き)


 >例えば今ですと11月と12月は空白なのですが、計算式が入っている為に「0」と認識?してしまい
多分正解です
グラフの作成範囲に名前の定義で作成した範囲を使用すると良いのかな?
[挿入] メニューの [名前] →[定義]  
[名前] ボックスに 範囲と入力
[参照範囲] ボックスに 
=OFFSET(基準,0,0,1,幅)
基準:グラフの最初のセル (例$E$11)
幅:表示したい月数を入力したセルアドレス(例$Z$1)
Z1の値によりグラフが拡がると思います。
方法は異なるが
参考:可変範囲のグラフ
http://www2.odn.ne.jp/excel/waza/graph.html#SEC13


ありがとうございます。

教えていただいたのを試みているのですが、初心者ゆえにイマイチ分からず(笑)

=OFFSET(テスト!$E$11,0,0,1,テスト!$P$13)
と定義に入力いたしました。

そこからどうすれば良いのかわからず立ち往生です。

「参考」を参照しながら「系列」等に入力しましたが上手く行きませんでした。

どのようにすれば良いでしょうか?

(笛吹き)


(MJ12)さんへ

計算式を入れていないグラフを作成した後、前回教えていただいた「空白セルの・・・」
等の作業を行うと、折れ線グラフ上で数値の入力されている部分と入力されていない部分が
繋がっていないグラフが出来上がりました。

しかし何かしらの計算式を入力するとやはり未入力部分も繋がる折れ線グラフが出来てしまいました。


 何かしらの計算式を何処に入れたのですか?

 2007もあるとのことで…少し上で説明した通りで

 できると思うのですが(^_^;)

 非表示の箇所は反映されないように…0は入力後に0という結果もあるという事でしたので

 0値が表示されるとグラフには反映されますよ★

 (MJ12)

(MJ12)さんへ

ありがとうございます。

もう一度見直してみます。

どこかで何かを間違ってるのだと思います。

また分からないことがあったときは宜しくお願い致します。

(笛吹き)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.