为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

芜湖不芜 2023-03-10 16:01:32
我有 4 个带有 TRUE 或 FALSE 选项的下拉菜单。我希望制作一个公式,以便如果其中一个为真,其余的将自动设置为假。因此,在这种情况下,由于“次日”为 TRUE,因此“sameday”、“sd 11am”、“rush”和“P2P”为“假”。如果我将 Sameday 更改为 TRUE,我希望 Next Day 自动更改为 False。那可能吗?
查看完整描述

1 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

解释:

  • 不能通过使用谷歌表格公式来实现。

  • 您显然需要一个onEdit()触发器函数,因此可以利用Google Apps Script

  • 一旦列表中的单元格['F2','G2','H2','I2','J2']编辑,脚本将检查编辑了哪个单元格以及新值是TRUE还是FALSE。如果值为 ,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)调整为您自己工作表的名称。


说明/示范:

请按照以下说明设置和使用它:

  • 点击Tools => Script editor ,

  • 将代码片段复制粘贴到 code.gs 文件中,

  • 最后点击保存按钮。


查看完整回答
反对 回复 2023-03-10
  • 1 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信