- ベストアンサー
エクセルの平均値を出す時に困ってます
家計簿でそれぞれの平均をエクセルで出そうとしているんですが A~G列の列ごとに出したいのですが ABCD・・・ (1)245 (2)4 7 (3) 54 (4)578 (5)68 上記のように列に空白があり、そのままaverageで平均を出すと 空白も計算してしまい、正確な平均が出ないので困っています 曜日ごとにつけていますので、どうしても空白が出来てしまうですが このような場合に平均値を正確に出す時になにか良い、計算方法は ないでしょうか?
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 今日から遡って、というと、逆さになるのですか? >(A1:A4)と指定した場合に正確な4個数字の平均が出ない場合 以下の数式を適当な列に、5行目から入れてください。 =IF(OR(COUNT(A1:$A$100)<4,A1=""),"",SUM(A1:INDEX(A1:$A$100,SMALL(INDEX((A1:$A$100<>"")*ROW(INDIRECT("A1:A"&101-ROW(A1))),,),COUNTIF(A1:$A$100,"")+4),))/4) 今回は、100行目までになっていますから、100と101 のところを最終行と、最後の行+1の数字に設定してください。面倒なら、100行ずつわけてもよいのですが、「INDIRECT("A1:A"& 」 の中は、変えてはいけません。 適当なところで、範囲を分けてもよいと思います。そして、数式を入れたら、いくつか、検算してみてください。 1700行ぐらいになるのでしょうか? でも、年計ではされないのでしょうか?
その他の回答 (6)
- imogasi
- ベストアンサー率27% (4737/17069)
例 データ A1:A13 1 2 3 4 5 6 7 4 5 1 この最終の1から空白を除いて、上に4行の平均を出したいということですか。 関数では難しそうなんですが、まずは質問の意味の確認。 これなど初心者でも思いつく課題だが、関数では難しい1例ではないかと思う。
お礼
確かに関数では難しく、不適切かもしれません このようなわがままな質問にお時間を割いていただき ありがとうございます
エクセルは操作もしたことがない門外漢ですが・・・。 average関数は、空白を無視すると思いますよ。 1__1 2__ 3__2 4__1.5 <--- =AVERAGE(A1:A3) しかし、0 があれば、 1__1 2__0 3__2 4__1 <----=AVERAGE(A1:A3) 5__1.5 <----=SUMIF(A1:A3,">0",A1:A3)/COUNTIF(A1:A3,">0") 6__1 <----=SUM(A1:A3)/COUNT(A1:A3) となるかと思います。 ※門外漢ですので参考程度に・・・。
補足
丁寧な回答ありがとうございます 当方の質問が不十分でした 平均を求める時に、 (1)今日から遡って、例えばA列の「4個」の「数字」の平均を求めたい場合averageでそのまま範囲指定をすると空白が含まれてしまい (A1:A4)と指定した場合に正確な4個数字の平均が出ない場合があり 悩んでおりました ここを解消してあたらしく列に数字を入れると、今日から遡って、 4個の数字の平均を毎回他の列に出せるように 出来ればと思っております 本来なら一つ一つctrlで遡って、数字が入っているセルをを指定すれば済むのですが、期間が4年7ヶ月もあり、なにか便利なアプローチがないかと思い質問致しました 今回、私の質問が不十分で誤解を与えてしまい 申し訳ありません
- mshr1962
- ベストアンサー率39% (7417/18945)
>空白も計算してしまい、正確な平均が出ないので困っています 上記の仕様はAVERAGEA関数(最後がA)のほうです。 AVERAGE関数は空白は件数としてカウントしません。
補足
平均値の関数には2種類あるのですね ありがとうございます この度、当方の質問が不十分でした 平均を求める時に、 (1)今日から遡って、例えばA列の「4個」の「数字」の平均を求めたい場合averageで(A1:A4)と範囲指定をすると空白が含まれてしまい 正確な4個の数字の平均が出ない場合があり 悩んでおりました ここを解消してあたらしく列に数字を入れると、今日から遡って、 4個の数字の平均を毎回他の列に出せるように 出来ればと思っております 本来なら一つ一つctrlで確認して、数字が入っているセルをを指定すれば済むのですが、期間が4年7ヶ月もあり、なにか便利なアプローチがないかと思い質問致しました 今回、私の質問が不十分で誤解を与えてしまい 申し訳ありません
- mu2011
- ベストアンサー率38% (1910/4994)
何か勘違いされていませんでしょうか、average関数は空白を無視します。 但し、0は計数対象になりますので、例えば0を非表示(オプションのゼロ値や書式設定で#定義等)しているとご質問のような事になります。
補足
ご指摘ありがとうございます 質問を勘違いしておりました この度、当方の質問が不十分でした 平均を求める時に、 (1)今日から遡って、例えばA列の「4個」の「数字」の平均を求めたい場合averageで(A1:A4)と範囲指定をすると空白が含まれてしまい 正確な4個の数字の平均が出ない場合があり 悩んでおりました ここを解消してあたらしく列に数字を入れると、今日から遡って、 4個の数字の平均を毎回他の列に出せるように 出来ればと思っております 本来なら一つ一つctrlで確認して、数字が入っているセルをを指定すれば済むのですが、期間が4年7ヶ月もあり、なにか便利なアプローチがないかと思い質問致しました 今回、私の質問が不十分で誤解を与えてしまい 申し訳ありません
- maxmixmax
- ベストアンサー率10% (91/908)
アベレージは空白は無視しませんでしたかね? 例えば 3、(空白)、1 という三つのセルを範囲に指定した アベレージの結果は2になったと思いますが。 空白に0を入れると1.333333になるんじゃなかったかな? 違ったらすみません。
補足
回答ありがとうございます ご指摘のとおり、空白は無視する事に気付きました この度、当方の質問が不十分でした 平均を求める時に、 (1)今日から遡って、例えばA列の「4個」の「数字」の平均を求めたい場合averageで(A1:A4)と範囲指定をすると空白が含まれてしまい 正確な4個の数字の平均が出ない場合があり 悩んでおりました ここを解消してあたらしく列に数字を入れると、今日から遡って、 4個の数字の平均を毎回他の列に出せるように 出来ればと思っております 本来なら一つ一つctrlで確認して、数字が入っているセルをを指定すれば済むのですが、期間が4年7ヶ月もあり、なにか便利なアプローチがないかと思い質問致しました 今回、私の質問が不十分で誤解を与えてしまい 申し訳ありません
「平均」の求め方は「合計/個数」なんですから =SUM(範囲)/COUNT(範囲) で求まるのでは? 本当に「空白なら」ですが。
補足
迅速な回答ありがとうございます 当方の質問が不十分でした 平均を求める時に、 (1)今日から遡って、例えばA列の「4個」の「数字」の平均を求めたい場合averageでそのまま範囲指定をすると空白が含まれてしまうので その都度、あたらしく列に数字を入れると、今日から遡って、 その値の4個の数字の平均を毎回違う列に出せるように出来ないかと 思案しておりました 本来なら一つ一つctrlで4つの数字を指定すれば済むのですが 期間が4年7ヶ月もあり、なにか方法がないかと思い質問致しました 今回、私の質問が不十分で誤解を与えてしまい 申し訳ありません
お礼
詳細な回答にありがとうございます 早速使用して、無事値が出ました 今回わがままな質問にお時間を割いていただき 本当にありがとうございます