数据源不在一张工作表,你让我怎样创建二级下拉清单?

动手操作是熟练掌握EXCEL的最快捷途径!

我曾经向大家介绍过如何创建二级下拉菜单,但那是数据源都是在同一张工作表中的,制作过程也非常简单。

如果数据源是在不同的工作表中,比如像下面这样,四大名著的人物清单分别在不同的工作表中。我们在同一工作簿中插入一张名为“查询”的工作表,并在中建立分别对应四大名著的人物下拉清单呢。

01

首先,我们定义名称“著作”,在引用位置输入“=REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1)),“”)&T(NOW())”。

请注意,GET.WORKBOOK是宏表函数,只能在名称中使用,不能输入到单元格中。当参数为1时,返回工作簿内所有工作表名的水平数组。

这里利用REPLACE+FIND函数组合,首选查找“]”的位置,在用REPLACE函数将“]”位置之前的所有字符都用空格替代,就得到了工作表名称。

02

在“查询”表的E1单元格中输入“=IF(ROW()>COLUMNS(著作)-1,"",INDEX(著作,ROW()))”并向下拖曳,直至可以显示所有工作表名称时为准。

03

单击单元格C3,打开“数据验证”对话框,切换到“设置”选项卡,在“允许”下拉列表中选择“序列”选项,在“来源”对话框中输入“=OFFSET($F$1,,,COLUMNS(著作)-1)”

确定后完成设置,如下图。

04

定义名称“人物清单”,在引用位置文本框中输入"=INDIRECT(查询!$C$3&"!A2:A"&COUNTA(INDIRECT(查询!$C$3&"!A:A")))"。

单击单元格D3,重复步骤3,设置数据验证。在“来源”对话框中输入“=人物清单”。

05

-END-

(0)

相关推荐