I want to create a list of random numbers (as a die roller) and I can only seem to be able to make a list with the same randomly generated number repeated throughout. <insert that XKCD about 4 being a random number here:>

Does the below post give you the right direction

That is quite the formula, yes?

I did go over it before posting the thread, but given how specific that problem is I kind of hoped there would be a more general and simpler solution available than whatever it is doing. Needless to say, I have no idea how it works, and Coda itself throws some lengthy type errors when inspecting the formula which makes the process of deciphering it even scarier!

@Sayantan_Chaudhuri - Not easy to generate numbers on canvas - but here’s a way to generate it within table. you would need to use Button to generate the list

formula is:

`ListCombine ( ModifyRows(thisRow, thisRow.[Random Numbers], ''), Sequence(1,thisRow.[How many random numbers],1).FormulaMap(RunActions(ModifyRows(thisRow, thisRow.[Random Numbers],ListCombine(thisRow.[Random Numbers], List(Random()))))) )`

first part of the formula clears existing value and second part generates Random number and adds it to existing List for value in `How many random numbers`

column. Each of this is basically creates an `action`

(so effectively a list of actions) that is run when button is pressed.

I see. Actions are necessary to evaluate formulas on demand, and therefore generate independent random numbers. For my current use-case I can use a table just to store the list of numbers.

It also occurred to me that I can take a random number and “split it apart” to create several different random values as well! Is this what the formula in the ‘Random number/character generator’ thread doing?

As of Coda recent version (July 2024) elegant formula solution:

Sequence(start,end).RandomSample(quantity,false)

example use:

` Sequence(1,9999).RandomSample(12,false)`

results into a list of **12** random numbers between **1** to **9999**, allow same random number appear multiple times **false**.

mixed use cases such as sorted alphabet like this example:

`Sequence(65,90).RandomSample(8).ForEach(CurrentValue.Character()).Sort()`