Javascript 如何使Google Sheet下拉列表值影响其他下拉列表
我有4个下拉列表,有正确或错误选项。我正在寻找一个公式,使它这样,如果其中一个是真的,其余的是设置为假自动 所以,在这种情况下,因为第二天是真的,sameday、sd 11am、rush和P2P都是假的。如果我将Sameday更改为TRUE,我希望第二天自动更改为False。可能吗?说明: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']被编辑,脚本将检查编辑的单元格以及新值是真还是假。
- 你不能通过使用谷歌表单公式来实现这一点
- 很明显,您需要一个触发函数,因此可以利用它
- 一旦列表中的单元格
被编辑,脚本将检查编辑的单元格以及新值是['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文件中
- 最后单击保存按钮
参考资料: 谷歌应用程序脚本:
googleapps scripts
中编写一个脚本,因为每个单元格只能保存一个值或一个函数,但不能同时保存两者。在脚本中,您可以定义一个函数并使用onEdit触发器调用它。@a-burge true,这是唯一的选项。看看我的答案。不相关,你是如何在编辑器@Marios?@a-burge中获得黑暗模式的?这是一个chrome扩展。谷歌类似黑暗模式的谷歌脚本编辑器。谢谢!这将拯救我的眼睛:)