为什么你的公式写的这么麻烦,稍等下我帮你修改一下
原公式添加你后面的满足条件显示重复两个字,
=IF(E2="","",if(countif(cl2:cl30,e2)>1,"重复",IFERROR(LOOKUP(1,0/(MMULT(1-ISERR(FIND(MID(E2,TRANSPOSE((ROW(INDIRECT("1:"&LEN(E2))))),1),$CL$2:$CL$30)),ROW(INDIRECT("1:"&LEN(E2)))^0)=LEN(E2)),$CK$2:$CK$30),"无")))
如果CK列的值在CM列的话,公式可以更加简单。如果没有的话,可以把CM列当成一个辅助列,值等于CK列的值就可以。然后可以这样写公式,非常简单。
=If(Countif(Cl2:Cl30,E2)>1,"重复",If(Countif(Cl2:Cl30,E2)>0,Vlookup($E$2,Cl2:Cl30,2,0),"无"))
前提我不知道你公式写在那个单元格,如果你要填充的话可能得把引用关系变成绝对引用。
=IF(E2="","",IF(SUM(--(MMULT(1-ISERR(FIND(MID(E2,TRANSPOSE((ROW(INDIRECT("1:"&LEN(E2))))),1),$CL$2:$CL$30)),ROW(INDIRECT("1:"&LEN(E2)))^0)=LEN(E2)))>1,"重复",IFERROR(LOOKUP(1,0/(MMULT(1-ISERR(FIND(MID(E2,TRANSPOSE((ROW(INDIRECT("1:"&LEN(E2))))),1),$CL$2:$CL$30)),ROW(INDIRECT("1:"&LEN(E2)))^0)=LEN(E2)),$CK$2:$CK$30),"无"))),数组公式,即同时按Shift+Ctrl+Enter结束公式编辑,会自动生成一对{}。
感觉你的公式本身就有问题,当E2长度>1时,MMult(Arry1,Arry2) 函数始终返回#Value错误,
因为Arry1 是29行*1列,Arry2是Len(E2) 行*1列。不能计算。
定位行的就不写 直接写条件吧IF(COUNTIF(CL2:CL30,E2)>1,“重复”,IF(COUNTIF(CL2:CL30,E2)>0,定位行的公式,“无”)