首先证明一下我的清白,我的公式没有错误。
如果效率过低,尝试以下方法:
按 Alt + F11 进入 VBE,在左侧工程资源管理器右键选择插入、模块,粘贴以下代码在右侧的代码编辑器,关闭 VBE:
B2 粘贴公式
=MatchCount(D2)
回车下拉。
速度可以,暂未发现错误。我想取消B列公式,直接显示在E列,并且,小于6的不显示,是不是要快一些?可以再做一下吗?100财富值酬谢。
00格式,可以,请教我方法。A列全是公式,也能变成00格式?会影响运行速度吗?
追答也就是文本格式。不会影响速度。
B2格在编辑栏写公式:
=COUNT(IF(FIND(A2,C:C),1,0))
按组合键Ctrl+Shift+Enter结束
下拉填充即可。
把你A列的公式发上来,给你改改
A2 =IF(SUM(COUNTIF(Sheet2!$B$1:$G$3,Sheet2!K1))=1,ROW(A1),"")
有一点很重要:D列有100万行
点中B2右下角句柄(黑小方块),双击就能整表填充。
追问1、你说B2写入=COUNT(IF(FIND(A2,C:C),1,0)),我数据在D列啊(第一个图),我只需要B列数据,而且都必须正确。
2、00格式,怎么做?你没有教我呀
更正:=COUNT(IF(FIND(A2,D:D),1,0))
A列文本:
A2 =IF(SUM(COUNTIF(Sheet2!$B$1:$G$3,Sheet2!K1))=1,TEXT(ROW(A1),"00"),"")
A列变成文本,没有问题。D列,我手动变了几个00格式,B列输入=COUNT(IF(FIND(A2,D:D),1,0))下拉,显示结果好像都是错误的。况且,你还没有教我怎么变D列为00格式。
追答如果数据是不断变化,今后经常重复使用,还是要从数据来源解决。如果就此一次过的,可以函数辅助手工解决
追问D列数据确定以后,不变了。A列数据经常不断地变化。100万行,速度很重要。
追答那就处理一下D列数据。
A列如果不大于2位数,用上述公式就行
是的,请处理D列
追答D列中一行最多是多少个数据(一个空格隔开的算一个)
追问数据太多,速度太慢。10个。为加快速度,取消公式吧,5以下的不显示了吧,显示在E列吧,这样就高级了。
追答做了一个模版(见附件),你可以参考:
请注意别忽略了这样的操作:
B列公式应改下吧,因为是D列每一个单元格都要比对A$2:A$34
追答A2格输入 =IF(SUM(COUNTIF(Sheet2!$B$1:$G$3,Sheet2!K1))=1,TEXT(ROW(A1),"00"),"")
下拉填充
B2格在编辑栏写公式:
(注意,光标停在编辑栏)
=COUNT(IF(FIND(A2,D:D),1,0))
注意!注意!!注意:按组合键Ctrl+Shift+Enter结束
下拉填充。
D列参考附件处理后,将结果复制,选择性(数值)粘贴回来。
问题依旧。看来,B列公式还是要改的!
追答按组合链结束公式,做到没有?
是数组公式!
追问是按那三个键结束的,是数组公式!
公式不行,VBA更好啊?!
追答那私信聊一下吧
那你用VBA!
请看补充
请看补充