gpt4 book ai didi

excel - 在 Excel 中计算唯一值

转载 作者:行者123 更新时间:2023-12-01 18:19:04 25 4
gpt4 key购买 nike

我需要在 Excel 中计算范围 (C2:C2080) 内的唯一值。谷歌搜索公式:

=SUM(IF(FREQUENCY(MATCH(C2:C2080;C2:C2080;0);MATCH(C2:C280;C2:C2080;0))>0;1)) 

返回错误的值。

UPD:蹩脚的解决方案:

Sub CountUnique()

Dim i, count, j As Integer

count = 1
For i = 1 To 470
flag = False
If count > 1 Then
For j = 1 To count
If Sheet1.Cells(i, 3).Value = Sheet1.Cells(j, 11).Value Then
flag = True
End If
Next j
Else
flag = False
End If

If flag = False Then
Sheet1.Cells(count, 11).Value = Sheet1.Cells(i, 3).Value
count = count + 1
End If

Next i

Sheet1.Cells(1, 15).Value = count

End Sub

最佳答案

这是一个适合我的 VBA 函数。

您可以将其用作 worksheet function ,引用任何范围,例如“=CountUnique(N8:O9)”

它处理文本和数值,并将空白单元格视为一个值

它不需要处理数组函数。

它需要引用 Microsoft 脚本库,用于 dictionary object .

    Public Function CountUnique(rng As Range) As Integer
Dim dict As Dictionary
Dim cell As Range
Set dict = New Dictionary
For Each cell In rng.Cells
If Not dict.Exists(cell.Value) Then
dict.Add cell.Value, 0
End If
Next
CountUnique = dict.Count
End Function

关于excel - 在 Excel 中计算唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1676068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com