gooサービスにログインしづらい事象について

EXCELのIF関数について教えて下さい。

A列 B列  C列 D列
○     ○  ○
   ○  ×  ×
×     ○  ×

AもしくはB列が○で、C列が○ならD列は○
AもしくはB列が×で、C列が○ならD列は×
AもしくはB列が×で、C列が×ならD列は×
AもしくはB列が空白で、C列が空白ならD列は空白
と言った条件式をD列のセルに記述しようと思っています。
試行錯誤してみたんですが、上手くいきません。
アドバイスでも構いませんので、教えて下さい。

A 回答 (8件)

質問の中の条件が、



1.AもしくはB列が○で、C列が○ならD列は○
2.AもしくはB列が×で、C列が○ならD列は×
3.AもしくはB列が×で、C列が×ならD列は×
4.AもしくはB列が空白で、C列が空白ならD列は空白
(条件の前の番号は私が付けました)
と、No.1の回答補足、
>A,B列ですが、どちらか一方にしか値は入力しません。
と合わせると、下記のパターンが考えられます。

A,B,C,D,条件
○,-,○,○,1
○,-,×,?,条件なし
○,-,-,-,4
×,-,○,×,2
×,-,×,×,3
×,-,-,-,4
-,○,○,○,1
-,○,×,?,条件なし
-,○,-,-,4
-,×,○,×,2
-,×,×,×,3
-,×,-,-,4
-,-,○,?,条件なし
-,-,×,?,条件なし
-,-,-,-,4
(注)「-」は、空白

D列(セルD1)に入れる式は、

=IF(AND(OR(A1="○",B1="○"),C1="○"),"○",IF(AND(OR(A1="×",B1="×"),OR(C1="○",C1="×")),"×",IF(C1="","","?")))

(C列に「○・×・空白」以外のケースが無いなら、下の式でもOK)

=IF(AND(OR(A1="○",B1="○"),C1="○"),"○",IF(AND(OR(A1="×",B1="×"),C1<>""),"×",IF(C1="","","?")))

で、良いと思いますが、No.5の回答補足、
>A列またはB列にデータが入っていてC列にデータが入っていない場合⇒×
>C列にデータが入っていて、A列またはB列にデータが入っていない場合⇒×
を条件とすると、D列は全て「×」になります。


こういう事は、頭の中で条件と結果を考えると上手くいかないものです。
考えられる条件全てを表にして、結果を書いて考えると、何とかなるものです。
    • good
    • 0

結局、この問題はこのようになるのでしょう。



 (A="○" or B="○")and C="○" then "○" else "×"

AかBに入力があり、かつCにも入力があるとき、それらの二つとも○ならD欄も○で、それ以外は×ということですね!?
これならご自身で式を立てられると思います。
ただしA欄B欄共に入力したりすると、正しい結果は得られません。
    • good
    • 0

この問題は、次のように場合分けできます。


(1)A="○" or B="○" and C="○" then "…" else "…"
(2)A="○" or B="○" and C="×" then "…" else "…"
(3)A="○" or B="○" and C=" " then "…" else "…"
(4)A="×" or B="×" and C="○" then "…" else "…"
(5)A="×" or B="×" and C="×" then "…" else "…"
(6)A="×" or B="×" and C=" " then "…" else "…"
(7)A=" " or B=" " and C="○" then "…" else "…"
(8)A=" " or B=" " and C="×" then "…" else "…"
(9)A=" " or B=" " and C=" " then "…" else "…"
この中で、(7)と(8)の処理方法が示されていませんが、どうすればいいのですか?
もうすこし要約して、
(1)A列とB列はいずれか一方が入力され、C列は必ず入力される。
(2)A列,B列,C列にひとつでも×があればD列は×。
(3)A列,B列共に空白ならC列は無視してD列は空白。
(4)その他は○。
というようにできないのですか?
不得手な論理構造に無理して首を突っ込むことはありません。
    • good
    • 0

=IF(OR(A1="○",B1="○"),IF(C1="○","○","×"),IF(OR(A1="×",B1="×"),"×",IF(AND(A1="",B1="",C1=""),"","それ以外")))



網羅していない条件があります。
A列またはB列にデータが入っていてC列にデータが入っていない場合etc...

明確にしていただければ(真理値表に記入を)回答しますが。

この回答への補足

レスありがとうございます。
何度もすみません。
A列またはB列にデータが入っていてC列にデータが入っていない場合⇒×
C列にデータが入っていて、A列またはB列にデータが入っていない場合⇒×

補足日時:2005/11/07 14:25
    • good
    • 0

条件がはっきりしていませんね


下の「?」の部分を埋めることができますか?
空白は「△」として記述しています。

A B C D

○ ○ ○ ○
○ × ○ ?
○ △ ○ ○
× ○ ○ ?
× × ○ ×
× △ ○ ×
△ ○ ○ ?
△ × ○ ?
△ △ ○ ?

○ ○ × ?
○ × × ?
○ △ × ?
× ○ × ?
× × × ×
× △ × ?
△ ○ × ×
△ × × ?
△ △ × ?

○ ○ △ ?
○ × △ ?
○ △ △ ?
× ○ △ ?
× × △ ?
× △ △ ?
△ ○ △ ?
△ × △ ?
△ △ △ △

この回答への補足

説明が足りませんでした。すみません。
A、B列は片方しか値が入りません。

補足日時:2005/11/07 12:17
    • good
    • 0

質問文に矛盾があるかと思いますが・・・。



1.AもしくはB列が○で、C列が○ならD列は○
A B C D
O O O O
O X O O
X O O O

2.AもしくはB列が×で、C列が○ならD列は×
A B C D
X O O X
O X O X
X X O X

この時点で1と2のA列B列に共通の状態ができ、ともにC列が○の状態で同じですから、D列の結果に違いができてはいけないはずです。しかしながら質問文だとこの矛盾が生じるためプログラムを作ることができません。

この回答への補足

返信ありがとうございます。
条件の説明が足らず、申し訳ございません。
A,B列は片方しか値は入れません。

補足日時:2005/11/07 12:19
    • good
    • 0

1番目と2番目の条件が矛盾しているようです。



AもしくはBのどちらかだけが○のときはDはどうなるのでしょうか?

条件を整理してみましょう。
真理値表を書いて、ORで結んでみましょう。

ABC|D
○○○|?
○○×|?
○×○|?
○××|?
×○○|?
×○×|?
××○|?
×××|?
   |?
  ○|?
 ○ |?
 ○○|?
○  |?
○ ○|?
○○ |?
    • good
    • 0

C列以外の条件が矛盾しています



Aが×、Bが○で、C列が○ ならば D列の結果は○ですか×ですか?

この回答への補足

説明を追記いたします。
A,B列ですが、どちらか一方にしか値は入力しません。

補足日時:2005/11/07 13:25
    • good
    • 0

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


おすすめ情報