摘要:利用Excel函数和VBA功能,构建了招标采购相关法规数据模型、数据库以及多功能查询系统,可以实现招标采购相关法规的基本信息、条款、全文、招标方式、时限事项、企业类型、关键字词等多种查询功能,可为招标采购活动的相关参与者提供方便、快捷、实用的法规自主咨询服务,减少或避免违规违法的情况,对维护招标活动的合法性、维护招标采购参与者的正当利益等方面具有积极的指导作用和良好的实用价值。
关键词:Excel函数;招标;法规;系统;开发
中图分类号:TP2 文献标识码: 文章编号:
1 系统概述
本系统是基于Excel函数和VBA功能设计开发,收录了近200个招标投标及政府采购相关法律、规章和制度,可随时添加新法规。系统功能包括基本信息、法规条款、法规全文、招标方式、企业类型、时限事项、关键字词等查询功能,详见表1,系统界面如图1所示。
系统可為招标人、投标人、采购人、供应商、评审专家、代理机构、财政审批监管部门等主体提供方便、快捷、准确的自主法规查询,减少和避免招标采购过程中的违法违规情况。
系统数据为招标采购相关法规,包括综合法规、建设工程、政府采购、产权交易、地矿交易(土地矿产交易)、拍卖交易等六个类型,共180多个,每类不超过100个。兼顾现状与未来,每类预设100个存储单元,共600个。分别赋予系统编号(类型号+序号)1001、1002、1003……1100;2001、2002、2003……2100;3001、3002、3003……3100;4001、4002、4003……4100;5001、5002、5003……5100;6001、6002、6003……6100。
系统查询功能的基础是与之对应的数据库,所以数据库的建立非常关键,必须保证所有数据的正确性和完整性。系统基本结构如图2所示。
系统信息元都是置于某库(表)的某一单元格,查询原理是利用Excel函数和VBA完成“三定”,即确定信息所在库(定表)、信息所在行(定行)、信息所在列(定列)。
2 系统功能的设计与实现
2.1 基本信息查询功能的设计与实现
按类分别建立一个基本信息数据库,各数据库容量为100个法规,信息源于法规全文库,区域域A1:P101。为数据库与查询界面之间建立一个“基本信息查询辅助表”作为桥梁,辅助表中各类法规的名称“粘贴链接”自法规全文数据库对应信息,并放置查询界面的类型选择、名称选择2个控件的单元格链接数,为基本信息查询函数提供查询参数。
控件设置,基本信息查询包括类型选择和名称选择,分别通过一个组合框控件来实现。两个控件的参数设置如表2。法规类型控件确定拟查信息所在的数据库(表),法规名称控件确定拟查信息所在的行号,各信息的列号是固定已知的,这样便可利用INDEX函数查询出每个法规的各个基本信息。
2.2 法规条款查询功能的设计与实现
将原文按名称、题注、第一条、第二条、第三条......分割成信息元,每个信息元占据一个单元格。数据库第一列为条款顺序号,从第四行开始,即第一条、第二条、第三条….第四百二十八条,是法规条款序号选择控件数据源。第一行从第二列开始为系统编号,第二行为法规名称,其数据引用自法规条款查询辅助表,引用函数式为=OFFSET('2.0辅助表'!$A$1:$A$101,COLUMN(A1),0,1,100)。第三行为条款总数统计,分别统计各个法规条款总数,统计函数式为="共"&COUNTA(B$5:B$450)&"条"。其他单元格存放相应的法规条款,以备查询系统调用。每个数据库容纳100个法规(目前最多75个法规),法规条款容量500条(合同法426条,最多),因此数据区域为A1:CW500。
建立“法规条款查询辅助表”,作为数据库和查询界面之间的桥梁,其中各类法规的名称“粘贴链接”(='1.1全文库E'!$B2)自法规全文数据库对应信息,待查法规由类型选择控件决定,并放置查询界面的类型选择、法规选择、条款选择三个控件的单元格链接数,为条款查询函数提供查询参数。设置类型选择、名称选择、条款选择三个控件,各控件参数设置见表3。
2.3 法规全文查询功能的设计与实现
首先建立word版全文库,每个法规一个word文件,文件名与正文标题相同,都是由系统编号+法规名称+文号组成,如“1001-中华人民共和国招标投标法-主席令第21号”。然后将word版全文,逐一复制粘贴到Excel版数据库的法规全文列,库容量为100个法规,数据区域为A1:D101。文件名称列的内容,通过函数=MID(C2,1,FIND("号",C2,1))从法规全文列中提取而来,不需要单独输入,这样既能提高建库速度,也能保证信息的正确性。
下载地址是由地址路径和文件名组成,提供超链接打开或下载word版法规全文。其中路径是通过word “文档信息域-filename” 域产生并“粘贴链接”(=Word.Document.12|'E:\法规查询系统\全文库\全文库基本信息.docx'!'!OLE_LINK3')到辅助表的I6单元格,再利用Excel的left函数(=LEFT($I$6,14))提取而来,将此路径与B列法规文件名连接(=3.0辅助表!$I$7&$B23&".docx")便得到了下载地址,且此路径会跟随文件位置变动自动更新。
建立“3.0辅助表”,作为全文数据库和查询界面之间的桥梁。A-F六列为六类法规的名称信息,是由六个数据库对应的法规名称“粘贴链接”(='1.1全文库E'!B2)而来,每列的第一行由类型编号(1-6)、类型名称、法规数量3个信息构成,构成函数基本关系式为="1-综合法规-"&COUNTA($A$2:$A$101)&"个"。G列2-7行为法规类型集合,是法规类型选择控件的引用数据源,第8行为类型选择控件链接单元格。H列为待查法规列,就是当类型选择控件选择了某个类型后,该类型的法规名称就被引用到此列,等待法规名称选择控件进一步选择要查询的具体法规,引用函数基本关系式为=IF($G$8=1,A2,)&IF($G$8=2,B2,)&IF($G$8=3,C2,)&IF($G$8=4,D2,)&IF($G$8=5,E2,)&IF($G$8=6,F2,)。I列第2行为法规名称选择控件单元格链接,它与类型选择控件单元格链接共同决定拰查法规的系统编号置于I列第4行(=1000*$G$8+$I$2)。
设置控件,全文查询包括类型选择和名称选择,分别由一个组合框控件完成,控件参数设置见表4。
2.4 招标方式查询功能的设计与实现
建立招标方式数据库,包括招标采购方式和适用的情形两个字段,内容摘录于相关法规原文,适用情形字段包括法规名称和相关条款内容。控件设置,招标方式查询利用一个表单控件组合框实现招标方式选择,参数设置见表5。查询结果引用函数=INDEX(4.0招标方式数据库!$A$2:$B$12,4.0招标方式数据库!$A$1,2)。打印原理与条款打印相同。
2.5 时限事项查询功能的设计与实现
招标采购法规中有许多明确“事项时间期限”要求的条款。例如,“政府采购货物和服务招标投标管理办法--财政部令第87号,第六十九条 ...中标公告期限为1个工作日。”时限事项查询子系统,可以根据下拉选择具体时间期限(时、日、月、年等),查询与之相关的招标采购活动事项。
依此时间概念在法规原文中搜索相关的事项,建立时限事项数据库,第1列为事项名称(为事项选择控件提供数据),第2列为时间期限汇总,其他列是对应相关的事项(相关事项1、相关事项2……),最后一列利用统计函数(=COUNTA(D2:W2))统计每个时限对应的事项总数,将此数量引用(函数="共"&INDEX('5.0时限事数据项库'!$W$2:$W$101,'5.0时限事数据项库'!$B$1,1)&"项")显示在查询主页面(相关事项共X项),作为查询参考。
时限事项查询通过2个表单控件组合框分别下拉选择时间期限和相关事项,控件参数设置见表6。查询结果引用函数为=INDEX('5.0数据库'!$C$2:$V$101,'5.0数据库'!$B$1,'5.0据项库'!$A$1)。打印原理与条款打印相同。
2.6 企业类型查询功能的设计与实现
判断标准来自《关于印发中小企业划型标准规定的通知》-工信部联企业〔2011〕300号的规定,根据文中企业划型指标和标准,设计中小企业类型查询界面,其上部为行业选择、指标输入、判断结果输出等区域,下部为引用的划型标准参数。判断原理,首先是行业选择,利用插入的组合框控件来选择行业,参数设置见表7。然后输入指标数值,即可得到判斷结果。
在显示查询结果单元格的下方,设置16个辅助单元格,用于分别判断每个行业的企业类型,再将各个判断结论引用到最终结果显示区域(单元格),各个辅助单元格的判断函数和最终结果显示区域引用函数统计见表8。
界面变色设置,不同行业采用从业人员、营业收入、资产总额三个指标中的一个或两个来衡量判断其是中型、小型还是微型企业。根据行业选择相应的判断指标,利用Excel条件格式功能,为三个指标单元格设置条件格式,当该行业被选中时,与之对应的指标显示为蓝色,否则为灰色,这样就可以突出显示所需输入的指标,方便输入和查询。
2.7 关键字词查询功能的设计与实现
关键字词查询的结果应该包括法规名称、条款编号、条款内容,即某法规第几条。为此,该查询模块的数据单元应该由法规名称和条款组成,采用单列多行格式存储信息元,按此方式构建的话,目前收录的法规共有5000多个信息单元,因此本数据库预设5500行。为了缩小查询范围,得到比较精准的查询结果,关键字词查询采用分步查询的方法,即第1关键字词和第2关键字词查询,通过两个控件来实现。
第1关键字词查询,建立“第1关键字词查询辅助表”,利用函数式=IF(FIND(系统主页!$F$64,'7.0关键字词库'!A1,1)>0,'7.0关键字词库'!A1,"")将数据库中相关数据查询返回到此界面相应单元格,利用函数=-ISERROR(A2)+1对返回的结果进行判断,有内容的输出1,无内容的输出0,对此列求和即为查询结果的条目数,并在界面中显示,调用函数为="共"&7.1第1关键字辅助表!$C$1&"条"。再根据此判断结果排降序,排序后有内容的条目就集中在前面显示,将排序过程录制为“宏1:第1关键字排序”。最后将辅助表的查询结果“粘贴链接”到关键字词查询界面的输出显示窗口。为 “第1关键字查询” 按钮控件指定“宏1:第1关键字排序”,输入第1关键字后点击此按钮,即可显示相关的查询结果。
查询结果去重统计,利用=IF(D2="","0",LEFT(D2,FIND("号",D2,1)))将查询结果的相关法规名称提取出来,然后利用=COUNTIF($E$2:$E$200,F2)函数统计该法规在查询结果中重复的次数,并按照重复次数排降序,就得到到相关法规及其关键字词在其中出现的次数,提供查询参考。
第2关键字词查询,建立“第2关键字词查询辅助表”,将第1关键字查询结果粘贴链接到此表中,第2关键字词查询就在此范围内搜索,查询搜索函数为=IF(FIND(系统主页!$T$64,A2,1)>0,MID(A2,1,1000),""),搜索结果置于相邻单元格,利用函数=-ISERROR(B2)+1对搜索结果进行判断,有内容为1,无内容为0,对此列求和即为搜索的条目数,再依此列数据排降序,这样有内容的单元格就排列在表格的前面了,将排序过程录制为“宏2:第2关键字排序”。为 “第2关键字查询” 按钮控件指定“宏2:第2关键字排序”,输入第2关键字后点击此按钮,即可显示缩小范围后的查询结果。利用打印功能可以将查询的结果打印输出。
3 结束语
为保障系统及数据安全,利用Excel的“保护工作表”和“锁定单元格”等功能,将所有表格及除关键词输入单元格以外的所有单元格全部保护起来,隐藏函数关系式,限制查询者只能查询,不能编辑,但允许调整行高,以方便根据查询结果的多少增减行高,方便浏览查询结果。
本系统是针对招标采购中对法规查询的需求而设计开发的,但其思路和做法也适合其他类似应用情况的应用系统开发,比如医疗系统法规查询、交通运输系统法规查询、单位规章制度查询等等,都具有一定的借鉴和参考价值。
参考文献:
[1] 李如平.EXCEL函数在数据处理与分析中的应用.电脑知识与技术.2015年5月.第11卷第14期.
[2] 周洪林.EXCEL函數高级应用.福建电脑.2009年第2期.
[3] 孙丽山.基于Excel函数_VBA的工资管理系统设计与实现.科技经济导刊.2016.36期.
[4] 钱平生.基于Excel函数实现学生成绩有效管理.软件.2013年第34卷.第6期.
[5] 卢台生.巧用EXCEL函数制作面试评分软件.办公业务室.2013.3
[6] 黄少玲.探析Excel函数在数据处理中的应用.电脑编程技巧与维护.2017.05.
[1]张建民,男,1962年,副教授,硕士,单位:广东石油化工学院自动化学院,研究方向:校园信息化,办公自动化,地址:广东茂名,525000。