添加唯一值并排除常量值 - 优化公式

Adding Unique values and excluding a constant value - Optimizing formulas

我需要添加唯一值并确保排除常量值(例如 10)

Acct #        Value
9xxx123        50
9xxx123        50
9xxx123        10
9xxx123        15
9xxx234        10
9xxx234        25
9xxx234        25
9xxx234        30

答案应该是:9xxx123 = 65 和 9xxx234 = 55

下面的公式给出了我的正确答案:

=SUMPRODUCT((($A$2:$A$9=E2)*$B$2:$B$9)/(COUNTIFS($A$2:$A$9,E2,$B$2:$B$9 ,$B$2:$B$9)+($A$2:$A$9<>E2)))

但是,由于我正在分析的数据集很大,我的计算机需要将近一个小时才能执行所有计算。关于如何优化这个公式有什么建议吗?

谢谢!

狮子座

用户自定义函数怎么样?

Dim cell As Range
Dim mysum As Long, i As Long, j As Long
Dim checkarr As Variant
Function SUMOMITTINGVALUE(accountrange As Range, accountnumber As Range, omitvalue As Long) As Long

    mysum = 0
    j = 0
    ReDim checkarr(0 To 0)

    For Each cell In accountrange
        If cell.Value = accountnumber And _
           cell.Offset(, 1).Value <> omitvalue Then
            For i = 0 To UBound(checkarr)
                If checkarr(i) = cell.Offset(, 1).Value Then
                    Exit For
                ElseIf i = UBound(checkarr) Then
                    mysum = mysum + cell.Offset(, 1).Value
                    checkarr(j) = cell.Offset(, 1).Value
                    j = j + 1
                    ReDim Preserve checkarr(0 To j)
                End If
            Next i
        End If
    Next cell

    SUMOMITTINGVALUE = mysum
End Function