電子書籍の厳選無料作品が豊富!

    A     B      C
1. 100     90     ○

このような場合で、もしA1-B1が1以上の場合のみ、C1に○が出るようにしたいのですが、A1に入力しただけで○が出てきてしまいます・・

B1を入れたときに、初めて○がでるようにしたいのですが、IF関数に条件を
いくつか入れられるのでしょうか?

この関数式がどうしても、分かりません。よろしくお願いします。

A 回答 (5件)

 


=if(and(A1-B1>=1,B1<>""),"○","")
これでどうです?

 
    • good
    • 0
この回答へのお礼

すごいです!! 出来ましたっ!!
こんな式まったく思いつかなかったです!
ものすごく助かりました。
ありがとうございました!!

お礼日時:2009/02/15 20:28

こんばんは。



いくつかの条件を考えました。
A1, B1 は、数字を入れる場合。マイナスは構わない。
しかし、文字列を入れた場合は、エラーを出さない。

=REPT("○",(A1>B1)*COUNT(A1:B1)=2)

マイナスを排除するのは、

=REPT("○",(MIN(A1:B1)>0)*(A1>B1)*COUNT(A1:B1)=2)
    • good
    • 0

=IF(AND(A1>0,B1>0,A1-B1>1),"○","")


これだと、B(-02とか)を先に入れても○にならない。
単純に考えよう。
    • good
    • 0

IF関数は、「ネスト」というのを良くやる。


C1セルに=IF(B1="","",IF(A1-B1>=1,"○",""))
のようにまず優先する条件をIF関数で聞いて、該当する場合の処理を書き、そのあとにIF関数をまた書く。IF( )の()の中にまたIF( )を入れる。これが鳥の巣ごもりを連想させるとして、ネストといい、コンピュタプログラム界では同様タイプが諸所に現れます。
ただしネストの深さには制限があり、また式も長くなってわかりにくいので、私見では4レベル以上になったら、他の関数での方法を考えるべきです。
http://www.relief.jp/itnote/archives/001147.php
>すごいです!! 
はそれほどの難しい課題を回答したものとは思いません。質問者は、もっとエクセルの勉強が必要と思います。
    • good
    • 0

こんな書き方も


=IF((A1-B1>0)*(B1<>""),"○","")
(A1-B1>0) が真の時 1 偽の時 0
(B1<>"") が真の時 1 偽の時 0
なので、二つの条件がそろったときに真(1)になります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!