Генерация случайного значения, расположенного в ячейке в пределах диапазона - PullRequest
0 голосов
/ 06 ноября 2018

Я ищу скрипт формулы, который будет запускаться при щелчке по ячейке (или при выборе, а затем при запуске скрипта). Сам скрипт, который я хочу посмотреть на диапазон ячеек (например, I2: I35) и выбрать значение из одной из них случайным образом.

Я не новичок в коде, особенно в JS, но я новичок в работе с языком сценариев Google, поэтому я не совсем уверен, как это сделать.

1 Ответ

0 голосов
/ 06 ноября 2018

Проведя небольшое исследование, я обнаружил, что это невозможно сделать, если просто щелкнуть ячейку. Чтобы бороться с этим, я решил передать второй аргумент в качестве ячейки, которая запускает триггер onEdit , чтобы изменить результат.

Вам необходимо добавить триггер к этой пользовательской функции, чтобы она работала должным образом.

Чтобы использовать это, просто введите =RANDOMITEM(cell_to_edit, beginning_cell:ending_cell) в текстовую область функции или саму ячейку.

Пример: =RANDOMITEM(A1, B1:B10) будет использовать A1 в качестве ячейки триггера, чтобы при редактировании он выбирал случайный элемент из ячейки B1-B10

/**
 * Picks a random value from a range of cells.
 *
 * @param {number} editCell The cell which will be used as the trigger.
 * @param {number} itemRange The cells to be picked from.
 * @return The random value from the range of cells.
 * @customfunction
 */
function RANDOMITEM(editCell,itemRange) {
  var itemArray = [];
  for (var i = 0; i < itemRange.length; i++) {
    itemArray.push(itemRange[i]);
  };
  var result = itemArray[Math.floor(Math.random()*itemArray.length)];

  return result;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...