问题和需求
笔者是一名县级纪委案管室的工作人员,2016年度的“一票否决”审查任务达1.22万人次。业务系统每次只能进行一个人名的查询,如此高的审查任务对日常工作带来巨大负担,于是开始思考探索如何用Excel来提升这项工作的效率。目前略有所得,与诸君分享,但有裨益,善莫大焉。
工作任务分析
县级纪委案管室遇到的“一票否决”工作任务,主要有因公因私出国、干部辞职、干部提拔、先进集体和个人表彰以及其他临时性资格审查任务,这其中以先进表彰这项业务的工作量最大。这些审查工作,有些需要审查某个特定时间段的纪律处分记录,有些则需要审查全数据库的处分记录。因此,如何提效必须立足于全库查询。
解决方案概况
基于Win7系统和Excel 2016,利用Excel的“列表”(Table)功能结合index、macth函数实现动态查询,快速定位有处分记录的姓名,将有限的精力聚焦在这部分记录的核实。
具体操作流程
1.导出案管数据库制作基础查询列表。包括但不限于以下要素:案件编码、姓名、单位及职务、出生年月、立案时间、结案时间、涉法行为、违纪行为、党纪处分、政纪处分、其他处理。本表第一行为标题行,其余每行是一条数据记录,全表作为一张列表,称之为“表1”(具体名称可在“公式”选项卡的),为下一步查询时的引用提供便利。创建“列表”的操作详见备注注
2.制作查询界面。以姓名为查询关键字,在基础查询列表中进行查询,反馈各项相关数据。
其中A列用公式生产序号,便于和来函名单匹配,B列用整列复制粘贴的方式输入,E至M列是查询反馈的结果。因用姓名进行查询经常遇到重名,增加N列辅助看重名数。
A2公式如下:
=ROW()-1
E2至M2公式如下:
=IFERROR(INDEX(表1[案件编码],MATCH($B2,表1[姓名],0)),"")
=IFERROR(INDEX(表1[工作单位及职务],MATCH($B2,表1[姓名],0)),"")
=IFERROR(INDEX(表1[立案时间],MATCH($B2,表1[姓名],0)),"")
=IFERROR(INDEX(表1[结案时间],MATCH($B2,表1[姓名],0)),"")
=IFERROR(INDEX(表1[党纪处分],MATCH($B2,表1[姓名],0)),"")
=IFERROR(INDEX(表1[政纪处分],MATCH($B2,表1[姓名],0)),"")
=IFERROR(INDEX(表1[出生年月],MATCH($B2,表1[姓名],0)),"")
=IFERROR(INDEX(表1[违纪行为],MATCH($B2,表1[姓名],0)),"")
=IFERROR(INDEX(表1[涉法行为],MATCH($B2,表1[姓名],0)),"")
N2的公式如下:
=IFERROR(COUNTIF(表1[姓名],B2),"")
3.使用流程。定位到B2,粘贴待审查人员名单,表格将自动扩展数据区域。比如有23人姓名粘贴,则自动扩展数据区域至A2:N24。
注意事项
确保基础数据查询库和待审查人员名单中无空格或其他非中文字符。可考虑在查询表中增加辅助列(Len函数)来验证姓名的字符长度。
如何创建“列表”
选择要包含在表中的单元格区域。单元格可以为空,也可以包含数据。
单击“插入”>“表格”。
提示:键盘快捷方式︰ 按 Ctrl + T 或 Ctrl + L。
请选中表包含标题框。