• ベストアンサー

エクセル関数の文字列最長一致について質問です

if文を用いて下記のようなことがしたいと思っています。 "abxx"("xx"は"cd"以外ならば何を入力されてもかまわない) と表示された場合の回答として"A"と表示 続いて"abcd"(上記の"xx"の部分が"cd"と表示された場合のみ)と表示された場合の回答として"B"と表示 文章がわかりにくくて申し訳ないのですが、わかる方いらっしゃいましたらよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.5

No.1ですが、関数を書くとこんな感じでしょうか。 left/rightではなくてmidを使用しました。 =IF(MID(A1,3,2)="cd","B","A") ※A1にabcdやabXXを入れてみてください。

その他の回答 (4)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.4

=IF(A1="abcd","B",IF(COUNTIF(A1, "ab*"),"A","")) でいかがですか。 文字数が4文字限定なら =IF(A1="abcd","B",IF(COUNTIF(A1, "ab??"),"A","")) です。

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

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)
回答No.2

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","")) と入れて下方向に式を複写

回答No.1

=leftや、=rightを使って一旦外出しにして、その外出しにした文字列をif文で判断させれば簡単かと。 まぁ、if文にleftやrightを組み込んで1分でも可能だとは思いますが…

関連するQ&A