我有大表数据(大约100列和50行),我正在寻找一种方法,在每列中取一个随机数并将它们加在一起。例如,如果我有一张桌子:
r
结果将类似于= 12 + 25 + 34 + 41。这是骗人的吗?
答案 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