系统下载、安装、激活,就到系统天地来!

所在位置: 首页 — 系统文章 — office教程

Excel如何制作可动态查询的考勤表?

作者:系统天地 日期:2018-09-01

Excel如何制作可动态查询的考勤表?

 

今天要介绍动态查询考勤表的方法,效果如下:

选择不同的月份,就会生成不同月份的考勤表

 

Excel如何制作可动态查询的考勤表?

 

是不是觉得很“高级”,其实做法不并难。跟高顿君一起做吧。

第1步:在B3单元格中设置下拉菜单,显示月份。(和工作表名称一致)

数据验证(有效性) - 允许 - 序列,在文本框中输入1月,2月,3月,4月,5月,6月,7月,8月 (英文逗号分隔)

 

Excel如何制作可动态查询的考勤表?

 

第2步:在单元格D4中设置公式并复制到其他单元格中

 

Excel如何制作可动态查询的考勤表?

 

考勤表的查询最关键就是这个查询公式:

=INDIRECT($B$3&"!"&ADDRESS(ROW(D3),COLUMN(D3)))

 

公式说明:

  • ROW(D3),COLUMN(D3) :Row取得单元格所在行数,Column函数到得单元格所在列数。使用这两个函数的目的是在公式复制时可以返回动态的行号和列数。

  • ADDRESS:可以根据行号和列数返回单元格地址,如Address(3,3) 返回第3行第3列的地址$C$3

  • ($B$3&"!"& :用单元格B3(工作表名称)连接后面的地址,正好可以根据选取不同的工作表名称,生成对应的工作表地址。如B3的值为1月,那么会返回 1月!$D$3

  •  

Excel如何制作可动态查询的考勤表?

 

  • INDIRECT:用&连接成的引用地址只是字符串,无法取得单元格的值,这时用indirect函数可以从字符串地址中取得值。

Excel如何制作可动态查询的考勤表?

 

高顿君:其实完成动态查询就是 下拉菜单 + Indirect公式,而难点在后者。这个查询功能适合于所有类型表格,所以同学们一定要掌握这个Excel技能。