Roll Dice, but no recurring numbers

Hello everyone. Is there any way we can roll dice but no recurring numbers (e.g. 1 to 10) in one row?

  1. Let the seed become today’s date, so the first number is 7.
  2. In the same row, how can I roll dice, but there is no option 7 in hand.

The purpose is simple, in one row, there are fixed 10 numbers with no recurring. So that, if the user add new response (new row) the numbers combination will be different with the previous one.

I have used random number. But when I refresh the app, it always changing. I want it to be fixed. For example, in 1st cell the number is 7, the 2nd cell is 3, so on and so forth, when I refresh it stay still.

Kindly advice. Thank you so much!

Try this in a javascript column.

  • The p1 parameter is your minimum starting number.
  • The p2 parameter is your maximum ending number.
  • The p3 parameter is a unique seed value, such as a RowID
function getRandomNumbers(min, max, seed) {
  let numbers = [];

  // Populate the array with numbers from min to max
  for (let i = min; i <= max; i++) {
    numbers.push(i);
  }

  // Calculate seed based on ASCII values of characters in the seed text
  let seedValue = 0;
  for (let i = 0; i < seed.length; i++) {
    seedValue += seed.charCodeAt(i);
  }

  // Shuffle the array using seedValue
  let random = function() {
    let x = Math.sin(seedValue++) * 10000;
    return x - Math.floor(x);
  };

  for (let i = numbers.length - 1; i > 0; i--) {
    const j = Math.floor(random() * (i + 1));
    [numbers[i], numbers[j]] = [numbers[j], numbers[i]];
  }

  // Generate comma-delimited string
  function getRandomString() {
    const result = [];
    while (numbers.length > 0) {
      result.push(numbers.pop());
    }
    return result.join(',');
  }

  return getRandomString();
}


return getRandomNumbers(p1, p2, p3);

The result will be a comma delimited list of random numbers that are different for each row. Add a Split Text column to convert the comma delimited list of numbers into an array. Finally add several Single Value columns to retrieve each number out of the array.

3 Likes

This works perfectly. Thank you so much Jeff!

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.