【发布时间】:2015-11-26 07:31:34
【问题描述】:
我正在为创建动态下拉列表的 Google 电子表格构建一个脚本。这是用 JavaScript 编写的,但这是我工作过的第一个,需要一些逻辑方面的帮助。
代码有效,但现在我想要的是让 B 列和 C 列依赖于 A 列中选择的类别。
下面的脚本分为三个级别:主类别、子组(依赖于主类)和子子组(依赖于子组)。
所以在我的例子中,我为多个属性标记视频内容。所以主要类别可能是“音频”,我想为同一子组中的两个项目标记它。
基本上,如何使用下面的脚本使 B 列和 C 列仅依赖于 A 列的选择?
我很确定我需要在这里调整一些东西:aColumn + 1);
function depDrop_(range, sourceRange){
var rule = SpreadsheetApp.newDataValidation().requireValueInRange(sourceRange, true).build();
range.setDataValidation(rule);
}
function onEdit (){
var aCell = SpreadsheetApp.getActiveSheet().getActiveCell();
var aColumn = aCell.getColumn();
if (aColumn == 1 && SpreadsheetApp.getActiveSheet()){
var range = SpreadsheetApp.getActiveSheet().getRange(aCell.getRow(), aColumn + 1);
var sourceRange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue());
depDrop_(range, sourceRange);
}
else if (aColumn == 2 && SpreadsheetApp.getActiveSheet()){
var range = SpreadsheetApp.getActiveSheet().getRange(aCell.getRow(), aColumn + 1);
var sourceRange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue());
depDrop_(range, sourceRange);
}
}
【问题讨论】:
-
@pnuts - 好点子 - 我正在使用谷歌电子表格,并认为具有高级 Excel 经验的人可能会遇到类似问题并决定编写脚本。
标签: javascript function google-sheets