• ベストアンサー

エクセルで関数の計算範囲に別の関数式で出した空白がある場合

MAX関数を使う際、選択した範囲内(A10:A1000)に IF関数とISBLANK関数を使った数式 ( =IF(ISBLANK(C1),"",B2+C1) )の空白があると MAX関数がVALUEとなって計算されません どうしたらいいですか?

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

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

選択の範囲内にVALUE表示のエラーがありますとMAX関数は正常に働きませんね。 =IF(ISBLANK(C1),"",B2+C1) の式を次のような式にしてみてください。 =IF(OR(COUNT(C1)=0,AND(B2<>"",COUNT(B2)=0)),"",B2+C1) この式ではC1セルが空の場合またはC1セルに数値以外の文字がある場合には、また、B2セルが空で無い時に数値以外の文字がある場合には、セルを空にして、それ以外のときはB2+C1を計算しなさいということになります。 これで式の入力されたA列でのエラー表示が無くなりますのでMAX関数も有効に働くことになるでしょう。

bobo21
質問者

お礼

ご指摘のとおりでした! 本当にありがとうございます!! 質問の内容に混同がありました、回答者様方もうしわけありませんm(__)m

その他の回答 (4)

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

質問者の質問の原因が的外れでは。 実際に空白セルを含めてMAX関数の引数の範囲を指定しても影響はありません 間に=""を入れても同じ。 間に文字列を入れても同じ。 間にエラー値があるとエラーになる ーー そもそも関数を使うときはそのセルの値が問題で、関数でけっかそうなったとか、手入力したとか、VBAで値をセットしたとか、コピペしたとかの値セットの「来歴」には影響されないはずです。この基本原理を実感してないと、変なほうにエラー原因を求め(推定)たりする。

回答No.3

MAX関数は空白や文字は無視してくれます。 特に問題は無いと思うのですが。 =MAX(A10:A1000) ですよね。 何か他に原因がありそうですが。

  • Ki4-U2
  • ベストアンサー率81% (364/446)
回答No.2

手元の EXCEL2003 では、問題は発生しないのですが・・・。 ただ、C1 や B2 に数値でないデータ(文字列)が入って数式の計算結果が #VALUE! になってしまう (範囲 A10:A1000 の中に #VALUE! と表示されるセルがある) と、MAX関数の結果も #VALUE! となってしまいました。 もしや、C1 や B2 に文字列が入ってしまっていませんか?  (そんなことはないのでしたら、すみません、わかりません。)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 直接の回答になるかどうか判りませんが・・・ 表示させたいセルに =LARGE(A10:A1000,1) としてはダメでしょうか? 検証はしていませんが、 これだとたぶんエラーにならないと思います。 以上、参考になれば幸いですが、 的外れなら読み流してくださいね。m(__)m

関連するQ&A

  • EXCELでの関数についての質問

    EXCELの関数についての質問です。EXCELのバージョンは2010を使用しています。 状況を簡略化して説明すると以下のとおりです。 Cell(A1)=実数   (数値、あるいは空白) Cell(B1)=数式   (=IF(ISBLANK(A1),"",50/B2*100) Cell(C1)=数式   (=IF(ISBLANK(B1),"",100-C2) これでA1~A100までデータが散在するデータベースを想定してください。 この時B1は定数を参照しているのでA1がBLANKの時、ISBLANK関数の効果で文字が表示されず、 またA1が数値の時には式の通り計算が行われます. しかしCでは、B1の数式を参照していることになるので、B1がBLANKの場合でも計算が行われ、 結果として#VALUE!のエラーとなります。 この状況を回避するためにはどうすればいいのか、スマートな解法をお待ちしています。 VBマクロなどの方法でも大丈夫ですが、基礎的なことしかわからないのでコメントを付けていただけるとありがたいです。 そこまで実害は無い問題なので、例えば別個に計算するなどの力技はご遠慮ください。

  • [Excel]関数の入った空白セルについて

    初めまして。 エクセル2003を使用してます。 似たような質問は多々あったのですがいまいちこちらが求める答えには導かれなかったので投稿させてもらいました。 関数についてはIFを時々使うくらいの知識しかありません。 会社で使う日報を作成しています。 A       B        C     D    出社時間 退社時間 実働  残業 9:00     19:00    9:00   1:00 Cのセルには =IF(OR(ISBLANK(A1),ISBLANK(B1)),"",(((B1-A1)*24)-1)) と入力しました。 ちなみに9時出社で18時退勤、お昼1時間休憩があるのでマイナス1時間の合計8時間労働です。 休みの日は空欄なのでエラーにならないようにISBLANKを使い、ここまでは良かったのですが、 Dの残業を計算する際、残業があった場合のみ差し引いた時間が出るようにしたいので =IF(OR(ISBLANK(C1),C1<8.15),"",(C1-8)) このように入力したところ、出勤日でない日(C列の空欄セル)が#VALUE!と出てしまいました。 数式が入っている空白セルがある箇所をエラーにならないようにするにはどのような関数を使えば良いのでしょうか? 初歩的なことかもしれませんが、よろしくお願いします。

  • Excelの関数について

    Excelの関数について教えてください。 C1に50、D1に30、E1に=SUM(A1:D1)、B2に=E1-SUM(A1:B1)、が入力されています。 このB2の計算式を、「もしB1:C1のどちらか片方(もしくは両方)に値が入力されているときはB2の計算式の結果が返ってくる。B1:C1のどちらも空欄のときは「#N/A」が返ってくる。0は入力有りとみなす」というようにしたいです。 IF関数にISBLANK関数を入れてみたんですが、片方に入力有りでも「#N/A」が返ってきてしまいます。 =IF(ISBLANK(B1:C1),NA(),E1-SUM(A1:B1)) ISBLANK関数じゃダメだったんでしょうか? どういうふうに変えればいいんでしょうか? すみませんがどなたか教えてください。

  • エクセル2003Isblank関数を使用して作った複数のセルを合計したい

    仮に、 C3セルに以下の関数式を入れたとします。 =If(isblank(A3),’’,A3xB3 A3に入力しなければ、C3はブランクになります。 しかしさらに同様の数式を 仮にD3に =If(isblank(E3),’’,E3xF3 と入力し、 最後にC3とD3を合計するためにG3に=C3+D3 と入力すると、G3はVALUE!になってしまいます。 G3に計算通りに数字が入るようにするためには どのような数式を入力していけばよいのでしょうか。 教えてください。 お願いします。

  • セル範囲がすべて空欄の場合、合計値の回答欄が空欄になるエクセル関数は?

    セル範囲がすべて空欄の場合、合計値の回答欄が空欄になるエクセル関数は? A1~P20の範囲に数字(0含む)と空欄が混在しております。 各横軸で合計値を求め、A~Pまで全て空欄だった場合は、空欄にしたいのですが、 SUMだと「0」と表示されてしまいます。 なお、計算範囲のセルが0と表示されている場合は、結果「0」と表示してかまいません。 ISBLANKで1つ1つのセルを指定していく方法もあるのですが、式が長くなってしまいます。 =IF(AND(ISBLANK(A1),ISBLANK(B1),ISBLANK(C1)・・・・・・),"",SUM(A1:P1)) もう少し短い式で上記のような計算ができる関数はあれば教えてください。

  • 関数式の意味

    エクセルで関数を使った、数式がありますが、関数の中に関数を入れたりして、長い数式になると、その数式の意味がわかりにくくなってきてしまいます。 どこから、順番に読み始めればいいのか、分からない時がりますが、なにかコツのようなものはないでしょうか? 例えばこのような =(MIN(B2,"9:45")-MAX("8:00",A2)) +MIN(MAX(B2,"10:00"),"12:00")-"10:00" +MIN(MAX(B2,"12:45"),"17:45")-"12:45" =IF(and(IV$2<=A2,A2<=IV$3),IV$3,IF(and(IV$4<=A2,A2<=IV$5),IV$5,A2)) 宜しくお願いします

  • エクセルの式で

    エクセルの式で、IF関数を使って、[A2]=IF(A1=0,"",A1) とすると、A1=0なら、A2を空白にしてくれますが、このとき、[A4]=A2+A3 とすると、A2が空白の時、エラー、#VALUEになります。このとき、空白を0として計算するようにできますか? 帳簿の中に、0がたくさんあるのは嫌なので、0のところを空白になるよう、IF関数で””を使いました。しかし、実際に空白になったところを、他の式で参照して、計算すると、その分が、文字のように認識し、計算がエラー、#VALUEになるわけです。これを避けることはできますか?

  • 関数で『指定範囲が空白の時は合計も空白』○が付いたら合計を表示

    エクセル2003で出席表を作っております。 A列には名前(2行目から104行目)、B~AA列(仮)まで日付、この場合関数で『指定範囲が空白の時は合計も空白』○が付いたら合計を表示させたいのですが、イメージで言うと「IF(ISBLANK(単一セル),"",COUNTIF(B2:B104,"○"))」の単一セルではなく(複数行)なんです。 この関数を使って休日(不特定)は空白表示にしたいのですが可能でしょうか?

  • エクセルのif関数で

    エクセルのif関数でこれができるのかわかりませんが、 C1~C10の中の文字列の中にA1と同じ文字列があればB1に「1」を入れ、なければ「2」を入れるということをやりたくて B1のセルに IF(OR(C$1:C$10=A1),1,2) という計算式を入れました。 関数の引数の中の数式の結果では、正しい結果が表示されてるのですが、B1のセルには間違った結果が表示されます。 また、B2以下B20まで計算式をコピーするとB11以下は#VALUE!になってしまいます。 一つ一つを見てみると、どうやらセルに正しく表示されるのはAの行とCの行が=だった場合のみのようです。 #VALUE!が表示されているセルも含めて、数式の結果では正しい結果が出ているのにセルの表示が違っているのが納得できませんが、おそらく何かが間違っているのでしょう。 間違いを教えてください。 よろしくお願いします。

  • エクセルにて空白を利用した関数

    宜しくお願いいたします。 エクセル2003でセル空白を利用した関数を作成したいと考えております。 具体的には、 A1 B1 A2 B2      C2 とセルに数値を入力したとします。(C2に関数・計算式を入力) このときに、A1ーB2で単純な引き算を設定する際に、A2とB1が空白である場合に限って A1-B2の答えがC2のセルに反映されると言ったような、条件設定は関数でできるものなのでしょうか? つたない質問で誠に申し訳ありませんが、宜しくお願いいたします。

専門家に質問してみよう