EXCEL级联下拉框
http://jingyan.baidu.com/article/3c343ff756e0cf0d377963f9.html
在输入一些多级项目时,如果输入前一级内容后,能够自动出现次一级内容,就会减少出错的机会并提高工作效率。
例如我们常用的费用科目有“管理费用”、“经营费用”、“财务费用”,这些属于一级科目,在它们的下面还有二级科目,比如“财务费用”的二级科目就包括“利息支出”、“手续费”等。
如果我们先输入“财务费用”后,希望有一个下拉框能列出只属于它的二级内容以供选择,就会方便很多,这就要用到“级联下拉框”了。
下面介绍制做方法:
第一步:准备工作表
先在一个工作簿中做两个工作表,一个名为“列表”,另一个名为“明细单”。
(提示:这只是一个例子,工作表的名子可以自取,如果放到一个工作表中也可以的)
下面要定义几个“名称”,以便在下拉框中调用。
第二步:定义名称
先定义“一级科目”的名称,选中“列表”中的A1:A4区域,按工具栏上的“插入-名称-定义”.
下面要定义几个“名称”,以便在下拉框中调用。
第二步:定义名称
先定义“一级科目”的名称,选中“列表”中的A1:A4区域,按工具栏上的“插入-名称-定义”.
这时弹出一个对话框,如果与下图的设置一样,直接点“确定”按钮即可。
这样一级科目的名称就定义好了,以后只要引用这个名称,EXCEL就会返回实际的数据区域。
再根据一级科目中的项目,参照上面方法,分别定义它们的二级名称。
定义管理费用二级名称,选中列表的B2:F2区域,按“插入-名称-定义”
再根据一级科目中的项目,参照上面方法,分别定义它们的二级名称。
定义管理费用二级名称,选中列表的B2:F2区域,按“插入-名称-定义”
定义经营费用二级名称,选中“列表”的B3:E3区域,按“插入-名称-定义”
定义财务费用二级名称,选中“列表”的B4:C4区域,按“插入-名称-定义”
这样所有名称都定义好了,下面就可以用“数据有效性”来添加下拉框了。
第三步:添加数据有效性
打开“明细单”工作表,选中B5:B7区域,按工具栏上的“数据-有效性”
第三步:添加数据有效性
打开“明细单”工作表,选中B5:B7区域,按工具栏上的“数据-有效性”
这时会弹出“数据有效性”对话框,在“设置”选项卡中按下图设置。
其中“来源”框中就是我们在上面定义的“一级科目”名称。
(注意:“来源”框中的等号一定要在英文状态下输入)
点“确定”后,一级科目的有效性下拉框设置完毕,下面再设置二级科目的下拉框,也就是我们在文章开头说的“级联下拉框”。
步骤类似,选中“明细单”的C5:C7区域,按“数据-有效性”,并按下面图片设置。
(注意:“来源”框中的等号一定要在英文状态下输入)
点“确定”后,一级科目的有效性下拉框设置完毕,下面再设置二级科目的下拉框,也就是我们在文章开头说的“级联下拉框”。
步骤类似,选中“明细单”的C5:C7区域,按“数据-有效性”,并按下面图片设置。
细心的朋友会发现,“来源”框中输入的并不是定义的二级科目名称,而是一个公式。
公式:=INDIRECT(B5)
公式含义:根据B5单元格中的内容,决定应用哪个二级科目名称。
这个公式中用到了INDIRECT函数,它的作用是返回由文本字符串指定的引用,其中括号中的B5就是它的引用字符串所在单元格。
比如B5单元格中的内容是“管理费用”,公式返回的结果就是“=管理费用”,就会在下拉框中应用上面定义的“管理费用”名称;如果B5单元格中的内容是“财务费用”,公式返回的结果就是“=财务费用”,就会在下拉框中应用上面定义的“财务费用”名称。
对话框设置完成后按“确定”按钮,这时会弹出下面一个“错误”对话框:
公式:=INDIRECT(B5)
公式含义:根据B5单元格中的内容,决定应用哪个二级科目名称。
这个公式中用到了INDIRECT函数,它的作用是返回由文本字符串指定的引用,其中括号中的B5就是它的引用字符串所在单元格。
比如B5单元格中的内容是“管理费用”,公式返回的结果就是“=管理费用”,就会在下拉框中应用上面定义的“管理费用”名称;如果B5单元格中的内容是“财务费用”,公式返回的结果就是“=财务费用”,就会在下拉框中应用上面定义的“财务费用”名称。
对话框设置完成后按“确定”按钮,这时会弹出下面一个“错误”对话框:
不用理会,直接点“是”即可。
第四步:使用
所有的设置完成后就可以使用了,点击“明细单”工作表的B5格就会出现一个向下的三角按钮,点这个按钮就会出现一个下拉框,从中可以选择一级科目。
再点C5格,同样也出现按钮,也有一个下拉框,这个下拉框中的内容会根据前一个下拉框的不同而改变。
第四步:使用
所有的设置完成后就可以使用了,点击“明细单”工作表的B5格就会出现一个向下的三角按钮,点这个按钮就会出现一个下拉框,从中可以选择一级科目。
再点C5格,同样也出现按钮,也有一个下拉框,这个下拉框中的内容会根据前一个下拉框的不同而改变。