使用VB.net按最大出现次数排序excel列的值
我有一个excel文件,其中B1列到B500列(可能会有所不同)填充了数字。例如:使用VB.net按最大出现次数排序excel列的值,vb.net,excel,Vb.net,Excel,我有一个excel文件,其中B1列到B500列(可能会有所不同)填充了数字。例如: ![sample data](http://i.stack.imgur.com/zSkLt.jpg) 我需要输出如下所示: ![sample output](http://i.stack.imgur.com/nTqEK.jpg) 到目前为止,我有这么多代码: Sub Max() Dim i As Long, j As Long Dim cl As Excel.Range i = 1
![sample data](http://i.stack.imgur.com/zSkLt.jpg)
我需要输出如下所示:
![sample output](http://i.stack.imgur.com/nTqEK.jpg)
到目前为止,我有这么多代码:
Sub Max()
Dim i As Long, j As Long
Dim cl As Excel.Range
i = 1
j = 1
For i = sheet.UsedRange.Rows.Count To 1 Step -1
cl = sheet.Cells(i, 2) '## Examine the cell in Column B
If xl.WorksheetFunction.CountIf(sheet.Range("B:B"), cl.Value) > 1 Then
cl.Value = sheet.Cells(j, 3).value 'copy to Column C
End If
j = j + 1
Next i
End Sub
此代码所做的是在列B中查找重复项并从列中删除其他条目。C列中没有任何内容。我希望B列在末尾未经编辑。也不知道如何在这里实现排序
请提供帮助。如果您愿意,也可以使用公式: 使用数组公式非常重要(编辑单元格时按Ctrl+Shift+Enter),我的Excel是西班牙语版本,因此您只需更改: -由IF生成的SI -按COUNT.IF计算的CONTAR.SI
我想到了这个解决方案,考虑到这个问题。我希望这对您有用。所以您希望在B列中获得所有唯一值(无重复值)的列表,然后将它们全部放在C列中,但按降序排序?@rwisch45:非唯一值。我希望C列用B列中重复次数最多的值填充(降序)。重复次数的计数将在D列中。