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

=IF(AND(C3="FC",G3>=0.1),"A","B")

C列に"FC”以外の文字も(書式は文字列)入っています。G列は数字で#、##0.0です。
単純な質問です、H列に上記IF式を入れたのですが、ほぼすべてBが帰ってきます。
C3="FC"がFALESの判定です。
C3に「FC」の文字があり、G3の数字が0.1以上であればH3列はAが帰るはずと思っているのですが‥‥??。
どこが間違っていますか?、教えてくださいませんか。

質問者からの補足コメント

  • うーん・・・

    再指導ありがとうございます。
    再設定してみました。
    EXCEL Pro 2021です。

    I3セルに=C3
    J3セルに=G3(User定義で#、##0.0"Kwh"です)

    K3セルに=IF(AND(I3="FC",J3>=0.1),"A","B")
    を記し、以下ドラッグ。全てのセルが”B"の判定でした。

    別sheetに同様設定してみましたが、同じ結果でした。
    何処が間違っていますでしょうか?。

    ※文字数制限で更なる詳細記せません、追って追記した方が良いでしょうか?。

    No.7の回答に寄せられた補足コメントです。 補足日時:2022/06/29 18:45
  • へこむわー

    また、改めて新sheetに
    A列 B列 C列に =IF(AND(A3="FC",B3>=0.1),"A","b")
    AND式の論理式の判定
    論理式1 論理式2
    3 QC 9.0Kwh b A=FALSE B=TRUE
    4 QC 2.1Kwh b A=FALSE B=TRUE
    5 FC b A=FALSE B=FALSE※
    6 FC 15.0Kwh b A=FALSE B=TRUE
    7 - b A=FALSE B=FALSE※
    8 QC 20.0Kwh b A=FALSE B=TRUE
    9 FC 0.5Kwh b A=FALSE B=TRUE

    R9行目までの結果は、やはり全て"b"判定ですね。以下行が増えても同じでした。
    ※行はなぜか論理式2がFALSEです。
    何処が間違っていますでしょうか?。

      補足日時:2022/06/29 18:53
  • つらい・・・

    fujillinさん、ありがとうございます。
    列表示がくっついて見ずらくなり申し訳ありません。空白表示が上手く行きません。※文字数overで一部省略。AND式の論理式の判定
    A列 : B列 =判定: 論理式1: 論理式2
    4 QC : 2.1Kwh = b : A=FALSE: B=TRUE
    5 FC : = b : A=FALSE :B=FALSE※
    7 - : =b : A=FALSE :B=FALSE※
    9 FC :0.5Kwh =b : A=FALSE :B=TRUE
    5行目はA列は"FC"なのでTrueになっているはず、B列が空白ですのでFalseで正しい。判定式の結果は「b」で正しい。9行目は両方ともTrueのはず。判定式は「A」になるのでは?

      補足日時:2022/06/29 20:47

A 回答 (11件中1~10件)

こんにちは、横から失礼します



的確な書き方が思い浮かびませんが、アルファベット文字には
小文字、大文字、半角、全角があります 前者は置いといて
半角と全角を単純比較するとFALSEが返ると思います
FC は全角です F C は大文字+半角スペースです

論理式なので目的にあっていれば良いとは思いますが、条件は的確な方が良いように思います。
ですので、C列の値を変えるか、条件式の値 FCを全角にするなどが良さそうかな・・ちなみに条件をQCにするとQCに対しては、うまく行くのではないかと・・・

あくまで、表示(見た目)に対する 条件式で良ければ、ユーザー定義なども考慮すると
=IF(AND(ASC(C3)="FC",ROUNDUP(G3,1)>=0.1),"A","B")
こんな式で良いように思います。

改行、半角スペース入りなどではFALSEが返ると思いますが。。

ASC()は半角にする関数です
半角比較する時の全角入力での不具合対策、本来FALSEであるべきですが
見た目同じと考える場合の対策や揃える時などに使います
    • good
    • 0
この回答へのお礼

Qchan1962さん

ありがとうございます。
全角状態にしてのC列、FC入力なのですが、なぜか?、Fが自動的に半角になっていてるようで、エラー(False)になる事が分かりました。(次の文字Cが全角のようです)。

=if(and(asc(C3)="FC",G3>=0.1),"A","B")で解決できました。

これにて解決です、ご指導いただきありがとうございました。

お礼日時:2022/06/30 11:17

(´・ω・`)


なんか話が通じないね。

質問者さんの環境でどう表示されるかを聞いているんです。
「セルの値」の回答画像10
    • good
    • 0
この回答へのお礼

銀鱗

すみません。おっしゃる様な式(=C3="FC")(=G3>=0.1)は入力した事が無いので理解できませんでした。
実行結果は
C列は全てFalseです。G列はTrueとFalseで「正常に判定」しています。

No.11 Qchan1962さんの回答、C3列に関数ASC(C3)を組み込むと正常に判定できました。=IF(AND(ASC(C3)="FC",G3>=0.1),"A","B")
※全角状態にしてのFC入力なのですが、なぜか?、Fが自動的に半角になっていてるようで、次の文字Cが全角のようです。

これにて解決です。何度もご指導いただきありがとうございました。

お礼日時:2022/06/30 11:10

No8です。



>5行目はA列は"FC"なのでTrueになっているはず
補足に記述してある内容が正しいのなら(正しいのかどうかもよくわからんけれど・・)、
>FC

>FC
は別物でしょ?
これ以上は、いくら書いても同じことの繰り返しになると思います。

※ 文章で会話しようと思うのなら、「自分の言いたいことを書く」のではなく「相手に伝わるように書く」配慮が必要と思います。
    • good
    • 0
この回答へのお礼

度々ありがとうございます。説明が稚拙で申し訳ありません。
お手数おかけします。
A3の値が「FC」で、B3の値「>=0.1」であれば"A"(True)にしたいのです。
この為の式が当初質問の式なのですが、違っていますでしょうか?。
=IF(AND(A3="FC",B3>=0.1),"A","B")

>FCとFCの違いは分かっています。

お礼日時:2022/06/29 22:54

No6です。



>5 FC b A=FALSE B=FALSE※
>7 - b A=FALSE B=FALSE※
式の通りになっていると思われますが・・・?
(B列の値が不明ですけれど、空白セルと解釈しました。)
5番のB列の値が、もしも"C"であるならTrueになるはずと思います。

「A=」、「B=」の意味がはっきりしませんけれど、
 =A3="FC" と =B3>=0.1 のそれぞれの結果ということで良いのですよね?


ここまで、ご提示の式をそのまま正としていましたが、なさりたいことと式が一致していないのではないでしょうか?
    • good
    • 0
この回答へのお礼

お手数おかけします。
A3の値が「FC」で、B3の値「>=0.1」であれば"A"(True)にしたいのです。
この為の式が当初質問の式なのですが、違っていますでしょうか?。
=IF(AND(A3="FC",B3>=0.1),"A","B")

お礼日時:2022/06/29 22:48

んじゃ、面倒だから、



I3セルに
 =C3="FC"
J3セルに
 =G3>=0.1

と入力して結果を確認してみてください。

どちらの条件がFalseでどちらがTrueかを確認できます。
この回答への補足あり
    • good
    • 0
この回答へのお礼

お手数をおかけします。
質問欄に補足追記しました。
よろしくお願いいたします。

お礼日時:2022/06/29 18:56

No1です。



>※キャプチャ添付できれば良いのですが‥‥。
スクショをとれば、添付できるはずですよ。
とは言っても、今回のご質問の場合は「見た目と違う結果が出てしまう」ということなのでしょうから、(見た目しかわからない)画像を見たところでほとんど役には立たないと思いますよ。

>C列はデーター入力規則-設定-リストの▽で「-」「FC」「QC」の三択入力です。
>G列は文字数値で都度手入力です。
であるのなら、G列が怪しいのかとも思いますが・・・
No3様のご指摘にもあるように、表示されている値と実際の値は(書式指定や四捨五入などで)必ずしも一致しているとは限りません。

どこかの空き列(2列)に
 =C3="FC" と =G3>=0.1
を入力して、条件判断がどうなっているかを確認すれば一目瞭然と思います。
その上で、おかく思えるセルの値を再確認すれば原因がわかるでしょう。

まさか、入力規則の元のリストにスペース等が混入しているってオチではないですよね?
    • good
    • 0
この回答へのお礼

お手数をおかけします。
質問欄に補足追記しました。
よろしくお願いいたします。

>スクショをとれば、添付できるはずですよ。
スクショとは?。

お礼日時:2022/06/29 18:57

>AND式にFALSEの判定が出ています。



これだけではC3がFALSEなのかG3がFALSEなのかわからないと思いますけど…

№2で書いた数値の方はどうなっているのでしょうか?

必要なことだから聞いているので、2つ聞かれたら2つ返してください。

ちなみに、私の環境ではカーソルを当ててもTRUE、FALSEは出ません。
例えばAND(…)の部分を数式バーで部分選択してF9を押すとTERU/FALSEの結果が表示されたりはします。(そのあとESCキーを押したりしないとそのまま確定されてしまいますが。)
C3="FC"の部分だけ選択してF9を押すとどうなりますか?

(まぁ、№1さんの書いていることを実行してその結果を書いてくれていればそれで事足りるんですが)
    • good
    • 0
この回答へのお礼

お手数をおかけします。
質問欄に補足追記しました。
よろしくお願いいたします。

お礼日時:2022/06/29 18:58

自分もG3セルの値を疑います。



……ですが、
 G3="FC"
の結果が False なら、ここに問題があるわけです。
全角と半角、スペースや表示されないコントロール文字(改行コードなど)を含んでいるということはありませんか。

・・・

たぶん、判定の例として ”FC” としていると推測します。
実は一つのセル内で改行して表示している文字を判定しようとしているなんて
思うわけです。

もしも当たりなら、
 CLEAN(G3)="FC"
と条件式を工夫してみてください。
※ CLEAN関数は表示されないコントロールコードを削除して返す関数です。
    • good
    • 0
この回答へのお礼

銀鱗さん

早速のご回答ありがとうございます。
>G3="FC"
G列ではなくC列です。

Cleanについて
=IF(AND(CLEAN(C5)="FC",G5>=0.1),"A","B")
としましたが変化なしです。

C列はデーター入力規則-設定-リストの▽で「-」「FC」「QC」の三択入力です。
G列は文字数値で都度手入力です。

質問の関数式にカーソルを当てると式のFALSE/TRUEの判定が出ますね。
AND式にFALSEの判定が出ています。←理由が分からないのです。
※キャプチャ添付できれば良いのですが‥‥。

お礼日時:2022/06/29 14:31

>C3="FC"がFALESの判定です



これはどのように確認したのですか?

>G列は数字で#、##0.0です。

とあるので、セルのデータが0.09でも表示は0.1になりますがそういうことはあり得ないということでしょうか?
    • good
    • 0
この回答へのお礼

chonamiさん

早速のご回答ありがとうございます。
C列はデーター入力規則-設定-リストの▽で「-」「FC」「QC」の三択入力です。
G列は文字数値で都度手入力です。

質問の関数式にカーソルを当てると式のFALSE/TRUEの判定が出ますね。
AND式にFALSEの判定が出ています。←理由が分からないのです。
※キャプチャ添付できれば良いのですが‥‥。

お礼日時:2022/06/29 14:24

正しいですね。


問題はありません。
そのシートの画像があれば、確認できるのでしょうが。
この情報からでは、問題なしとなりますね。
    • good
    • 0
この回答へのお礼

T田中さん

早速のご回答ありがとうございます。
C列はデーター入力規則-設定-リストの▽で「-」「FC」「QC」の三択入力です。
G列は文字数値で都度手入力です。

質問の関数式にカーソルを当てると数式のFALSE/TRUEの判定が出ますね。
AND式にFALSEの判定が出ています。←理由が分からないのです。
※キャプチャ添付できれば良いのですが‥‥。方法が分かりません。

お礼日時:2022/06/29 14:22

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