Google apps script 检查生成的随机数不存在;无法将数组转换为对象

Google apps script 检查生成的随机数不存在;无法将数组转换为对象,google-apps-script,google-sheets,google-sheets-api,Google Apps Script,Google Sheets,Google Sheets Api,我四处搜索,没有找到任何适用于谷歌脚本api的解决方案 背景:试图用(1)列1中不存在的随机六位数填充1行x 4列数组(2)今天的日期(3)用户输入的门店编号(4)用户输入的箱子编号 在这个脚本中,我们首先打开一个对话框,要求用户输入商店编号和盒子数量。此(和其他)信息将填充在最后一行 我这里有两个问题 问题1: 我不知道如何根据a列中已经存在的内容检查生成的随机数。我需要能够创建一个唯一的随机数 问题2: 在使用随机数的占位符运行脚本时,我收到一个错误“无法将数组转换为对象[][]”——我不确

我四处搜索,没有找到任何适用于谷歌脚本api的解决方案

背景:试图用(1)列1中不存在的随机六位数填充1行x 4列数组(2)今天的日期(3)用户输入的门店编号(4)用户输入的箱子编号

在这个脚本中,我们首先打开一个对话框,要求用户输入商店编号和盒子数量。此(和其他)信息将填充在最后一行

我这里有两个问题

问题1: 我不知道如何根据a列中已经存在的内容检查生成的随机数。我需要能够创建一个唯一的随机数

问题2: 在使用随机数的占位符运行脚本时,我收到一个错误“无法将数组转换为对象[][]”——我不确定这里哪里出错了

function onOpen() {
SpreadsheetApp.getUi()
  .createMenu('Create New Exception Number')
  .addItem('Add New Exception Number', 'showPrompt')
  .addToUi();
}

function showPrompt() {
  var ui = SpreadsheetApp.getUi(); 

  var storeNumPrompt = ui.prompt(          //receive input for Column C data
  'Please enter the store number.',
  ui.ButtonSet.OK_CANCEL);

  var numBoxesPrompt = ui.prompt(          //receive input for Column D data
  'Please enter the number of boxes.', 
  ui.ButtonSet.OK_CANCEL);

  var randomNum = Math.floor(Math.random()*999999); //random number for Column A, that does not already exist in Column A
  var today = Utilities.formatDate(new Date(), "PST", "dd/MM/yyyy"); //Today's date to go in Column B
  var storeNum = storeNumPrompt.getResponseText(); //value based on user input
  var numBoxes = numBoxesPrompt.getResponseText(); //value based on user input
  var lastRow = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Exception Numbers').getLastRow()+1; //determine what is the last row
  var values = [randomNum,today,storeNum,numBoxes];

  var newException = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Exception Numbers').getRange(lastRow,1,1,4); //gets the range of the last row, 4 columns wide
  newException.setRange(values); //sets the values as previously specified in the last row.
}

创建一个大的“随机”数字集,从集合中删除重复的数字,每次你需要另一个选择下一个。

是的,我的意思是设置值!!!谢谢你。我仍然收到同样的错误。我不确定此脚本中的什么导致了对象[][]错误。我更改了newException.setRange(值);到newException.setValue(values),这将使用randomNum填充所有4列。当我尝试newException.setValues(values)时,我收到的错误与问题中所述的相同。我已通过将setRange(values)更改为setRange([values])来更正对象[]错误。谢谢你迄今为止的帮助。对于确保生成的随机数在A列中不存在,您有什么建议吗?请确保您的问题与您正在使用的代码以及您试图解决的特定问题有关。为什么需要这种特定的随机数?如果要求没有重复项,则不是随机的。如果有1百万行,会发生什么?您的脚本将永远运行,因为它无法创建不在该范围内的数字。