excel A B 两列相同数据,B列与A列相同的数据,在C列显示A列出现了多少次,如图

我用的公式如下
=COUNTIF(A:A,B1)
但是太慢了,A B两列都有40多万行的数据,对比一个都要一上午,求大神赐一个快速的计算公式或宏代码

Sub fdsafsaf()
Dim i As Long, j As Long, k As Long
Dim rng As Range
Dim arr
Dim arr1()
i = [a65536].End(3).Row '07版本改为[a1000000].End(3).Row
j = [b65536].End(3).Row '07版本改为[b1000000].End(3).Row
ReDim arr1(1 To j, 1 To 1)
Set rng = Range("a1:a" & i)
    arr = Range("b1:b" & j)
For k = 1 To j
    arr1(k, 1) = WorksheetFunction.CountIf(rng, arr(k, 1))
Next
Range("c1").Resize(j, 1) = arr1
End Sub

我试了几组数据,

4代表4000个

4、4表示两边都最4000个

这代码运行40万个数据,时间上要5个多小时

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-20
c1=IF(A1=B1,COUNTIF(A:A,A1),0)
选中c1,在左上角的名称框里输入c1:c400000,后边这个数字根据你的实际情况输入,最后那个是多少就输入多少,然后按回车买这时候c列的40万的单元格就选中了(如果真有这么多的话),保持选中状态,鼠标点一下上边编辑栏,把公式最后变得)删掉再输入,完了时候按下ctrl+回车,刚刚选中的单元格就自动填充上公式了。
第2个回答  2013-06-20
我觉得吧,用数据透视表比较靠谱一些
第3个回答  2013-06-20
C1输入公式并下拉。
=if(A1=B1,countif(a:A,a1),0)追问

这个统计有错误

第4个回答  2013-06-20
C1 =COUNTIF(A:A,B1)
然后双击 C1 单元格右下角的 小黑十字 向下复制……追问

太慢,我用的是这个

追答

公式 这就是最快的了,因为你需要计算出有多少个……

你的电脑不会这样慢吧……

你要计算多大的范围 不是整列?可以将A:A 限定一个固定的区域比如A$1:A$10000 等等……

用VBA 也块不到哪里去……


附件中 有代码……最少也要 半小时 如果说你的数据真的有40万行那么多的话……

excel A B 两列相同数据,B列与A列相同的数据,在C列显示A列出现了多少...
= arr1End Sub我试了几组数据,4代表4000个 4、4表示两边都最4000个 这代码运行40万个数据,时间上要5个多小时

在EXCEL中怎么找到两列数据里相同的数据
首先,VLOOKUP函数是一个非常有效的工具,用于在数据表的第一列中查找某个值,并返回同一行中指定列的值。例如,假设我们有两列数据分别在A列和B列,我们想要在C列显示A列和B列中相同的数据。我们可以在C列的每个单元格中使用VLOOKUP函数,以A列的数据作为查找值,在B列中查找匹配项。如果找到匹配项...

Excel中,有A列和B列两组数据,A列中有许多相同数据,如何用公式A列中相...
=IF(COUNTIF($A$1:A1,A1)>1,B2,IF(COUNTIF(A1:$A$100,A1)>1,B2,""))在C列的最后合计中输入=SUM(C1:C100)

excel表里怎么筛选出两列重复的数据?
1、首先打开excel表格,在A列和B列中分别输入两组数据,其中有重复值。2、然后在C1单元格中输入公式:=IF(COUNTIF(B:B,A1),A1,""),意思是用A1单元格的数值在B列中查重,如果有重复值就在单元格中显示重复的数值。3、点击回车,即可看到C1单元格没有显示数据,则表示A1单元格在B列中没有重复...

求答Excel表两列重复数据,如何标记
1、如下图两列数据需要找到他的相同数据,首先在开始菜单下面选择条件格式。2、点击之后出现框框选择第一个突出显示单元格规则,然后再选择重复值。3、选择好之后他会提示你设置格式 4、选择好之后点击确定,然后表格中就会将两列相同数据显示出自己所设置的样子,这样就可以了。5、选中这列数据,然后在...

如何在excel在C列显示 A列 B列 的 重复项
看你以哪列做参照对象 如果以A列做参照对象,查找2列重复的(也就是说A列有的内容,B 列中有的显示重复)=if(countif(b:b,a)>=1,"重复","")如果以B列做参照对象,(也就是说B列有的内容, A列中有的显示重复)=if(countif(a:a,b1)>=1,"重复","")...

怎样统计表格中相同数据出现的次数?
用Countif函数实现相同数据出现次数的统计方法二中我们用函数来完成:先打开需要统计的表格。将语文这一列(B列)的数据复制到C列。(如图所示)点击菜单栏的“数据”;再点击一下“删除重复项”按钮。在弹出的警告窗口中选择“当前选定区域”;然后再点击“删除重复项”。在删除重复项的确认窗口中,点击“...

在excel中怎样比较两列数据相同的数据
在Excel中通过比较两列中的数据来查找重复项。如果A列的数据没有在B列出现过,就保留单元格为空。如果A列的数据在B列出现过,就返回A列对应的数据。C1输入公式:=IF(ISERROR(MATCH(A1,$B$1:$B$5,0)),"",A1)。Match部分得到的结果是#N\/A或者数字,然后用ISERROR函数,将#N\/A错误值进行处理...

EXCEL问题 筛选A,B两列重复的数值在C列显示
在C1输入 =if(countif(A:A,b1)>=1,b1,"")下拖至B列数据结束

...excel中。A,B两列数据,在C列求出A列数值在B列中的个数。例如...
在C1输入公式:=COUNTIF(B:B,A1)下拉至C4即可。

相似回答