• ベストアンサー

Excel IF関数とAVERAGE関数

定期考査の成績をExcelで作ってみようと思うのですが、関数の打ち方を忘れてしまいました。 IF関数を使い、点数の所がどこも記入されていなかった場合空白にして、一つでも入っていたらその平均を出そうと思っているのですが、出来ますよね? 平均を出したいところは、下の写真の範囲指定してあるところなのですが、覚えている感じで関数を入力すると、「VALUE」と出てしまいます。 関数は =IF(B3:J3="","",AVERAGE(B3:J3)) にしていますが、関数のせいならば、正しい関数を教えて下さい。 お願いします。

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

  • ベストアンサー
  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.3

こんにちは =IFERROR(AVERAGE(B4:J4),"") だけでいいかも?

lapis0311
質問者

お礼

ありがとうございます! IFERROR関数を使うのですね。 聞いたことのない関数ですが、そこまで複雑ではないですね。 これなら簡単に覚えられそうですね。

その他の回答 (2)

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.2

こんにちは =IFERROR(IF(COUNTA(B3:J3)=0,"",AVERAGE(B3:J3)),"") とか。

lapis0311
質問者

お礼

ありがとうございます! IFERRORという関数を使うのですか。 その関数は聞いたことがありませんでした。 覚えておきたいと思います。

  • chie65535
  • ベストアンサー率43% (8523/19372)
回答No.1

=IF(COUNT(B3:J3)=9,AVERAGE(B3:J3),"") COUNT関数は「指定したセルで、数値が入力されているセルの数」を数えます。 空欄になっているセルや、文字が入力されているセル、エラーが出ているセルは数えません。 なお「数値を返す式を入力したセル」や「日付を入力したセル」は「数値」として数えてしまうので、注意して下さい。

lapis0311
質問者

お礼

ありがとうございます! COUNT関数を使うのですか。 それは知りませんでした。 覚えておきたいと思います

関連するQ&A

  • AVERAGE(IF

    EXCEL2003ですが、2行目にB列からK列までに数値が入っています。 その中で100以下の数値の平均をL2に表示させるべく、下記式をL2に貼り付けましたが、#VALUE!の表示です。 =AVERAGE(IF(B2:K2<101,B2:K2,"")) 下記式でも同様でした。 =AVERAGE(IF(B2:K2<101,B2:K2)) 加減乗除は分かるのですが、IF関数は良く分かりません。 どうぞ宜しくご教示下さい。

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

    エクセルの関数(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)という時は、どういう風にしたらいいのか教えて下さい。

  • エクセルのIF関数の使い方について

     こんにちわ。仕事で成績の評価表の作成をしたくて、エクセルで表を作成しました。    表は、  Aのセル・・・氏名 Bのセル・・・テストの点数 Cのセルが平常点          Dのセル・・・BとCのセルを合計した合計点数          Eのセル・・・成績評価  Fのセル・・・合計点数による順位    という表を作成しました。    Eのセルに Dのセルの合計点数を基準として 5段階の評価をつけたい。    条件が、 85点以上が5、60点以上が4、50点以上が3、35以上が2、1~34点までが1    =IF の関数 =IF(論理式、真の場合、偽の場合) というのを使用すればいいのは   わかったんですが、いまいち関数式の取り方、書き方がわからなくて・・・本をみて記入して   みたんですがエラーになります。   どうしたら評価を自動転記することができるか、教えてください。   また点数をもとに順位をつける方法も教えて欲しいです。よろしくお願いします。

  • Excel 中央値のIf関数について

    中央値の計算で、 3行目のセルで“月曜”と書かれているセルかつ、12行目にあるセルで空白箇所があった場合 (たとえばC12,K12,J12) その列上にあり7行目のセル(C7,K7,J7)の中央値を計算するという数式はどのようにしたら可能でしょうか。 =MEDIAN(IF(条件,中央値の範囲,"")と書いてあったので =MEDIAN(IF(3:3="月曜"and12:12="",7:7,"") としましたが、VALUE!と表示されてしまいます。 3行目には曜日を 7行目には宿泊客数を 12行目には“三連休”などメモを書いており、 特定の曜日で、メモが未記入の日の宿泊客数だけを中央値で出したいのですが、 上述のようにVALUE!だったり、 数式をいじっても、空白も記入箇所もまとめて全体の中央値が計算されてしまったりとうまくいきません。 今後も入力していくのでA12:Z12など特定のの範囲にしたくないので12:12など行全体を範囲としています。

  • IF関数

    初心者なので教えてもらった通りに関数を入力したのですが 値が反映されません。環境はエクセル2007です。 式は =IF($F117=",",AVERAGE($F109:$F117)) 定期的に平均値を出したいのですが答えが すべてFALSEと反映されます。 困っています どうか数値がでるようになるにはどうしたらいいのか教えてください。  宜しくお願いします  

  • AVERAGE関数では、小数点以下を切り上げてますよね。

    範囲指定した12個の数値を、AVERAGE関数で平均を出したら、小数点以下を切り上げて(四捨五入?)しまいました。 =AVERAGE(A1:A12) を小数点以下を切り捨てるにはどのように記述すれば良いのでしょうか。 教えてください。

  • エクセル2003 IF+COUNT+AVERAGE関数

    昨対比の表を作り、グラフにする作業をしています。 月によっては“0件”もあるので、0件のところは空白にする為 =IF(COUNT(A1/A2)=0,"",AVERAGE(A1/A2)) という数式で答えを出しています。 そこで、答えが100%を超えた場合はそのままの表示でOKですが、 前年比が100%未満の場合は、どれだけ割り込んだかを表示させたいと 考えています。 例えば、前年比97%の場合は、3%という表示です。 うまく説明できているかわかりませんが、 上記の数式にもうひとつIF関数を付け加える必要があるかと思い、 試行錯誤しているのですが、今ひとつうまくいかず・・・ どなたかご指導頂けませんでしょうか? よろしくお願い致します。

  • [EXCEL]AVERAGEでブランクを飛ばした計算式

    みなさん、こんばんは。 [EXCEL]AVERAGEでブランクを飛ばした計算式を教えてください。 よろしくお願いします。 まず A列1~13に 10 20 30 40 50 60 (空白/ブランク) 10 20 30 40 50 60 と数字が入っています。 B列6行に =IF(A6="","",AVERAGE(A1:A6))と式を入れ、この式をB列13まで延ばすと、 B列6~13は 35 38 36 34 32 30 35 となります。 私の希望は7行目のブランクを無視して数字があるところだけを指定範囲(今回は範囲は6行)計算したいのです。 結果としてB列6~13は 35 35 35 35 35 35 35 となるのが希望です。 B列6、13は、連続していますので、そのままの平均なので35ですが、 他はブランクがありますので、そのブランク1つ分を計算範囲に入れず、 範囲先頭部分をひとつ増やして計算させたいのです。 B列8ならA7を除く、A2~A6,A8の平均(AVERAGE(A2:A6,A8)) B列10ならA7を除く、A4~A6,A8~A10の平均(AVERAGE(A4:A6,A8:A10)) という感じにです。 よろしくお願いします。

  • ☆Excel VBAでAVERAGE関数を使うとき・・・

    こんにちは。VBA初心者です。 VBAでAVERAGE関数を使いたいのですが、参照範囲を最終行まで指定したい場合、 どのようプログラムすれば良いのでしょうか?     A   B   C    1 5000  2 2000  3 3000  4 1000  5 6000  6  :  7  :    ← A列の値を平均する。           A列には膨大な行が存在すると仮定します。 VBAに詳しい方、教えてください。 どうか、よろしくお願いしますm(_ _)m

  • Excel IF関数について

    =IF(URL*,I12:J12,",MID(I12:J12,4,50)","") ?? 複数のばらついたフィールドにURLhttp://・・・・とある 物だけを取り出し一つのフィールド(列)にまとめ、 なければ空白にしたいのですがどのような関数式にすればよいでしょうか?

専門家に質問してみよう