-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のようになります。それは不安ですか?式
データ(約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のようになります。それは不安ですか?式
:
=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
は、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