Excel FORMULA:查找单元格中的所有字符是否在另一个单元格中,即使在另一个单元格中它们是多个字符

EXCEL FORMULA:查找一个单元格中的所有字符是否在另一个单元格中,即使在另一个单元格中它们是多个字符。 例如:A1包含TRSA – B1包含JHTHASUBR,所以返回TRUE:A1中的所有字符都在B1中,即使它们不在顺序中,或者B1中包含更多字符。

我不知道是否可以用excel中的公式来做到这一点? 谢谢。

尝试以下用户定义的function:

Public Function IsItInThere(r1 As Range, r2 As Range) As Boolean Dim v1 As String, v2 As String, CH As String Dim i As Long IsItInThere = False v1 = r1.Text v2 = r2.Text For i = 1 To Len(v1) CH = Mid(v1, i, 1) If InStr(v2, CH) = 0 Then Exit Function End If Next i IsItInThere = True End Function 

在这里输入图像说明

用户定义的函数(UDF)非常易于安装和使用:

  1. ALT-F11调出VBE窗口
  2. ALT-I ALT-M打开一个新的模块
  3. 粘贴东西,closuresVBE窗口

如果保存工作簿,则UDF将随之保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件另存为.xlsm而不是.xlsx

要删除UDF:

  1. 如上所示调出VBE窗口
  2. 清除代码
  3. closuresVBE窗口

从Excel中使用UDF:

= IsItInThere(A1,B1)

要了解有关macros的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

有关UDF的具体信息,请参阅:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

macros必须启用这个工作!