【发布时间】:2017-09-20 09:16:02
【问题描述】:
这是场景: 我的 Googlesheet 中的 E 列有一个“是”和“否”的下拉列表。每次用户回答“否”时,我希望 G 列中的相应单元格包含“不适用”字样。但是如果用户回答是,我希望 G 中的那个单元格有另一个是和否的下拉列表。
我尝试在从该线程获得的脚本上进行构建: Google Sheets formula to change a cells value based on another cells value
这几乎是完美的,但我不能让它适用于一个范围(最好是一整列)。任何建议将不胜感激:)
由于我在尝试调整它以供我自己使用时没有取得任何成功,这里是来自上述线程的复制代码:
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var s=ss.getActiveSheet()
var nota=e.range.getA1Notation()
if(nota=="E10"){
var val=e.range.getValue()
if(val=="Levy"){
s.getRange("E11").setDataValidation(null)
s.getRange("E11").setValue("Monthly")
}
else{
s.getRange('E11').clearContent()
var cell = s.getRange('E11');
var rule = SpreadsheetApp.newDataValidation().requireValueInList(['Triannual', 'Quarterly']).build();
cell.setDataValidation(rule);
}}}
这是我的愚蠢尝试:
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var s=ss.getActiveSheet()
var nota=e.range.getA1Notation()
if(nota=="E2:E500"){
var val=e.range.getValue()
if(val=="No"){
s.getRange("G2:G500").setDataValidation(null)
s.getRange("G2:G500").setValue("Not Applicable")
}
else{
s.getRange('G2:G500').clearContent()
var cell = s.getRange('G2:G500');
var rule = SpreadsheetApp.newDataValidation().requireValueInList(['Yes','No']).build();
cell.setDataValidation(rule);
}}}
【问题讨论】:
-
贴出你的代码,这样帮助会更容易
-
我实际上并没有通过编辑从另一个线程获得的脚本得到任何改进,所以我只是将它按原样添加到我的原始帖子中:)
-
发布您尝试过的代码,而不是您引用的代码。
-
万一你还不能说,我是个菜鸟。我只是去替换我理解的那些,在这种情况下,它们只是双引号和单元格引用中的文本:|。稍后我会添加我的“调整”,供您参考
标签: google-apps-script google-sheets