• ベストアンサー

ISERROR関数について

いろんな質問調べて#VALUEを表示しないようにするには、ISERRORを使うということまでは分かったのですがこれを既にある式に当てはめる事が出来ません。 その式は =IF(J4=1,F4*I4,G4*H4) こういう様なものなのですが、どう当てはめたらいいか教えてください。 宜しくお願いします。

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

  • ベストアンサー
  • fly_moon
  • ベストアンサー率20% (213/1046)
回答No.1

ISERROR関数はエラーの場合、TRUE(真)を返します。 =IF(J4=1,IF(ISERROR(F4*I4),"",F4*I4),IF(ISERROR(G4*H4),"",G4*H4)) になると思います。

kemiya
質問者

お礼

早速のお返事ありがとうございました。 この数式でちゃんと当てはまりました。 助かりました!

その他の回答 (1)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

両方文字なら0、片方文字なら数字の値でいいなら =IF(J4=1,PRODUCT(F4,I4),PRODUCT(G4,H4)) 片方が文字なら表示しないなら =IF(J4=1,IF(ISERROR(F4*I4),"",F4*I4),IF(ISERROR(G4*H4),"",G4*H4)) または =IF(J4=1,IF(COUNT(F4,I4)=2,F4*I4,""),IF(COUNT(G4,H4)=2,G4*H4,""))

kemiya
質問者

お礼

ありがとうございました。 本当助かりました。

関連するQ&A

  • 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)))】~ 数値を表示したいのですが解決方法を教えてください。 回答よろしくお願いします。

  • ISERRORとIF関数の使い方

    =IF(AND(C2>=80,D2>=80,E2>=80,F2>=88,G2>=80,H2>=80),"○","×")という数式で児童のテスト得点を判定しています。C~Hまでに数値があれば問題ないのですが、数値がない(=テスト未受験)とエラー表示がされます。そこで教えていただきたいのですが、この数式にISERRORを使って、エラー表示をさせないような数式ができるでしょうか? または、ISERRORを使わずとも、他の数式や関数で対応できるでしょうか? あるいは、もっと別の視点で考えて たとえば、6回のテスト中、4回以上のテストで80点以上なら○、それ以外ならば×のように表示させる方法はあるのでしょうか。 ご存じの方、よろしくご教示お願いします。 尚、勝手なお願いで恐縮ですが、「質問の意図がわかりかねますが・・・・。」のような内容でのご回答はご遠慮頂きたく思います。

  • エクセル 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関数の順番 iserrorが認識されない

    タイトルは検索用のためぶっきらぼうですが、よろしくお願いします。 以下のように、A列からB列までの日数を求めるのですが、AやBに ””(空白)や #VALUE!エラー が入ることがあるので、IF関数で回避させています。      A    B      C列 2行  10/1  10/25    =B2-A1+1                 (C2は25となる)                  ↓                =IF(B2="","甲",B2-A1+1)                または                =IF(ISERROR(B2),"乙",B2-A1+1) ところが、 =IF(ISERROR(A2),"丙",IF(ISERROR(B2),"乙",IF(B2="","甲",B2-A2+1))) という複合式なら、甲、乙、丙はきちんと判別されるのに、 =IF(B2="","甲",IF(ISERROR(A2),"丙",IF(ISERROR(B2),"乙",B2-A2+1))) という風に順を変えると、結果は   #VALUE! になってしまいました。      A    B      C列 2行  10/1  #VALUE!   =IF(B2="","甲",IF(ISERROR(A2),"丙",IF(ISERROR(B2),"乙",B2-A2+1)))                (C2は #VALUE! となる。乙にならない) また、 =IF(OR(B2="",ISERROR(A2),ISERROR(B2)),"",B2-A2+1) でも、同じように #VALUE!エラーになってします。 関数の順番を変えただけで、なぜ ISERROR が正常に値を返さないのでしょうか?

  • エクセルの2000で下記のような式を作りたいのですが、#VALUEにな

    エクセルの2000で下記のような式を作りたいのですが、#VALUEになってしまいます。 D1~I1が空白であれば、J1にI2を表示、 E1~I1が空白であれば、J1にD2を表示、 F1~I1が空白であれば、J1にE2を表示、 G1~I1が空白であれば、J1にF2を表示、 H1~I1が空白であれば、J1にG2を表示、 I1~I1が空白であれば、J1にH2を表示、 D1~I1がどれも空白でない場合も、J1にI2を表示します。 =IF(D1:I1="",I2,IF(E1:I1="",D2,IF(F1:I1="",E2,IF(G1:I1="",F2,IF(1:I1="",G2,IF(I1:I1="",H2,I2)))))) ネスト回数には引っかかっていないと思うのですが、IF関数の論理式は複数のセルを選択出来ないんですかね? D~H2のセルには=SUM(D15:I15)/SUM(D1:I1)といった数式が入っており、パーセンテージで小数点以下第二位まで表示しています。 うまく表示できる方法をどなたか教えていただけないでしょうか? 逆に D1だけが空白でなければ、D2を表示、 D1~E1だけが空白でなければ、J1にE2を表示、 D1~F1だけが空白でなければ、J1にF2を表示、 D1~G1だけが空白でなければ、J1にG2を表示、 D1~H1だけが空白でなければ、J1にH2を表示、 D1~I1だけが空白でなければ、J1にI2を表示、 D1~I1の全てが空白の場合は、J1にI2を表示、 でもかまいません。 どうかよろしくお願いします。

  • IF関数 VALUE エラーが出ます

    教えてください どうしても上手くいきません。 式が入ってるのが 仕入れ率G11  =IF(E9="","",+F9/E9) 販売率H11 =IF(F11="","",+G11+5%) 販売額I11 =IF(E11="","",ROUNDUP(E11*H11,0)) 今回エラーになる 累計残高K11 =IF(J12="",K11+I12-J12,K11-J12) なんでエラーになるのでしょうか?

  • EXCELのIF関数の入れ子について

    すみませんよろしくお願いします。 EXCELでセル(A1)~(L1)までに不特定の文字列が入力されており、(M1)に「もし(L1)が入力されていたら(L1)の値を表示、もし(L1)がブランクなら(K1)の値を表示、もし(K1)がブランクなら(J1)の値を表示、もし(J1)がブランクなら(I1)の値を表示・・・・」といった具合で関数を作成したいのです。また、(A1)~(L1)のセルで穴あき状態で入力されていた場合は最も(L1)寄りのセルを表示させたいです。 EXCEL2003のIF関数だと、 =IF(L2="",IF(K2="",IF(J2="",IF(I2="",IF(H2="",IF(G2="",IF(F2="",IF(E2="","",E2),F2),G2),H2),I2),J2),K2),L2) で最後の(A1)までの入れ子を作ることができせん。 EXCEL2007を使用すると、 =IF(L2="",IF(K2="",IF(J2="",IF(I2="",IF(H2="",IF(G2="",IF(F2="",IF(E2="",IF(D2="",IF(C2="",IF(B2="",IF(A2="","",A2),B2),C2),D2),E2),F2),G2),H2),I2),J2),K2),L2) と作成できます。 EXCEL2003で作成するいい方法はありますでしょうか? ご指南の程よろしくお願いします。

  • 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関数?

    こんにちは。 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列の値が表示されてしまいます。 よろしくお願いいたします。

  • IF ISERRORの使い方で質問です。

    IF ISERROR SUMで足し算をしたいのですが、片方のデータの個数が「0」だと計算されないんです。 例)5月実績15件+6月実績0件=ブランクになってしまいます。 IF ISERRORを使っているので「value」にはならないのですが… どなたか知恵を貸して下さい。

専門家に質問してみよう