数据源不在一张工作表,你让我怎样创建二级下拉清单?
动手操作是熟练掌握EXCEL的最快捷途径!
我曾经向大家介绍过如何创建二级下拉菜单,但那是数据源都是在同一张工作表中的,制作过程也非常简单。
如果数据源是在不同的工作表中,比如像下面这样,四大名著的人物清单分别在不同的工作表中。我们在同一工作簿中插入一张名为“查询”的工作表,并在中建立分别对应四大名著的人物下拉清单呢。
首先,我们定义名称“著作”,在引用位置输入“=REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1)),“”)&T(NOW())”。
请注意,GET.WORKBOOK是宏表函数,只能在名称中使用,不能输入到单元格中。当参数为1时,返回工作簿内所有工作表名的水平数组。
这里利用REPLACE+FIND函数组合,首选查找“]”的位置,在用REPLACE函数将“]”位置之前的所有字符都用空格替代,就得到了工作表名称。
在“查询”表的E1单元格中输入“=IF(ROW()>COLUMNS(著作)-1,"",INDEX(著作,ROW()))”并向下拖曳,直至可以显示所有工作表名称时为准。
单击单元格C3,打开“数据验证”对话框,切换到“设置”选项卡,在“允许”下拉列表中选择“序列”选项,在“来源”对话框中输入“=OFFSET($F$1,,,COLUMNS(著作)-1)”
确定后完成设置,如下图。
定义名称“人物清单”,在引用位置文本框中输入"=INDIRECT(查询!$C$3&"!A2:A"&COUNTA(INDIRECT(查询!$C$3&"!A:A")))"。
单击单元格D3,重复步骤3,设置数据验证。在“来源”对话框中输入“=人物清单”。
-END-
赞 (0)