我正在寻找一个公式脚本,该脚本将在单击单元格(或选中然后运行该脚本)时运行。我想查看脚本本身的范围(例如I2:I35),并从其中一个中随机选择一个值。
我对代码(尤其是JS)并不陌生,但是我对使用Google的脚本语言并不陌生,所以我不确定如何做到这一点。
答案 0 :(得分:0)
经过一些研究,我发现仅单击一个单元格似乎似乎不可能做到这一点。为了解决这个问题,我决定传入第二个参数作为触发onEdit trigger来更改结果的单元格。
您还需要向此自定义函数添加触发器,以使其正常工作。
要使用此功能,只需在功能文本区域或单元格本身中输入=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;
}