- ベストアンサー
EXCELの平均を出す関数について
- EXCELの平均を出す関数について質問があります。具体的なデータと計算方法を説明しています。
- 質問者は、EXCELのAVERAGE関数を使用して日付を指定した範囲の平均値を計算しようとしています。
- 質問者は、B列のセルに入力がない場合に、今日の日付以降を計算しない方法を知りたいと質問しています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>=AVERAGE(B2:B3) の部分を=if(B3="","",AVERAGE(B2:B3))とする。 もちろん各セルの内容のセル範囲の修正も必要です。ですが=if(B3="","",AVERAGE($B$2:B3))として設定しておけば、D3セルを選択しコピーして一気にD32までコピーしてください。 蛇足でが、D32のセルは=AVERAGE(B2:B32)ですよね。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
こんなに早く、と喜んでいる場合じゃない。 質問者は、エクセル関数の、絶対参照(番地)、相対参照(番地)、複合参照(番地)の解説を読んでない(基礎的な勉強をして関数を使ってない)というだけ。 本件は複合参照のいくつか在るケースの1つ。 Googleででも「絶対参照 エクセル」で照会して数個の記事を読んでください。膨大なすうの記事がある。それだけ基礎的な事項であるという証拠でもある。 >AVERAGE関数をD32まで先に埋めてしまった場合、 B6:B32のあす以降の計算結果も出てしまいます これもデータ入力が無いセルを参照する式を前もって入れるなら、そのセルが空白かどうかをIF関数で判別し =IF(A20="","",平均算出式)のようにすればしまい。
お礼
おっしゃると通りです。 基礎勉強できていないため、 複合的関数は全く無知です。 いくつかの記事は拝見しているものの、 当事項に関する直接的なものでなければ、 なかなか理解できません。 良い勉強になりました。 ありがとうございました。
- KURUMITO
- ベストアンサー率42% (1835/4283)
D2セルに次の式を入力して下方にオートフィルドラッグします。 =IF(B2="","",AVEARAGE(B$2:B2)) この式はもしもB2セルが空ならば空白にしなさい。そうでなければ平均を計算しなさい。という意味になります。 ところで、AVERAGE関数の中のB$2は絶対参照の形のセル番地になっています。これはB列内のどこにドラッグして使用してもB2セルのままで変わりません。このためD32セルでは式は次のようになっています。 =IF(B32="","",AVERAGE(B$2:B32) 今日までの日付について計算結果を出したい、それ以降は空白にしたいとのことですから上の式で十分のような気もしますがもっと正確には仮に今日以降の日付に売上のデータを入力してしまった場合でも上の式では平均が計算されてしまいますね。ご質問の意味を忠実に行うことのできる計算式は例えば次のようになります。 D2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(AND(A2<=TODAY(),COUNT(B$2:B2)>0),AVERAGE(B$2:B2),"") この式はA2セルに日付が今日の日付以前で、なおかつ(AND)、B$2とB2の間に売上のデータが入力されている場合(COUNT関数で0以上のとき)には平均を計算しなさい。そうでなければ空白にしなさい。という意味になります。
お礼
=IF(AND(A2<=TODAY(),COUNT(B$2:B2)>0),AVERAGE(B$2:B2),"") こちらの関数は大変参考になりました。 素人が独学で勉強するには、 大変ありがたいです。
- bigfatrat
- ベストアンサー率27% (53/192)
A B D 1 日付 売上 平均 2 7/1 200 3 7/2 100 =if(B3=0,"",AVERAGE(B2:B3)) たぶんこれでいけるはず、 手元にエクセルが無いから試してみないとわからないけど。
お礼
こんなに早く回答していただき、 大変助かりました。 思った通りにできてます。 ありがとうございます。
お礼
こんなに早く回答していただき、 大変助かりました。 思った通りにできてます。 ありがとうございます。