请问Excel怎样才能实现: 表1 a列如果包含有表2 a列里的数据则自动在表2 b列做个记号

注:表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得出的结果为“有包含!”


来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-27
请用公式:=RIGHT(SHEET1!A1, LEN(SHEET1!A1)-FIND("||", SHEET1!A1)-1))

公式说明:
FIND("||", SHEET1!A1):在A1中找到字符“||”的位置,比如“110526||000000”中,“||”是第7个字符

LEN(SHEET1!A1):计算A1整个文本的长度,比如“110526||000000”,共有14个字符

RIGHT(SHEET1!A!, N):从A1中截取右边的N个字符,N=全长-“||”的位置-1

比如“110526||000000”,“||”右边的内容为“000000”共6个字符,即全长14个字符-“||”所在的位置7-1(因为“||”是两个字符,所以还要再减1)=6
第2个回答  2012-12-27
在sheet2的b2输入:
=if(countif(sheet1!a:a,"*"&a2&"*"),1,"")
下拉填充
凡sheet2表b列显示1的均为包含在sheet1表a列数据.
第3个回答  2012-12-27
=IF(Sheet1!A:A=A2,"有","")然后下拉
相似回答