我已在网上搜索过但我找不到任何特定内容。
我的列A如下所示,我需要搜索此列并找出B列中数据的出现次数,在下面的示例中有4(70011x3 + 70014x1)。
A B
h323:70011 70011
70007 70012
70011 70013
h323:70014 70014
sip:70011@domain.com 70015
我需要在Excel中使用什么公式? 提前致谢
答案 0 :(得分:1)
...我不知道是否有一种简单的方法可以使用单个工作表函数来完成此操作,但我可以想到我将用两种方法来实现这一目标(并且很想知道是否有人能够弄明白如何在一个我想不到的单一,简单的工作表函数中执行此操作。
无论哪种方式,我的解决方案都是:
这看起来如下:
A B C
h323:70011 70011 {=SUM(--ISNUMBER(FIND(B1,$A$1:$A$5,1)))}
70007 70012 {=SUM(--ISNUMBER(FIND(B2,$A$1:$A$5,1)))}
...etc
请注意,对于此解决方案,您必须以数组公式键入(点击 ctrl + shift + 输入)最后,但是当你向下拖动C列并总结时,你将获得正确的总数。 这个问题的挑战在于它并没有真正在一个单元格中给出答案。
您可以编写自己的VBA函数来非常轻松地执行此操作。 我创建的是:
Function MyFunc(CriteriaRng As Range, SearchRange As Range) As Double
Dim CriteriaCl As Range
Dim SearchCl As Range
Dim RunningTotal As Double: RunningTotal = 0
For Each CriteriaCl In CriteriaRng
For Each SearchCl In SearchRange
If InStr(1, SearchCl.Value, CriteriaCl.Value) > 0 Then RunningTotal = RunningTotal + 1
Next SearchCl
Next CriteriaCl
MyFunc = RunningTotal
End Function
然后您可以在=myfunc(B1:B5,A1:A5)
中的任何单元格类型中进行操作,您将获得正确的答案。
希望这有帮助!
答案 1 :(得分:0)
函数COUNTIF
采用通配符。
使用excel 2007,您可以简单地引用整个列:
=COUNTIF(A:A,"*"&B1&"*")
2003或更低版本,您必须将范围作为单元格引用
=COUNTIF(A1:A2000,"*"&B1&"*")
请注意,数字必须格式化为文字,或者您可以添加 countif 来覆盖数字
=COUNTIF(A:A,"*"&B1&"*")+COUNTIF(A:A,B1)
然后,您可以使用列上的SUM
来获取总数。