• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルの関数(AVERAGE)について質問です。)

エクセルの関数(AVERAGE)について質問です

このQ&Aのポイント
  • エクセル2007で在院日数の平均を求める際、空白のセルを計算せずに正しい値を出す方法を知りたいです。
  • エクセル2007で区分の(1)と(3)だけを選んで平均値を出す方法を教えてください。
  • エクセル2007の関数(AVERAGE)についての質問です。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答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

その他の回答 (7)

回答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】は手入力で変更することができ、区分別平均を出す事ができます

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.7

エクセル2007でテストできないが だまされたと思って、下記を改めてやってください。 2007になって、仕様変更されるような個所ではないと思うから。 例データ A列  B列   C列 1 1 1 3 2 2 5 2 1 2 3 C列は式 =IF(B1="","",A1-B1+1) と入れて下方向に式複写 それ以外のセルに =AVERAGE(C1:C5) 1.666666667 その下に =5/3  1.666666667 になるかどうか。なるようなら、質問者の予想外の点に問題があると思う。 思っていたように式が杯って居ないとか。 ーー ツールーオプションーウインドウオプションーゼロ値は関数の解説書に注意が載っているが 空白ではないケースなので問題外だろう。 セルの値が0なのにゼロ値を空白に表示しておれば、質問のようになるが。 B列未入力データ行のC列は、質問者の意に反して、0になっていませんか。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.6

ああ、ごめんなさい。 AVERAGEIFS関数 の条件設定は and でしたね。 まえの投稿は無視してください。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答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)"})))

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答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)"))