excel中的幼崽总和

时间:2011-02-25 02:02:55

标签: excel-vba vba excel

在Excel中,我们可以使用sumsq()来处理区域或一组区域中的平方和。我怎样才能做小熊的总和或写一个行为相同的模块? 我在sumproduct()方面取得了一些成功,但是并没有像sumSQ()那样灵活。 Excel-VBA中的任何答案

1 个答案:

答案 0 :(得分:0)

如果数据在A1:A10中,您可以使用=SumProduct(A1:A10,A1:A10,A1:A10)

如果你想写一个udf

Function SumCu(r As Range) As Variant
    Dim dat As Variant
    Dim sum As Variant
    Dim i As Long, j As Long

    dat = r.Value2
    sum = 0
    For i = 1 To UBound(dat, 1)
    For j = 1 To UBound(dat, 2)
        sum = sum + dat(i, j) ^ 3
    Next j, i
    SumCu = sum
End Function

或更一般地

Function SumPwr(r As Range, Pwr As Single) As Variant
    Dim dat As Variant
    Dim sum As Variant
    Dim i As Long, j As Long

    dat = r.Value2
    sum = 0
    For i = 1 To UBound(dat, 1)
    For j = 1 To UBound(dat, 2)
        sum = sum + Val(dat(i, j)) ^ Pwr
    Next j, i
    SumPwr = sum
End Function