Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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
Google apps script 如何基于另一个下拉列表中的值自动设置下拉列表中的值_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 如何基于另一个下拉列表中的值自动设置下拉列表中的值

Google apps script 如何基于另一个下拉列表中的值自动设置下拉列表中的值,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一个googlesheet,a-p列。B列(组)是一个下拉列表,N列(执行状态)是一个下拉列表。我正在尝试根据我在“执行状态”下拉列表中选择的值,在单元格中为组自动设置特定值 例如: 组在下拉列表中具有以下值: 显影剂 质量保证 一级支助 二级支持 “执行状态”在下拉列表中具有以下值: 通过 失败 未执行 封锁 以下是我希望发生的事情: 如果我选择失败作为执行状态,我希望组自动更改为DEVELOPER 以下是我的功能: 功能更改组(事件) { var ColN=14;//N的列号 var

我有一个googlesheet,a-p列。B列(组)是一个下拉列表,N列(执行状态)是一个下拉列表。我正在尝试根据我在“执行状态”下拉列表中选择的值,在单元格中为组自动设置特定值

例如: 组在下拉列表中具有以下值:

显影剂 质量保证 一级支助 二级支持

“执行状态”在下拉列表中具有以下值:

通过 失败 未执行 封锁

以下是我希望发生的事情: 如果我选择失败作为执行状态,我希望组自动更改为DEVELOPER

以下是我的功能:

功能更改组(事件)
{
var ColN=14;//N的列号
var changedRange=event.source.getActiveRange();
if(changedRange.getColumn()==ColN)
{
//在第N列中进行了编辑
var state=changedRange.getValue();
var Group=event.source.getActiveSheet().getRange(changedRange.getRow(),ColN-12);
开关(状态)
{
案例“失败”:
//从下拉列表中选择开发人员
setValue集团(“开发商”);
打破
}
}

}
数据验证规则区分大小写字母。我想这可能是你问题的原因。因此,如果数据验证规则的值是大写字母的
DEVELOPER
,请按如下方式使用

Group.setValue("DEVELOPER");
if (changedRange.getColumn() == ColN && changedRange.getSheet().getSheetName() == "Sheet1")
注:
  • 在您的脚本中,我认为可以使用简单触发器的OnEdit事件触发器。但是从您的脚本来看,您似乎正在使用可安装的事件触发器。因此,请再次确认
    changeGroup
    功能是否安装为可安装的OneEdit事件触发器
  • 顺便说一下,如果要为特定工作表运行脚本,请修改
    if(changedRange.getColumn()==ColN)
    ,如下所示

    Group.setValue("DEVELOPER");
    
    if (changedRange.getColumn() == ColN && changedRange.getSheet().getSheetName() == "Sheet1")
    
参考资料:
如果我误解了你的问题,而这不是你想要的方向,我道歉

补充: 在您的情况下,也可以使用简单触发器。那么测试下面的脚本怎么样?使用此脚本时,请复制并粘贴以下脚本。然后,请更改“N”列的下拉列表


function onEdit(event)/@April感谢您的回复。给您带来不便,我深表歉意。我认为从您的脚本来看,您正在使用可安装的OnEdit事件触发器。关于这一点,我的理解正确吗?你的建议奏效了。我将第一行从function changeGroup(event)更改为function onEdit(event)@April在您的情况下,简单触发器也可以如上所述使用。所以我又添加了一个修改过的脚本。你能确认一下吗?谢谢你的帮助。修改后的脚本工作正常。谢谢你让我知道。我很高兴你的问题解决了。如果您的问题已解决,请按“接受”按钮。与您有相同问题的其他人也可以将您的问题作为可以解决的问题。我认为你的问题和解决方案对他们会有帮助。如果你找不到按钮,尽管告诉我。