2017-03-07 7 views
-1

データ(約100列と50行)を持つ大きな表があり、各列で1つの乱数を集めて合計する方法を探しています。たとえば、テーブルがある場合:各列とランダム行の合計値

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 
関連する問題