• ベストアンサー

エクセルであるセルの文字が他のセル内で1文字でも存在するかを知る関数は?

エクセルであるセルの文字が他のセル内で1文字でも存在するかを知る関数はありますか? たとえばA列の値に存在する文字がB列に1文字でもあるかを チェックすることができるのでしょうか。 A列    |   B列    |   C列 -------+----------+---------- ABCD  |  XYZB   |  ○ --> Bがある XY    |  ABSCE  |  X --> XもYもない HD     |  XUDM  |  ○ --> Dがある マクロ(VBA)でなく関数で表したいのですが このような関数はありますか? 関数のヘルプを調べたのですが、出来そうで出来ません。 どうぞよろしくお願いします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

#01です。C1に貼り付ける式を訂正します =IF(MIN(INDEX(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),B1&A1),))>LEN(B1),"×","○")

mitmat
質問者

お礼

返信が遅くなり大変申し訳ありませんでした。 早速、やってみたところ回答どおりの関数でできました。ありがとうございました。

その他の回答 (2)

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

VBAはイヤということだが (1)ユーザー関数を作る方法がある。 VBAコードを考える、という以外は通常関数と同じ。 (2)配列関数 これも関数というのでしょうから。 例データ A列   B列     C列 ABCD XYZBC 2 AC XYZB 0 BZ XYZB   2 X XYZB   1 XB XYZB   2 CV XYZB   0 CX XYZB   1 C列は =SUM((MID(A1,ROW($A$1:$A$10),1)<>"")*IF(ISERROR(FIND(MID(A1,ROW($A$1:$A$10),1),B1)),0,1)) と入れて、SHIFTとCTRLとENTERを同時押しする。 $A$10の10はA列文字数を10以下としている10です。 C列は共通文字数なので 本質問用には、0はX、1以上は○にする部分を加えればよい。=IF(SUM(・・)=0,"✕","○") (3)普通の関数 既に回答が出ている。

mitmat
質問者

お礼

返信が遅くなり大変申し訳ありませんでした。 早速、やってみたところ回答どおりの関数でできました。ありがとうございました。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

C1セルに以下の式を貼り付けます  =IF(MIN(INDEX(FIND(MID(A1,ROW(INDIRECT("A1:A"&LEN(A1))),1),B1&A1),))>LEN(A1),"×","○") C1セルを下方向にコピーしてください