Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使Google Sheet下拉列表值影响其他下拉列表_Javascript_Google Apps Script_Google Sheets_Google Sheets Formula - Fatal编程技术网

Javascript 如何使Google Sheet下拉列表值影响其他下拉列表

Javascript 如何使Google Sheet下拉列表值影响其他下拉列表,javascript,google-apps-script,google-sheets,google-sheets-formula,Javascript,Google Apps Script,Google Sheets,Google Sheets Formula,我有4个下拉列表,有正确或错误选项。我正在寻找一个公式,使它这样,如果其中一个是真的,其余的是设置为假自动 所以,在这种情况下,因为第二天是真的,sameday、sd 11am、rush和P2P都是假的。如果我将Sameday更改为TRUE,我希望第二天自动更改为False。可能吗?说明: 你不能通过使用谷歌表单公式来实现这一点 很明显,您需要一个触发函数,因此可以利用它 一旦列表中的单元格['F2'、'G2'、'H2'、'I2'、'J2']被编辑,脚本将检查编辑的单元格以及新值是真还是假。

我有4个下拉列表,有正确或错误选项。我正在寻找一个公式,使它这样,如果其中一个是真的,其余的是设置为假自动

所以,在这种情况下,因为第二天是真的,sameday、sd 11am、rush和P2P都是假的。如果我将Sameday更改为TRUE,我希望第二天自动更改为False。可能吗?

说明:
  • 你不能通过使用谷歌表单公式来实现这一点
  • 很明显,您需要一个触发函数,因此可以利用它
  • 一旦列表中的单元格
    ['F2'、'G2'、'H2'、'I2'、'J2']
    被编辑,脚本将检查编辑的单元格以及新值是
    真还是
    假。如果该值为
    TRUE
    ,则会将其他单元格的值更改为
    FALSE
    。如果新选择的值为
    FALSE
    ,则它不会执行任何操作

解决方案: 请按照说明(gif)操作。他们非常直截了当

以下是代码片段:

function onEdit(e) {

  const cellR = e.range.getA1Notation()
  const as = e.source.getActiveSheet();
  const sheetName = "Sheet1";
  const cells = ['F2','G2','H2','I2','J2'];
  
  cells.forEach(cell=>{
  var otherCells = cells.filter(val=>val!=cell);
  if(as.getName() == sheetName && cellR ==cell && as.getRange(cell).getDisplayValue() == "TRUE"){
  otherCells.forEach(o_cells=>{as.getRange(o_cells).setValue("FALSE")})}}
  );   
}
请将工作表的名称(
sheetName
)调整为您自己工作表的名称


说明/演示: 请按照以下说明进行设置和使用:

  • 单击工具=>脚本编辑器
  • 复制并将代码段粘贴到code.gs文件中
  • 最后单击保存按钮


参考资料: 谷歌应用程序脚本:

JavaScript:


是的,这是可能的。但您需要在
googleapps scripts
中编写一个脚本,因为每个单元格只能保存一个值或一个函数,但不能同时保存两者。在脚本中,您可以定义一个函数并使用onEdit触发器调用它。@a-burge true,这是唯一的选项。看看我的答案。不相关,你是如何在编辑器@Marios?@a-burge中获得黑暗模式的?这是一个chrome扩展。谷歌类似黑暗模式的谷歌脚本编辑器。谢谢!这将拯救我的眼睛:)