EXCEL级联下拉框

http://jingyan.baidu.com/article/3c343ff756e0cf0d377963f9.html

在输入一些多级项目时,如果输入前一级内容后,能够自动出现次一级内容,就会减少出错的机会并提高工作效率。

例如我们常用的费用科目有“管理费用”、“经营费用”、“财务费用”,这些属于一级科目,在它们的下面还有二级科目,比如“财务费用”的二级科目就包括“利息支出”、“手续费”等。

如果我们先输入“财务费用”后,希望有一个下拉框能列出只属于它的二级内容以供选择,就会方便很多,这就要用到“级联下拉框”了。

下面介绍制做方法:

第一步:准备工作表
先在一个工作簿中做两个工作表,一个名为“列表”,另一个名为“明细单”。

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

EXCEL(1)级联下拉框的更多相关文章

  1. C# ,数据导出到带有级联下拉框的模板(一,模板的级联功能)

    一.首先解决如何做模板中增加级联功能 1,首先打开一个新的Excel文件,新增sheet,把分类保存在里面,如下图所示 2.回到sheet1,选中要增加下拉框的行(注意:请排除首行,首行是标题) 3. ...

  2. struts-hibernate-ajax完成区县和街道级联下拉框功能(二补充使用json解析list结果集,ajax循环json层级处理)

    针对<struts-hibernate-ajax完成区县和街道级联下拉框功能>进行补充,上一篇中,要在action中拼接JSON格式字符串,很容易手抖.直接用json处理一下转成json格 ...

  3. jQuery无限级联下拉框插件

    自己编写jQuery插件 之 无限级联下拉框   因为是级联,所以数据必须是树型结构的,我这里的测试数据如下: 看下效果图: 1.>图一: 2.>图二: 3.>图三: 由图可知,下拉 ...

  4. JQuery和ASP.NET分别实现级联下拉框效果

    在学习JQuery之前知道下拉框的级联效果可以通过asp.net控件实现,现在学习了JQuery,知道了JQuery和select也能实现.我分别举两个小例子说明这两种方法如何实现. 1.用JQuer ...

  5. js基于json的级联下拉框

    级联下拉列表是项目中常用到的.比如省市县,比如企业性质等,做成一个js通用组件, 在静态页出来后可以直接插入,将数据和html静态页做一个解耦. 贴出来抛砖引玉吧. /** * @author sun ...

  6. JS级联下拉框

    //Ajax级联获取SDKfunction GetDropDownList(parent_ddlID, fill_dllID, url, param) {    this.pId = parent_d ...

  7. 自动补齐flexselect+级联下拉框案例

    在开发web应用时,经常遇到类似省市区级联下拉框操作,即选中省份自动级联加载该省份所有的市,选中市自动级联加载该市所有的区:假设省市区的数据量很大,此时用户想选中某市,因而要从上往下查找,可能半天都找 ...

  8. EXCEL设置三级下拉框

    EXCEL设置三级下拉框 1.添加下拉框数据源 公式--->指定 公式--->名称管理器 2.设置第一级下拉框的值 3.第一级下拉框选出一个值 4.设置第二级下拉框(INDIRECT($A ...

  9. POI设置excel添加列下拉框

    POI在生成excel模板时需要为列添加下拉框,我写了两个方法. @ 方法一:适用任何情况,不受下拉框值数量限制.但是需要通过引用其它列值. 思路大概如下: 1.创建一个隐藏的sheet页,用于存放下 ...

随机推荐

  1. Mysql中联合索引的最左匹配原则

    在Mysql建立多列索引(联合索引)有最左前缀的原则,即最左优先. 如果我们建立了一个2列的联合索引(col1,col2),实际上已经建立了两个联合索引(col1).(col1,col2); 如果有一 ...

  2. Cs231n课堂内容记录-Lecture 4-Part2 神经网络

    Lecture 7 神经网络二 课程内容记录:https://zhuanlan.zhihu.com/p/21560667?refer=intelligentunit 1.协方差矩阵: 协方差(Cova ...

  3. qt 打包发布 获取dll

    发布前,获取所有qt dll包命令 生成的程序运行正常之后,找到项目的生成目录,比如 项目源码路径: C:\QtPros\hellomw\它的项目生成目录是C:\QtPros\build-hellom ...

  4. 解决Error response from daemon: Get https://registry-1.docker.io/v2/library/hello-world/manifests/

    https://blog.csdn.net/quanqxj/article/details/79479943

  5. java中 & ^ ~ 的运算

    java运算符 与(&).非(~).或(|).异或(^)   最近看HashMap源码,遇到了这样一段代码: 1 static final int hash(Object key) { 2 i ...

  6. WEB框架-Django组件学习-分页器学习

    1.分页器基础学习 1.1 补充知识-批量创建 数据库中数据批量创建,不要每创建一个就往数据库中塞一个,会造成撞库,造成大量I/O操作,速速较慢,应该采用一次性创建大量数据,一次性将大量数据塞入到数据 ...

  7. 【vue】项目目录结构及使用多的知识点

    项目目录: Node_modules/npm安装的该项目的依赖库 vuex/文件夹存放的是和 Vuex store 相关的东西(state对象,actions,mutations) router/文件 ...

  8. mysql分割逗号办法

    https://blog.csdn.net/xcymorningsun/article/details/73436568

  9. Codeforces Global Round 2 Solution

    这场题目设置有点问题啊,难度:Div.2 A->Div.2 B->Div.2 D->Div.2 C->Div.2 D->Div.1 D-> Div.1 E-> ...

  10. [Oracle维护工程师手记]Data Guard Broker中改属性是否需要两侧分别执行?

    Data Guard Broker中改属性是否需要两侧分别执行? Data Guard Broker有一些属性,可以通过 show configuration 看到.我有时会想,这些个属性,是否是分别 ...