2017-03-07 52 views
-1

我有一個包含數據的大表(大約100列和50行),並且我正在搜索一種方法來在每列中取一個隨機數並將它們彙總在一起。因此,例如,如果我有一個表:每列和隨機行的總和值

11 21 31 41 
12 22 32 42 
13 23 33 43 
14 24 34 44 
15 25 35 45 

結果將是象= 12 + 25 + 34 + 41。它是否合理?

回答

0

在一個公式:

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

我願意認爲這是一個漂亮的方式來做到這一點,但這是它的JIST。

在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 
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