- ベストアンサー
エクセル関数「偽」の場合が2つある場合はどうしたらよいですか?
- エクセルで特定の条件に基づいて値を返すためには、IF関数を使用することができます。
- 条件分岐を行うために、IF関数を2つ組み合わせることで解決することができます。
- 例えば、C列とD列が空白ではない場合には「エラー」という値を返し、それ以外の場合には「ID」という値を返すような式を使用することができます。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
お示しのようにB列をするのでしたらB1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(C1<>"","エラー",IF(D1<>"","削除",A1))
その他の回答 (5)
- TYWalker
- ベストアンサー率42% (281/661)
真と偽っていうのは、男と女、右と左、白と黒のように、2つの値しかもち得ないときにいうものです。 「違う偽を返したい」というのは偽の値が2つあると言っているわけで、この時点で破綻しています。 エクセル以前に論理学の問題です。 Cがヌルでないならエラーを返すIFと、Dがヌルでないなら削除を返すIFとを作り、2つの文字列を連結すればいいと思います。
お礼
ご回答ありがとうございました。
- choco_jiji
- ベストアンサー率31% (528/1701)
もっと簡単な方法があるかもしれませんが。 条件を順に追っていくと… 1)まず、Dが空白でない時→B="削除" 2)次に、Cが空白でない時→B="エラー" 3)どちらでもない時→B=A ということでしょうかね。 IF(条件,TRUE,FALSE)なので、 まずは1)の条件を入れます。"空白ではない"のでnot()を使います。 TRUEは"削除"ですね。 ここでFALSEの時、次の条件に移行しますので、さらにIF()を置きます。 あとは同様に… コレを式にすると・・・ =IF(not(D1=""),"削除",IF(not(C1=""),"エラー",A1)) となります。 この式をあえて日本語で書くなら 「もしD1が空白でなければ,B1は"削除",違ければ『もしC1が空白でなければ,B1は"エラー",違ければB1はA1と同じ。』。」 です。 ただし、この場合はDに日付が入っている時点でBには"削除"を返しますのでCに日付が入っていても"削除"となります。
お礼
あ、NOTというのがあるのですね。 勉強になります! ご回答ありがとうございました!
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 C列とC列の組み合わせは4通りですので全てに対応してみました。 =CHOOSE(((C1<>"")*1+(D1<>"")*2)+1,A1,"エラー","削除","エラー&削除")
お礼
こういう方法もあるのですね。 ご回答ありがとうございました!
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルの関数(特にIF関数)を良く勉強してないために、袋小路的方向に行ってしまっているようだ。 IF関数には、「IF関数のネスト的使いかた」という、典型的パターンを学習直後に直ぐ出てくる使い方がある。 Googleででも「IF関数 ネスト」で照会して、記事の中の実例をみて、自分の場合に応用してみてください。 エラーを出す条件 削除を出す条件がはっきり文章化(意識化)されてないのが問題。 多分D列が空白でなければ、B列は、削除 B列が空白でなければ、エラー と出すだけの問題では。
お礼
ご回答ありがとうございました!
- KURUMITO
- ベストアンサー率42% (1835/4283)
C1セルかD1セルのどちらかにデータがある場合にはエラーと表示し、そうでない場合にはA1セルの値を返すのでしたら次の式をB1セルに入力して下方にオートフィルドラッグします。 =IF(OR(C1<>"",D1<>""),"エラー",A1)
お礼
早速のご回答ありがとうございます。 エラーだったのか削除したのかを見分けたいのです~。 残念です。
お礼
きゃ~!!すごい!できました!! ありがとうございました!!!!! うれし~