• ベストアンサー

エクセルの関数について教えて下さい。

31日の平均は例えば=AVERAGE(F3:F34)これで出ると思うのですが、 前日までの平均を自動で計算してくれる関数式を知りたいのですが教えていただけませんでしょうか。 わかりにくくてすいません。宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.4

※平均値を求める数値の設定方法に気をつければ、 =AVERAGE(F3:F34) これで十分だと思います。  AVERAGE関数の仕様では、average関数の範囲の中に、空白や文字、また何も入力されていない セルがあると、そのセルを計算対象外にします。  ※当日以降にセルを空白或いは、何も入力していなければ、そのまま対象外になります。   0(零)は、計算対象です。

2741
質問者

お礼

有難うございます。感謝です。助かりました。

その他の回答 (3)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

後半の式は次のようなります。 =AVERAGE(INDEX(F:F,IF(A$3>TODAY()-30,ROW(B3),MATCH(TODAY()-30,A:A,1))):INDEX(F:F,MATCH(TODAY()-1,A:A,1)))

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

例えば日付のデータが昇順でA3セルから下方に入力されているとしてF3セルから下方のデータの平均を計算するとします。 F3セルから下方のデータを使って前日(ここでは本日を基準にしています)までの平均を計算させるとしたら次のような式にします。 =AVERAGE(F$3:INDEX(F:F,MATCH(TODAY()-1,A:A,1))) 31日間の平均を求めるのでしたら、本日よりも31日も前の日付よりも古い日付がA列に無い場合にはF3セルからのデータの平均を求めるとして次のような式にします。 =AVERAGE(INDEX(B:B,IF(A$3>TODAY()-30,ROW(B3),MATCH(TODAY()-30,A:A,1))):INDEX(B:B,MATCH(TODAY()-1,A:A,1))) 上の式などを参考にご自分のケースで式を立ててください。

2741
質問者

お礼

有難うございます。試してみます。すごいですね。

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

=AVERAGE(F3:INDIRECT("F"&DAY(TODAY())+1)) こんな感じ? でも、今日が1日か2日だったらエラーになると思うけど…。

2741
質問者

お礼

本当助かります。有難うございます

関連するQ&A