我找到了一个指南,该指南可让我根据其他菜单的选择来设置下拉菜单。我发现的方法仅允许我对几个单元格做出选择。如何扩展到更多对线? 我已采取的步骤如下:
=Match(Pers!F3;C1:C;0)
=TRANSPOSE(INDIRECT("D" & B5 & ":K" & B5))
有了前面写的公式,我可以得到一个受前一个条件约束的单元格。如果选择区域,我将仅在该区域中显示我自己的下拉菜单。例如,如果我选择1区,则可以选择纽约,西弗吉尼亚州,弗吉尼亚州。
如果我尝试拖动,我将始终能够选择第一个区域的状态。
我怎么做多行? 谢谢!
答案 0 :(得分:0)
如果您不介意使用脚本,请尝试此操作。下拉列表位于Sheet1上,而Zone和城市数据位于Sheet2上。
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var s=ss.getActiveSheet()
var sheet=e.source.getSheetName()
var target=ss.getSheetByName("Sheet2")
var col=e.range.getColumn()
var ro=e.range.getRow()
if(col==1){
var val=e.range.getValue()
if(sheet=="Sheet1" && val=="Zone1"){
s.getRange(ro,2,1,1).clearContent()//clear cell to update
var cell = s.getRange(ro,2,1,1)//get cell to update
var z1=target.getRange(2,2,1,3)//get cities for Zone1
var rule = SpreadsheetApp.newDataValidation().requireValueInRange(z1)//define the rule
cell.setDataValidation(rule)//set the data validation rule
}
else{//for Zone2
s.getRange(ro,2,1,1).clearContent()
var cell = s.getRange(ro,2,1,1);
var z2=target.getRange(3,2,1,3)
var rule = SpreadsheetApp.newDataValidation().requireValueInRange(z2)
cell.setDataValidation(rule);
}}}
这是我的测试纸,您可以复制并尝试。 https://docs.google.com/spreadsheets/d/1z9Pw8rvFvJNhItqOUaMkmUt8lohwTJKA22GVgPAIfWU/edit?usp=sharing