- ベストアンサー
FALSEを非表示にしたい
いつもお世話になってます。 Win98 Excel97です。 =IF(L6=1,1400,IF(L6=2,1500,IF(L6=3,1600,IF(L6=4,1700,IF(L6=5,1800,IF(L6=6,2900))))))という数式で料金を反映させているのですが空白の時にFALSEと出てしまいます。過去ログで探したのですがよくわかりません。 おわかりになる方よろしくお願い致します
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
N6は、M6が空白の場合に同様に空白にするとします。 N6の数式は、 =IF(ISNUMBER(M6),K6*M6,"") とします。 次に、P6はN6が空白の場合にN6分は0として計算するとします。 P6の数式は、 =IF(ISNUMBER(N6),N6,0)+O6+J6 とします。 上記とは違う結果にしたい場合は、補足して下さい。
その他の回答 (4)
- maruru01
- ベストアンサー率51% (1179/2272)
>になったんですがそれを反映させている別のセルに#VALUE!になってしまいました その別のセルに入っている数式に問題があります。 その数式を提示して下さい。
補足
maruru01さんいつもすいません。 困ってるセルは L6のセル(1から6のいずれかのみ入力) M6に=IF(L6=1,1400,IF(L6=2,1500,IF(L6=3,1600,IF(L6=4,1700,IF(L6=5,1800,IF(L6=6,2900)))))) N6に=K6*M6 P6に=N6+O6+J6 これでM6にみなさまから頂いた回答を入れると N6とP6が#VALUE!になってしまいます。 わかりにくいと思いますが宜しくお願い致します。
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 あまりIFを何回もネストするのはよくありません。 (ネスト回数に制限もありますし。) この式は以下のように出来ます。 =IF(OR(L6<1,L6>6),"",CHOOSE(L6,1400,1500,1600,1700,1800,2900)) L6=6の場合が1900なら、もっと簡単に、 =IF(OR(L6<1,L6>6),"",L6*100+1300) と出来るんですが。
- chie65536
- ベストアンサー率41% (2512/6032)
「L6が数値だったら」と言う条件を入れ、空白や文字の場合には空白を返せば良いでしょう。 =IF(ISNUMBER(L6),IF(L6=1,1400,IF(L6=2,1500,IF(L6=3,1600,IF(L6=4,1700,IF(L6=5,1800,IF(L6=6,2900)))))),"") L6に「空白か、1~6の数値のみ。その他の値は入らない」と言う条件が適用できるなら =IF(ISNUMBER(L6),CHOOSE(L6,1400,1500,1600,1700,1800,2900),"") と書いた方がスッキリしますね。 L6に1~6以外の数値が入る可能性があるなら =IF(ISNUMBER(L6),IF(AND(L6>=1,L6<=6),CHOOSE(L6,1400,1500,1600,1700,1800,2900)),"") でOKです。 空白だった場合にのみ空白を表示し、文字列が入った場合などにはFALSEと表示したいなら =IF(NOT(ISBLANK(L6)),IF(AND(L6>=1,L6<=6),CHOOSE(L6,1400,1500,1600,1700,1800,2900)),"") のようにします。
お礼
お礼が遅くなりました。すいません。 回答ありがとうございました
補足
「L6に「空白か、1~6の数値のみ。その他の値は入らない」と言う条件が適用できるなら」 ドンピシャです。ありがとうございます。 あの・・それでL6を反映させているセル(M6)は空白になったんですがそれを反映させている別のセルに#VALUE!になってしまいました(T_T)
- e30653
- ベストアンサー率28% (32/114)
こんにちは =IF(L6=1,1400,IF(L6=2,1500,IF(L6=3,1600,IF(L6=4,1700,IF(L6=5,1800,IF(L6=6,2900,"")))))) と最後のIF分のELSE部分に「""」を指定すれば空白となります。
お礼
最後に「""」はなるほどでした。 色々使わせていただきます。 ありがとうございました
お礼
ありがとうございました。 できました。これできれいに作れました。