エクセルで複数条件のIF関数が上手くいきません。 添付画像の表で、前回購入履歴(B列)に「○」が入力されていて、なおかつ購入先(C列)が空白の場合に、購入先(C列)に「カナダ」と入力したいです。

画像
補足

<訂正> 2回目に挑戦した数式は、そもそも自分が指定したい条件と反対の内容なっていました。 A列に「『アメリカ』の表示がない場合」という条件を付けたかったので「A2="*アメリカ*"」を「A2<>"*アメリカ*"」と直して、 =IF(AND(B2="○",A2<>"*アメリカ*"),"カナダ","") としてみましたが、いずれにしても正常には反映されませんでした。 ちなみに、 =IF(AND(B2="○",COUNTIF(A2<>"*アメリカ*")),"カナダ","") もダメでした。

Excel | Office系ソフトウェア161閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

0
画像

kabuto_yhさま、ご指示いただいた式は両方ともちゃんと機能しました。 「アメリカ」と入力されているセルに何も処理をしないという考え方ではなく、そのセルにも「アメリカ」と入力するよう指示しないといけなかったのですね。大変参考になりました。 また、「〇」の表記に関しても、元々の表と自分の数式とに相違があったため、こちらもとても勉強になりました。 本当にありがとうございました。 「アメリカ」と「カナダ」が両方ちゃんと表記される式を教えていただいたkabuto_yhさまをベストアンサーにさせていただきましたが、他のみなさまも、たくさんの知恵を貸していただきありがとうございました。循環参照の件も勉強になりました。

ThanksImg質問者からのお礼コメント

「アメリカ」と入力されているセルに何も処理をしないのではなく、そのセルにも「アメリカ」と入力するよう指示しないといけなかったのですね。大変参考になりました。 「アメリカ」と「カナダ」が両方ちゃんと表記される式を教えていただいたkabuto_yhさまをベストアンサーにさせていただきましたが、他のみなさまも、たくさんの知恵を貸していただきありがとうございました。循環参照の件も勉強になりました。

お礼日時:7/25 16:20

その他の回答(3件)

0

C2=IF(AND(B2="○",ISERROR(FIND("アメリカ",A2))),"カナダ","") または、 C2=IF(AND(B2="○",COUNTIF(A2,"*アメリカ*")=0),"カナダ","")

画像
1

>前回購入履歴(B列)に「○」が入力されていて、 >なおかつ購入先(C列)が空白の場合に、 >購入先(C列)に「カナダ」と入力したいです。 それは無理 C列に入れる式として B列が「○」なら「カナダ」を表示するという式を入れる。 なら可能ですが、 C列が空白ならC列に文字を入れる? それは無理。 セルに入れる式は 「自分自身に何を表示させるか」と考えて式を入れないとダメ。 条件がむちゃくちゃですよ。 条件1)商品名に何かの文字が含まれるか否か 条件2)前回購入に○があるか否か で二つの条件の組み合わせで 結果1)カナダを表示させる 結果2)何も表示させない 結果3)他の文字を表示させる ということを行う必要があります。 それと、セル自身の値がどうかを判断させてセルの表示を変化させる は不可能です。 例を示すと ・C2の値が空白ならC2に「カナダ」を入れる ・C2の値がカナダならなら空白にする とC2に式を入れるとC2の値は何になりますか? 空白なら「カナダ」、でも「カナダ」なら「空白」 値が定まらないですよね。 変化すれば更にその変化に対応する訳ですから、 他にも A1に =A2 と入力し A2に =A1と入力した場合、A1,A2の値は何になりますか? この状態を「循環参照」と言います。

1人がナイス!しています

0

IF関数で*は使えないです。 =IF(AND(B2="○",COUNTIF(A2,"*アメリカ*")=1,"カナダ","") でどうでしょうか?

早々にご回答いただきましてありがとうございます。しかし、ご指示いただいた数式では上手くいきませんでした。=1のあとに ) が足りないようでしたのでそれも付け足してみましたがダメでした。 明日、もう少し頑張ってみます。