每列和随机行中的总和值

时间:2017-03-07 17:59:23

标签: excel excel-formula

我有大表数据(大约100列和50行),我正在寻找一种方法,在每列中取一个随机数并将它们加在一起。例如,如果我有一张桌子:

r

结果将类似于= 12 + 25 + 34 + 41。这是骗人的吗?

2 个答案:

答案 0 :(得分:0)

在公式中:

=indirect("A" & ceiling(rand()*50, 1)) + indirect("B" & ceiling(rand()*50, 1)) + indirect("C" & ceiling(rand()*50, 1))...

我想认为有更好的方法可以做到这一点,但这就是它的主旨。

在UDF中:

Function randSum(tableRange As Range) As Integer
    Dim colRange As Range

    For Each colRange In tableRange.Columns()
        randSum = randSum + colRange.Rows(Rnd() * colRange.Rows.Count)
    Next

End Function

答案 1 :(得分:0)

尝试UDF:

Function SUM_RANDOM(rng As Range)
Dim i As Long
Application.Volatile

For i = 1 To rng.Columns.Count
    SUM_RANDOM = WorksheetFunction.Sum(SUM_RANDOM, rng.Cells(1, 1).Offset(Int(Rnd() * rng.Rows.Count), i - 1).Value)
Next i

End Function