- ベストアンサー
エクセル関数の文字列最長一致について質問です
if文を用いて下記のようなことがしたいと思っています。 "abxx"("xx"は"cd"以外ならば何を入力されてもかまわない) と表示された場合の回答として"A"と表示 続いて"abcd"(上記の"xx"の部分が"cd"と表示された場合のみ)と表示された場合の回答として"B"と表示 文章がわかりにくくて申し訳ないのですが、わかる方いらっしゃいましたらよろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
No.1ですが、関数を書くとこんな感じでしょうか。 left/rightではなくてmidを使用しました。 =IF(MID(A1,3,2)="cd","B","A") ※A1にabcdやabXXを入れてみてください。
その他の回答 (4)
- kmetu
- ベストアンサー率41% (562/1346)
=IF(A1="abcd","B",IF(COUNTIF(A1, "ab*"),"A","")) でいかがですか。 文字数が4文字限定なら =IF(A1="abcd","B",IF(COUNTIF(A1, "ab??"),"A","")) です。
- imogasi
- ベストアンサー率27% (4737/17070)
COUNTIF関数とワイルドカード*の利用(WEBで「エクセル ワイルドカード」で照会) 例データ A列 B列結果 abcd ab A abc A abcs A xabcf A abcder ddabcdd dfgabchh A B1は =IF(AND(COUNTIF(A1,"*abcd*")=0,COUNTIF(A1,"*ab*")>0),"A","") 下方向に式を複写。 後半は組み合わせて A列 B列 C列(後半課題結果) abcd - B ab - A abc A A abcs A A xabcf A A abcder - B ddabcdd - B dfgabchh A A xdf C1の式は =IF(COUNTIF(A1,"*abcd*")>0,"B",IF(AND(COUNTIF(A1,"*abcd*")=0,COUNTIF(A1,"*ab*")>0),"A","")) と入れて下方向に式を複写
- imogasi
- ベストアンサー率27% (4737/17070)
COUNTIF関数とワイルドカード*の利用(WEBで「エクセル ワイルドカード」で照会) 例データ A列 B列結果 abcd ab A abc A abcs A xabcf A abcder ddabcdd dfgabchh A B1は =IF(AND(COUNTIF(A1,"*abcd*")=0,COUNTIF(A1,"*ab*")>0),"A","") 下方向に式を複写。 後半は組み合わせて A列 B列 C列(後半課題結果) abcd B ab A A abc A A abcs A A xabcf A A abcder B ddabcdd B dfgabchh A A C1の式は =IF(COUNTIF(A1,"*abcd*")>0,"B",IF(AND(COUNTIF(A1,"*abcd*")=0,COUNTIF(A1,"*ab*")>0),"A","")) と入れて下方向に式を複写
- 前田 順一(@cocoa5575)
- ベストアンサー率19% (38/197)
=leftや、=rightを使って一旦外出しにして、その外出しにした文字列をif文で判断させれば簡単かと。 まぁ、if文にleftやrightを組み込んで1分でも可能だとは思いますが…