[英]Excel - find a value in column A that appears less than or equal to 4 times and print in column B
我在A列中按字母顺序排列了一个用户名列表,其中一些出现了无数次。 如果用户名出现少于或等于4次,我想打印B列中的用户名。
我是否需要一个数组来遍历列中所有不同的用户名值,以查找出现少于或等于4次的值?
考虑:
Sub dural()
Dim A As Range, B As Range, v As String, K As Long
Set A = Intersect(Range("A:A"), ActiveSheet.UsedRange)
Set B = Range("B:B")
K = 1
With Application.WorksheetFunction
For Each aa In A
v = aa.Value
If v <> "" Then
If .CountIf(A, v) <= 4 Then
If .CountIf(B, v) = 0 Then
Cells(K, "B").Value = v
K = K + 1
End If
End If
End If
Next aa
End With
End Sub
不需要辅助列或VBA,只需调整一下IF函数即可:)
=IF(COUNTIFS(BE:BE,BE2)<=4,IF(COUNTIFS($BE$1:BE2,BE2)=1,BE2,"0"),"0")
^在这里,BE是您所有数据的存放地,从第2行开始
它能做什么:
如果名称出现4次或以下,
如果这是第一次,“名称”将出现在列中
要删除0值,即空行:
Replace All
( Ctrl-H )将“ 0”替换为“”(以便可以..) Go To
( Ctrl-G ) > Special > Blanks
来选择空白行 您也可以简单地过滤出Blank / 0值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.