プロが教えるわが家の防犯対策術!

あるセルの値、もしくは計算した値が「>」「<」を使って、ある範囲にあるかどうかを論理演算させたいのですが、どういう文にすればいいでしょうか?
その範囲内=TRUE
範囲外=FLASE
としたいのですが・・・。
=if(0<A1<1,"X","Y")
↑A1が0.5ならXと表示され、A1が1ならYと表示させたいとします。
これじゃあ式として成り立ってませんよね?実際これだとA1が「0超、1未満」でYと表示されてしまいます。

A 回答 (7件)

=if(and(0<A1,A1<1),"X","Y")


でどうですか?
    • good
    • 3

すでに回答は出ています。


エクセルの関数なら
(1)AND関数を使う
(2)IF文のネスト
しかありません。
課題によっては
(3)VLOOKUP関数のTRUE型が使えます
他言語など見ると
(4)Select Caseステートメントで
Case 20 To 30
などあります
(5)ほかBetween などがあります(SQLなど)
コンピュタはマシン語のレベルで1つの値としか比較ができない構造で、後はソフトが汗をかいて、表現を楽にさせてくれているだけです。
ーー
0<x<10という具合にIF文
新参者はできて良さそうと思うでしょうが、そんなものとあきらめています。
最後に
(6)エクセルのユーザー関数を作れます。
Function ifx(a, X, b)
If (a < X) And (b > X) Then
ifx = True
Else
ifx = False
End If
End Function
結果
A列  B列
12FALSE
3TRUE
2TRUE
30FALSE
B列1行の式
=IFX(1,A1,5)
です。
できないといっても、手間かければ似たことはできるともいえるのです。
    • good
    • 0

if()は、「条件(第1引数)」が 真=TRUE=非0 の時に第2引数を 偽=FALSE=0 の時に第3引数を返します。


そして、関係式は、それが成立したときに 真=TRUE=1 となり 不成立の時に 偽=FALSE=0 となります。
したがって、2つ以上の条件が全て揃ったときに 真 としたいときは、掛け算を用います。
したがって、

  =if( (0<A1)*(A1<10), "X", "Y" )

とします。

0<A1 が成立したら 真=TRUE=1、A1<10 が成立したら 真=TRUE=1なので、この時だけ 条件は1×1=1で 非0=TRUE=真 となります。

and()は、全ての条件が成立したら 真=TRUE=1 を返す関数です。
andを日本語で論理積といいます。「積」というくらいですから、掛け算のことです。

ちなみに、or()は、どれか1つでも条件が成立したら 真=TRUE=1 を返す関数です。
orを日本語にすると論理和といいます。「和」というくらいですから、足し算のことです(厳密には少し違う)。
orのときは、

  =if( (A1<5)+(A1>8), "P", "Q" )

のように使えます。
    • good
    • 1

TRUE or FALSE 表記だけでいいのなら・・・


=AND(0<A1,A1<1)

質問文のように0<A1<1でX、それ以外ならY表記なら
=if(and(0<A1,A1<1),"X","Y")
    • good
    • 0

こんばんは。


=IF(AND(0<A1,A1<1),"X","Y")
では、どうでしょう。
OR条件も同様の記述(ANDをORにする。)でOKです。
    • good
    • 0

=IF(AND(5<A2),(A2<10))


こんなの作りたいんじゃないですか?
    • good
    • 0

=if(A1>0,if(A1<1,"X","Y"),"Y")

    • good
    • 0

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