2015-08-24 41 views
0

我有一个带有选项卡«客户端»(列A:客户端名称)和选项卡«项目»的Google表格文档(列A:项目名称,列B:客户名称(带数据验证的选择列表))。然后,我有一个Google表单,我想要显示2个选择列表:客户端和项目,但第二个列表(项目)必须更新,当客户端被选中时只显示选定客户端的项目...我怎么能去做??谷歌表单中链接的选择列表连接到Google表格

回答

0

要创建一个链接的列表,你可以按照下一个方法(在这个例子中,我将介绍如何创建一个电子表格中的列表):

  1. 创建一个新的工作表;在一列中列出客户名称,在第二列列出客户的所有项目(每个项目使用一行)
  2. 为每个客户创建一个命名范围,并为所有项目选择范围匹配客户的名字。
  3. 最后,在包含Data Validation的单元格中声明一个列表作为列表,并包含所有客户端的名称。
  4. 在您的代码中,您要检查列表中的值>使用该值查找指定范围>根据范围列表中的值创建新列表。

    `函数onEdit(){

    变种aSheet = SpreadsheetApp.getActiveSheet(); var aCell = aSheet.getActiveCell(); var aColumn = aCell.getColumn();

    //验证我编辑的客户 的列表中,如果(将aColumn == 4){// 查找在何处显示项目的列表 VAR范围= aSheet.getRange(aCell.getRow(),将aColumn + 1 ); //找到类别名称(客户端) var categoryName = aCell.getValue(); //删除空格名称(因为命名范围不能包含特殊字符或空格) categoryName = categoryName.replace(/ \ s/g,''); //根据所选类别确定命名范围 var sourceRange = SpreadsheetApp.getActiveSpreadsheet()。getRangeByName(categoryName); setDataValid_(range,sourceRange); } }

    功能setDataValid_(范围,sourceRange){ VAR规则= SpreadsheetApp.newDataValidation()requireValueInRange(sourceRange,真).build(); range.setDataValidation(rule); }`

我创建了下面的项目,所以你可以看看它是如何工作的: https://docs.google.com/spreadsheets/d/1gUZ-mxwjaiKoc0KcZo8UnFglvyWsC1vpoT6XOLftZDA/edit?usp=sharing

+0

好吧,但我想在我的谷歌表格显示2名选择列表...怎么样? –