エクセルの関数(AVERAGE)について質問です。
エクセル2007を使ってこのような、表を作りました。
A B C D
1 入院日 退院日 在院日数 区分
2 2010/3/2 2010/5/8 68 (1)
3 2010/4/18 2010/5/9 22 (5)
4 …
と、100行分まで表があります。
Cの『在院日数』は「退院日-入院日+1」で計算します。
計算式は『=IF(B1="","",B1-A1+1)』といれてみました。
在院日数を求めるのはこれでうまくいくのですが、
問題は、この在院日数の平均を求めることがうまくいかないのです。
以前、エクセル2003を使っていたときは
普通に『=AVERAGE(C2:C101)』でうまくいっていたと思うのですが
エクセル2007にしてからは
空白のセルも、計算式が入っているせいか、数値があると認識してしまうらしく
80行までしか入力されていない時は、81から100行までの分を0と考え
1行目から100行目までの値を足し、100でで割られた値が出てきてしまいます。
どうしたら、空白のセルは計算せずに平均値を出すことが出来ますか?
それと、もう一つ質問があり
区分では、(1)~(8)を入力するのですが
この、区分の(1)と(3)だけを選んで平均値を出したい
ということもしたいのですが
どうしたらよいでしょうか?
(1)だけなら、AVERAGEIFを使えばと思うのですが
(1)と(3)という時は、どういう風にしたらいいのか教えて下さい。
No.8
- 回答日時:
以下の表より説明
セル【C2】に =IF(OR(A2="",B2=""),"",B2-A2+1) の式を入力後【C7】まで数式のコピーをします
セル【G8】に =AVERAGEA(AVERAGEIF(D2:D7,G7,C2:C7),AVERAGEIF(D2:D7,H7,C2:C7)) の式を入力
セル【G7】及び【H7】は手入力で変更することができ、区分別平均を出す事ができます
No.7
- 回答日時:
エクセル2007でテストできないが
だまされたと思って、下記を改めてやってください。
2007になって、仕様変更されるような個所ではないと思うから。
例データ
A列 B列 C列
111
322
5
212
3
C列は式 =IF(B1="","",A1-B1+1) と入れて下方向に式複写
それ以外のセルに =AVERAGE(C1:C5) 1.666666667
その下に =5/3 1.666666667
になるかどうか。なるようなら、質問者の予想外の点に問題があると思う。
思っていたように式が杯って居ないとか。
ーー
ツールーオプションーウインドウオプションーゼロ値は関数の解説書に注意が載っているが
空白ではないケースなので問題外だろう。
セルの値が0なのにゼロ値を空白に表示しておれば、質問のようになるが。
B列未入力データ行のC列は、質問者の意に反して、0になっていませんか。
No.5
- 回答日時:
おかしいですね。
本当に空白になるようにしていますか?では、AVERAGEIF関数 で 「値がゼロより大きい」 を条件に平均値を出してみてはどうですか。
=AVERAGEIF(条件の範囲,条件,平均の範囲)
こう使います
=AVERAGEIF(C2:C101,">0",C2:C101)
などとしてみてください。(未検証)
>(1)だけなら、AVERAGEIFを使えばと思うのですが
>(1)と(3)という時は、どういう風にしたらいいのか教えて下さい。
AVERAGEIFS関数
=AVERAGEIFS(平均範囲,検索条件範囲1,検索条件1,検索条件範囲2,検索条件2...)
こっちはこう使います。
=AVERAGEIFS(C2:C101,D2:D101,"(1)",D2:D101,"(3)")
などとしてみてください。(これも未検証)
※これらの関数は Excel2007 で追加されたものです。
No.4
- 回答日時:
あら、最期の数式の範囲がずれている
=SUM(SUMIF(D2:D101,{"(1)","(3)"},C2:C101)/SUM(COUNTIF(D2:D101,{"(1)","(3)"})))
1か所だけど修正、配列数式。
{"(1)","(3)"}の部分をセル範囲で参照にするには、配列として確定させるために
[Ctrl]+[Shft] +[Enter] で確定させる必要があります
No.3
- 回答日時:
>空白のセルも、計算式が入っているせいか、数値があると認識してしまうらしく
2007でも考えにくいですね。
81行め以降も数式が正しいか[Ctrl]+[Shift]+[@]
(もう一度押すと戻る)
確認しましょう
[Excelのオプション]から
詳細設定の[レ]ゼロ値のセルにゼロを表示する
にチェックが入っているか?
[F9]再計算してみるとか
質問文の数式は
>計算式は『=IF(B1="","",B1-A1+1)』といれてみました
ではなく
C2セルに =IF(B2="","",B2-A2+1)
下へオートフィル ですね
まだ、何か見落としがあるのかなあ。
=SUM(SUMIF(D2:D100,{"(1)","(3)"},C2:C101)/SUM(COUNTIF(D2:D101,{"(1)","(3)"})))
No.2
- 回答日時:
次のようにしてはどうでしょう。
=SUM(C2:C200)/COUNTIF(C2:C200,">0")
また(1)と(3)だけの平均ですが
=(SUMIF(D2:D200,"(1)",C2:C200)+SUMIF(D2:D200,"(3)",C2:C200))/(COUNTIF(D2:D200,"(1)")+COUNTIF(D2:D200,"(3)"))
No.1ベストアンサー
- 回答日時:
こんにちは!
Excel2007に関しては手元にないので詳しく判りませんが、
AVERAGE関数は空白セルや文字列が入っているセルは無視され、数値だけのセルで平均が出ると思いますので、
質問文にあるように普通にAVERAGE関数で問題ないと思うのですが・・・
この件に関しては理由が判らないのでごめんなさい。
次に区分を選んでの平均の方法の一例です。
当方使用のExcel2003の場合です。
↓の画像でG5セルに
=(SUMIF(D2:D100,F5,C2:C101)+SUMIF(D2:D100,F6,C2:C101))/(COUNTIF(D2:D101,F5)+COUNTIF(D2:D101,F6))
という数式を入れています。
これでF5・F6セルに平均を出したい区分を入力すればその平均が表示されると思います。
尚、F5・F6セルの一つだけでもその区分の平均が表示されますが、
両方とも空白の場合はエラーになります。
そして余計にお世話かもしれませんが、G1セルには普通に
=AVERAGE(C2:C101)
という数式を入れています。
そして↓のURLは参考にならないでしょうか?
http://www.becoolusers.com/excel/averageifs.html
この程度ですが
参考にならなかったらごめんなさいね。m(__)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの関数式を教えてください。 2 2022/11/29 21:09
- Excel(エクセル) エクセルでIF関数中にIFERROR関数を使いたいのですが???? 5 2022/04/08 13:24
- Excel(エクセル) 最後の12個の修正平均を算出したい。 3 2022/04/30 18:24
- Excel(エクセル) エクセル・セルに数式を入力してセル指定計算 2 2023/04/21 12:46
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Excel(エクセル) エクセルでセルに何らかの文字が入力されたらそれを任意の数値として認識させる方法がしりたいです。 3 2023/03/16 20:19
- Excel(エクセル) エクセル 自動計算 1 2023/01/30 13:28
- Excel(エクセル) 電卓は正しいのに エクセルで計算させると間違った答えです。なぜ? 7 2022/08/11 07:04
- 統計学 母集団分布を平均 μ, 分散 σ2 の正規分布と想定し, 母集団から無作為抽出した標本のデータ(標本 4 2023/01/30 20:25
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
Excel > ピボットテーブル「(空...
-
エクセルでCSVを編集するとき、...
-
「データ要素を線で結ぶ」がチ...
-
数式による空白を無視して最終...
-
ピボットテーブルで空白セルの...
-
Excel:関数が入っているセルに...
-
エクセルで、「複数のセルの中...
-
excel2010 空白セルにのみ貼り...
-
【Excel】 csvの作成時、空白セ...
-
空白セル内の数式を残したまま...
-
【Excel】 Ctrl+方向キー で空...
-
関数TRANSPOSEで空白セルを0に...
-
COUNTAで式をカウントしない方法
-
《Excel2000》SUMPRODUCT関数で...
-
エクセルにて負の時間を0:00と...
-
エクセル マクロ 最終列まで...
-
空白を0とみなす関数
-
エクセルのグラフで式や文字列...
-
空白セルがないのにオートフィ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
数式による空白を無視して最終...
-
エクセルでCSVを編集するとき、...
-
ピボットテーブルで空白セルの...
-
excel2010 空白セルにのみ貼り...
-
Excel > ピボットテーブル「(空...
-
空白セル内の数式を残したまま...
-
「データ要素を線で結ぶ」がチ...
-
エクセルで、「複数のセルの中...
-
Excelで、入力文字の後に自動で...
-
エクセル 連番が途切れていると...
-
《Excel2000》SUMPRODUCT関数で...
-
SUMIFS関数で「計算式による空...
-
【Excel】 csvの作成時、空白セ...
-
形式貼り付けの「空白を無視す...
-
Excel:関数が入っているセルに...
-
リンク先が空白若しくはゼロの...
-
エクセルで上の行の値を自動的...
-
エクセルにて負の時間を0:00と...
-
エクセルのグラフで式や文字列...
おすすめ情報