• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ISERRORとIF関数の使い方)

ISERRORとIF関数の使い方

M-SOFTの回答

  • M-SOFT
  • ベストアンサー率58% (23/39)
回答No.2

こんばんは。 >数値がない(=テスト未受験)とエラー表示がされます。 エクセルではこのようなエラー表示はありません。 C~Hに未入力があっても、提示されている数式ではエラーにはなりません。×になります。 未入力のセルは0扱いになります。 >数値がない(=テスト未受験)とエラー表示がされます。 どこに表示されているのでしょうか?C~Hだとすると、数式やマクロ、入力規則などで未入力の時にそのように表示する仕掛けになっているのでしょう。 そこの表示ということであれば、表示させている仕組みを補足して下さい。

shin919
質問者

補足

ご回答ありがとうございます。エクセルのバージョンは2010です。シートの状態をご説明します。 シート1にはB列は氏名  B列は氏名 C列は国24 D列は算24 E列国22 F列算22 G列国21 H列算21 I列は すべて80以上なら○ となっています。 C列のセルには =ROUND(IF(VLOOKUP(B2,Sheet2!B:D,2,FALSE)="","",VLOOKUP(B2,Sheet2!B:D,2,FALSE)),1) D列のセルには =ROUND(IF(VLOOKUP(B2,Sheet2!B:D,3,FALSE)="","",VLOOKUP(B2,Sheet2!B:D,3,FALSE)),1) E列のセルには =ROUND(IF(VLOOKUP(B2,Sheet3!B:D,2,FALSE)="","",VLOOKUP(B2,Sheet3!B:D,2,FALSE)),1) F列のセルには =ROUND(IF(VLOOKUP(B2,Sheet3!B:D,3,FALSE)="","",VLOOKUP(B2,Sheet3!B:D,3,FALSE)),1) G列のセルには =ROUND(IF(VLOOKUP(B2,Sheet4!B:D,2,FALSE)="","",VLOOKUP(B2,Sheet4!B:D,2,FALSE)),1) H列のセルには =ROUND(IF(VLOOKUP(B2,Sheet4!B:D,3,FALSE)="","",VLOOKUP(B2,Sheet4!B:D,3,FALSE)),1) の数式が入っています。 C列は平成24年度5年生での国語、D列は同じく算数→シート2にシート1の名簿と同じように昨年度のクラスでテスト結果が入力済みです。 同様にE列、F列は22年度で3年生のときでシート3に得点入力済み、 G,H列は21年度で2年生のときでシート4に得点入力済みです。 年度ごとに転出入があったり、病欠等で未受験のため、氏名掲載がなされておらず、当然、得点も入力されていない状態です。 当然のことですが、すべての年度で入力がある児童については、I列の○ × 判定は表示されています。       ※ 長々と書き連ねましたが、上手く説明できていないかもしれません。     もし、新たな対応策などございましたらお教えください。

関連するQ&A

  • ISERROR関数?

    こんにちは。 A列に100,200,300,400,500と数字がベタ打ちで表示されています。 B列には数式で表示させた数字、3100,3500,7800,9002,9900が表示されています。 いまC列に、B列の値が9000以上ならばA列の値を表示させようとしています。そうでなければ空欄にします。 (この例ならば、9002に対する400と9900に対する500が表示されることになります。) この場合の関数は=IF(ISERROR(B1>=9000),"",A1) では間違いなのでしょうか? 現状では、B列が3100であろうと9900であろうと、A列の値が表示されてしまいます。 よろしくお願いいたします。

  • Excelで、iserror関数を使用した結果は数値ではないのですか?

    ご質問させていただきます =IF(ISERROR(VLOOKUP(A2,$A$29:$F$40,3,FALSE)),"0",VLOOKUP(A2,$A$29:$F$40,3,FALSE)) という関数を作りました。 この際、エラーが表示される場合に、0に置き換える、という意味で この関数を作ったのですが 表示された 0 は ・表示がセル内で左詰になっている ・条件式書式で「セルの値が 0 のときに フォント色を白」  という条件をつけても、フォント自体は白にならない という2点から、0は数値ではなく文字として認識されている、と自分なりに捉えました。 しかし、疑問に思ったのは、 ・表示された 0 を引用した数式は成り立つ (たとえば、A1の値をIserrorで表示したときに0が出て、A2が2の場合  B1の数式を、 =A1+A2  とすると、2が表示される) ということから、数式を作ると数値として認識される、ということです。 この関数でセルに表示された "0" は、文字として認識されるのでしょうか? それとも数値として認識されるのでしょうか? ちなみに、自分は、0を表示させずに {条件式書式を使用したいと考えています。} さらにそのセルの値をさらに別の数式に反映させたいです。 なので、一番上に表示した数式の "0" の部分を "" にしてしまいたくないのです。(空欄表示の場合は、完全に次の数式に反映できず、このセルの値 {この場合は空欄} を引用した数式の値は #VALUE と表示されました) どなたか詳しい方、ご回答よろしくお願いいたします。

  • IsError処理で、#エラーが消えない

    Access2007 問合せ番号はValで変換した数値ですが、 下記でエラー処理してもエラーが表示されてしまうのですが、 他によい方法はないでしょうか? JP問合せ番号: IIf(IsError([F_02_判定(一致)].[JP問合せ番号]),"",[F_02_判定(一致)].[JP問合せ番号])

  • エクセル ISERROR

    エクセルでISERROR関数を使い、エラー表示されないようにした2つ以上のセルを他のセルで更に計算すると#DIV/0!が表示されます。 例) B2 4月数量 C2 4月金額 D2 4月単価 =IF(ISERROR(C2/B2),"",C2/B2) E2 5月数量 F2 5月金額 G2 5月単価 =IF(ISERROR(F2/E2),"",F2/E2) 4~3月までのセルが続き、各単価の平均・伸長率などを他のセルで計算しようとすると#VALUE!が表示されます。 上記のようにISERROR関数を使った複数のセルを参照させ計算し、更にエラー表示させないようにするにはどのような方法がありますか。 どなたか教えてください。

  • IF関数で可能でしょうか?

    例) A1  B1 ・・・F1 3 5 20 (1)A1<B1なら、C1/D1、でなければC1/E1 (2)C1/D1がF1なら○、でなければ×   C1/E1がF1なら○、でなければ× とG1に表示したいです。 また、エラー表示を避ける為ISERROR等ありますが、そちらもご教授していただけたら 助かります。 エクセル初心者でわかりにくい説明ですいません。

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

    IF関数について、皆様に質問です。 セルに入力された数値xがある数値yと同じか大きい場合は"NG"と表示し、数値aがある数値bと同じか小さい場合は"NG"と表示させたいと考えております。 IFを使って式を作成したのですが、『数式が多すぎる』というエラーになってしまいます。 具体的には、 セルB25に入力している数値が8.980の場合、 8.991と同じまたは大きい場合は"NG"と表示させたい。 同じセルB25で、8.969と同じまたは小さい場合は"NG"と表示させたい。 これをこのような式にしてみました。 =IF(B25<=9.991,"NG","",IF(B25>=9.969,"","NG")) これで『数式が多すぎる』というエラーになっています。 教えてgooで調べたのですが、解決には至っていません。 どなたかご教示いただけますでしょうか。

  • エクセル IF関数が入った条件付き書式について

    エクセルにおいて、セルA1、B1、C1があるとします。A1、B1には数値が何も入力されていない状態で、C1に計算式「=SUM(A1)/B1」が入っているとします。このままでは、C1は、「#DIV/0!」と表示されます。 この表示を消すために、C1にIF、ISERROR関数を使い、「=IF(ISERROR(SUM(A1)/B1),"",SUM(A1)/B1)」の計算式を入力します。 このままでもいいのですが、C1の値が「10以上」になった時に、C1のセルに色を付けたいのです。 書式→条件付き書式→セルの値が→次の値以上→10 にすると、セルに何も値が入っていない(空白)状態で色だけが付いてしまいます。 色々調べると、IF関数の""の空白が文字列のため、数値より大きいとみなされている事が原因っていうことは、分かりましたが、色々試してみても出来ません。何かいい方法はございますでしょうか? ご教授お願いします。

  • ISERROR関数を使用してもエラーが出る

    Excel2016でセルにUSDまたは、JPYの文字がある場合はエラーが出ないのですが、それ以外の文字の場合ISERROR関数を使用しても#VALUE!というエラーが出ます。 関数は以下の通りです。 =IF(OR(NOT(ISNUMBER($G5)),NOT(ISNUMBER($K5))),"",IF($B$5<ROUNDDOWN($I5*IF(NOT(ISERROR(SEARCH("JPY",$D5,1))),100,VLOOKUP(CONCATENATE(MID($D5,IF(OR(SEARCH("USD",$D5,1)=4,ISERROR(SEARCH("USD",$D5,1))),1,4),3),"JPY"),$A$12:$B$18,2,FALSE))*$G5*$B$8/IF($B$8=100000,10000,IF($B$8=10000,1000,IF($B$8=1000,100,))),0),"超過",ROUNDDOWN(IF(ISNUMBER($P5),-$P5,-$I5)*IF(NOT(ISERROR(SEARCH("JPY",$D5,1))),100,VLOOKUP(CONCATENATE(MID($D5,IF(OR(SEARCH("USD",$D5,1)=4,ISERROR(SEARCH("USD",$D5,1))),1,4),3),"JPY"),$A$12:$B$18,2,FALSE))*$G5*$B$8/IF($B$8=100000,10000,IF($B$8=10000,1000,IF($B$8=1000,100,))),0))) エラーが出ているのは以下の「【】」の部分のようです。 =IF(OR(NOT(ISNUMBER($G5)),NOT(ISNUMBER($K5))),"",IF($B$5<ROUNDDOWN($I5*IF(【NOT(ISERROR(SEARCH("JPY",$D5,1)))】~ 数値を表示したいのですが解決方法を教えてください。 回答よろしくお願いします。

  • エクセル vlookupとIF関数

    先ほどこちらで質問した者です。関連してもうひとつお願いします。http://oshiete1.goo.ne.jp/qa3870287.html A列:ID(一部) B列:確定金額 C列:発生金額 I列:=IF(ISERROR(B5/C5),0.6,IF(B5/C5>=1,1,B5/C5))    先ほど教えてもらった数式を入れています。確定金額÷発生金額の割合 L列:ID(全て) 算出したい数値は、M列に「全IDの確定金額÷発生金額の割合」です。 L列を軸にvlookupを使用して、A列に引き当たるIDのものは、すでに数値が出ていますが、L列にあってA列に無いもの(エラー表示になってしまっているもの)を、すべて60%にしたいです。 M列には既にvlookupの関数が入っていますが、可能でしょうか? ちなみにA~C列はピボットテーブルです。

  • IF関数でしょうか?

    IF関数だと思うのですが、セルA1に仮に数値30と入っています。で条件としてセルB1が0.2の場合にはA1(値30)に1.1を掛けます。ただB1が0.3の場合はA1(値30)に0.9を掛けます。B1が0.4の場合にはA1(値30)に0.7を掛けます。同じ様にB1が0.5の場合にはA1に0.6を掛けます。その値をC1に表示したいと言う場合、C1の数式はどのように描けばよいのでしょうか?