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)非常易于安装和使用:
- ALT-F11调出VBE窗口
- ALT-I ALT-M打开一个新的模块
- 粘贴东西,closuresVBE窗口
如果保存工作簿,则UDF将随之保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件另存为.xlsm而不是.xlsx
要删除UDF:
- 如上所示调出VBE窗口
- 清除代码
- 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必须启用这个工作!