重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

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

エクセル2007で%の平均値を求めたいのですが、うまくできません。
先日下記の様な質問をさせて頂いたのですが、もう少し質問したいことがあったのに間違えて解決済にしてしまいました。
どなたか分かる方がいらっしゃいましたら教えてください。

   A    B    C    D    E    F    G     H
1 目標  6.44%  4.50%  3.77%  5.15%  2.66%  2.79%  式を入れたいセル
2 実績  5.07%  6.00%  4.85%                 A2~G2の平均値

A1~G1は、=(F3/G6)みたいな数式が入っていて、%で表示されています。
B2~G2は、最初は空欄で毎月B、C、D、E、Fと一つずつ%が入っていきます。

上記で、H1のセルに、下記の様な結果を表示できる式を入れたいのですが、何かいい方法はないでしょうか?
・B2~G2が空白の時はB1~G1の平均値
・B2にだけ数字が入っていてC2~G2が空白の時はB1の数字
・B2~C2に数字が入っていてD2~G2が空白の時はB1~C1の平均値
・B2~D2に数字が入っていてE2~G2が空白の時はB1~D1の平均値
・B2~E2に数字が入っていてF2~G2が空白の時はB1~E1の平均値
・B2~F2に数字が入っていてG2だけが空白の時はB1~F1の平均値
・B2~G2全てに数字が入っている時はB1~G1の平均値

という質問に対して、
[H1]=AVERAGE(B1:INDEX(B1:G1,COUNT(B2:G2)))
という式を教えて頂いたところ、うまくいきました。

半期分はこれでOKだったのですが、1年分だとHに半期の平均のセルが入るため、うまく表示できません。
・B~Gが前期、Hが前期の平均
・I~Nが後期、Oが後期の平均

さらに、Pに全期の平均を入れたい場合はどのようにしたらよいのでしょうか?
[P1]=AVERAGE(B1:INDEX(B1:N1,COUNT(B2:G2,I2:N2)))
にすると、Hのセルも入ってしまうため、後期に数字が入ると平均値の表示が1つずつずれてしまいます。

何回も申し訳ないのですが、どうぞよろしくお願いいたします。

A 回答 (5件)

>=(F3/G6)みたいな数式が...


その『%』ってどういう意味合いのものなのでしょうか。
結果としての『%』の単純な平均値を求めるだけでいいのでしょうか、

...って事はおいといて、2007なら
[H1] =AVERAGEIF(B2:G2,"<>",B1:G1)
[O1] =AVERAGEIF(I2:N2,"<>",I1:N1)
で良いんじゃないかとも思いますけども。
[H1] =AVERAGE(B1:INDEX(B1:G1,COUNT(B2:G2)))
だとB2:G2未入力でB1:G1平均が表示されてしまいますが、それでいいですか?
未入力なら素直に #DIV/0! エラー表示させといてもいいんじゃないかと思います。

って事もおいといて、[H1,O1]に平均値がはいっているので、
[P1] =(H1*COUNT(B2:G2)+O1*COUNT(I2:N2))/(COUNT(B2:G2,I2:N2))
とか。

でもやっぱりAVERAGEIF使って
 =AVERAGEIF(B2:N2,"<>",B1:N1)
でいいような気もします。(H2未入力なら)
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
うまくいきました!
本当にありがとうございます。

お礼日時:2010/07/04 22:56

=IF(COUNT(B2:G2,I2:N2)=0,AVERAGE(B1:G1,I1:N1),AVERAGE(B2:G2,I2:N2))


これだけではダメですか?

ちなみに、半期の平均も、ちょっと難しいINDEX関数を使わなくても、
=IF(COUNT(B2:G2)=0,AVERAGE(B1:G1),AVERAGE(B2:G2))
=IF(COUNT(I2:N2)=0,AVERAGE(I1:N1),AVERAGE(I2:N2))
これだけでいけると思いますが。

AVERAGE関数は、0だとカウントしますが、空欄はカウントしませんよ。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
お礼が遅くなりまして申し訳ございません。
せっかく教えていただいたのですが、今回は他の方法でやらせていただきました。
本当にありがとうございました。

お礼日時:2010/07/04 23:00

>=(F3/G6)みたいな数式が入っていて


肝心な説明が「みたいな」では、非常に困ります。
「分母が同じなら」と言う条件下でならば、AVERAGE関数を使っても良いでしょう。
しかし、百分率の平均を取る事自体が、意味の無いことだと考えます。
H1セル
=IF(B2="",B1,SUM(F3:INDEX(F3:K3,COUNT(B2:G2))/SUM(G6:INDEX(G6:L6,COUNT(B2:G2)))))
O1セル(H1セルをコピペ)
=IF(I2="",I1,SUM(M3:INDEX(M3:R3,COUNT(I2:N2))/SUM(N6:INDEX(N6:S6,COUNT(I2:N2)))))
P1セル(B2=""とI2=""を考慮に入れていません)
=SUM(F3:INDEX(F3:K3,COUNT(B2:G2)),M3:INDEX(M3:R3,COUNT(I2:N2)))/
SUM(G6:INDEX(G6:L6,COUNT(B2:G2)),N6:INDEX(N6:S6,COUNT(I2:N2)))
「エクセル2007で%の平均値を求めたいの」の回答画像4
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
お礼が遅くなりまして申し訳ございません。
図解付きのご丁寧な回答、本当に感謝いたします。

お礼日時:2010/07/04 22:59

H1セルおよびO1セルに前期の平均および後期の平均がそれぞれ正常に表示されるのですから、前期の平均は


単に次の式でよいでしょう。
P1セルへは次の式を入力します。

=AVERAGE(H1,O1)
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
お礼が遅くなりまして申し訳ございません。
せっかく教えて頂いたのですが、今回は別の方の方法でやらせていただきました。

お礼日時:2010/07/04 22:58

せっかく回答を出だしてもらっているのですが、別の方向から見直してみます。


ひょっとしてですが、別の行の合計を出している行がありませんか?
仮に
   A    B    C    D    E    F    G     H
1  月     4    5   6     7    8   9    上期
2 目標金額                               合計金額(SUM関数)
3 実績金額                               合計金額(SUM関数)
4 目標  6.44%  4.50%  3.77%  5.15%  2.66%  2.79%  式を入れたいセル
5 実績  5.07%  6.00%  4.85%                 A2~G2の平均値
とかになっているのでは
ここで算数になりますが、H5の平均の値は H2の実績の合計÷入力してあるセルの数(COUNT(A2:G2))で得られますよね。
同様に、下期もOKでしょう。
通期の合計金額もP列にSUM関数で表示しておきます。
通期の平均は、通期の合計÷A2:G2とI2:N2の入力してあるセルの数
=P2/(COUNT(A2:G2)+COUNT(I2:N2)) といった感じで求められませんか。
既に合計の値を計算しているセルがあれば、そのセルの結果を利用します。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
お礼が遅くなりまして申し訳ございません。
ご丁寧な回答、本当に感謝です!!

お礼日時:2010/07/04 22:57

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