注:表1a列的数据为:110526||000000,表2 b列数据为000000(即表1数据||后的数据)
请说明下公式的含义,本人小白...只会用个vlookup查点数据什么的,谢谢!
另外||后的数据(即要搜索的数据)长短不一
下图为表1,公式为:
ISERROR(VLOOKUP(MID(A1,FIND("||",A1,1)+2,LEN(A1)-FIND("||",A1,1)),Sheet2!A:A,1,0))
1、len用于计算表1中A列字条的长度
2、find用于查找||在表1中A列出现的位置
3、len的结果加2表示||后的字符在表1中A列字符里出现的位置
4、len的结果减find的结果表示||后面字条的长度
有了以上的计算结果,就可以很容易的把||后面的字条单独剔除出来,那么接下来就可以直接用你熟悉的vlookup在表2中查找了,显示数值的就表示有包含表2中的数据,出现#N/A的就表示没有包含。如果不介意美观的问题,到这里就算是OK了,如果想更美观些就,就配合iserror和if,以下简单对这两个函数说明:
1、iserror用于判断参数是否为错误值,如果是返回true,如果不是返回false,错误包括#N/A、#VALUE!、#NUM!等等
2、如果iserror返回的是true,那么if得出的结果为空值;如果返回false,那么if得出的结果为“有包含!”