- 締切済み
エクセル関数、複数条件で答えをだしたいのですが、
セルA、B、C、D、にそれぞれ数値が入っています。 セルEに下記条件の答えをだしたいのですが IF関数もしくは他の方法で実現できるのでしょうか? Aが空白セルの場合、Eも空白、 B500以上、C50以上で”◎”、 B500以上、C50未満の場合”取寄せ” B200以上、C50以上で”○” B200以上、C50未満で”取寄せ” B1以上、C50以上で”△” B1以上、C50未満、D0で”残少” B0の場合は”要確認” どなたか、お知恵をお借りできれば幸いです。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- kagakusuki
- ベストアンサー率51% (2610/5101)
>B1以上、C50未満、D0で”残少” という条件ですと、B501、C50未満、D0の場合においても”残少”と表示しなければならない事になりますが、それで宜しいのでしょうか? それと、B1以上、C50未満の場合で尚且つDが0ではない場合に関しては、御質問文中には何も書かれていないのですが、どの様な表示とすれば良いのでしょうか? 取り敢えず仮の話として、B1以上、C50未満の場合で尚且つDが0ではない場合は"「B1以上、C50未満、D<>0」"と表示させるものとします。 それで2つの条件によって表示内容を変えるのでしたらINDEX関数とMACH関数を組み合わせて使えば良いと思います。 =IF(COUNT($A1,$B1,$C1,$D1)=4,IF($B1<1,"要確認",IF(AND($C1<50,$D1=0),"残少",INDEX({"「B1以上、C50未満、D<>0」","△";"取寄せ","○";"取寄せ","◎"},MATCH($B1,{1,200,500}),($C1>=50)+1))),"") 或いは =IF(COUNT($A1,$B1,$C1,$D1)=4,IF($B1<1,"要確認",IF(AND($C1<50,$D1=0),"残少",INDEX({"「B1以上、C50未満、D<>0」","取寄せ","取寄せ";"△","○","◎"},($C1>=50)+1,MATCH($B1,{1,200,500})))),"")
- bunjii
- ベストアンサー率43% (3589/8249)
>IF関数もしくは他の方法で実現できるのでしょうか? 少々面倒な論理ですね。 IF関数の多重入れ子でも可能ですがCHOOSE関数で一部簡素化した方が良さそうです。 E1=IF(A18="","",IF(C18<50,IF((B18>=200)+D18,IF(B18=0,"要確認","取寄せ"),"減少"),CHOOSE((B18<500)+(B18<200)+(B18>0),"◎","○","△")))
- 中京区 桑原町(@l4330)
- ベストアンサー率22% (4373/19606)
=if(A1="","",if(B1=0,"要確認",if(and(C1<50,D1=0)=0,"残少",if(C1<50,"取寄せ",if(B1>=500,"◎",if(B1>=200,"○",if(B1>=1,"△")))))))
お礼
ありがとうございます。 おかげさまで、無事すすめることができました。 助かりました。
お礼
ありがとうございます。 すごく勉強になります。関数を使う機会が 多いので助かります。