摘要:利用Excel函數(shù)和VBA功能,構(gòu)建了招標(biāo)采購相關(guān)法規(guī)數(shù)據(jù)模型、數(shù)據(jù)庫以及多功能查詢系統(tǒng),可以實(shí)現(xiàn)招標(biāo)采購相關(guān)法規(guī)的基本信息、條款、全文、招標(biāo)方式、時(shí)限事項(xiàng)、企業(yè)類型、關(guān)鍵字詞等多種查詢功能,可為招標(biāo)采購活動(dòng)的相關(guān)參與者提供方便、快捷、實(shí)用的法規(guī)自主咨詢服務(wù),減少或避免違規(guī)違法的情況,對(duì)維護(hù)招標(biāo)活動(dòng)的合法性、維護(hù)招標(biāo)采購參與者的正當(dāng)利益等方面具有積極的指導(dǎo)作用和良好的實(shí)用價(jià)值。
關(guān)鍵詞:Excel函數(shù);招標(biāo);法規(guī);系統(tǒng);開發(fā)
中圖分類號(hào):TP2?????????????????? 文獻(xiàn)標(biāo)識(shí)碼:?????????????? 文章編號(hào):
1 系統(tǒng)概述
本系統(tǒng)是基于Excel函數(shù)和VBA功能設(shè)計(jì)開發(fā),收錄了近200個(gè)招標(biāo)投標(biāo)及政府采購相關(guān)法律、規(guī)章和制度,可隨時(shí)添加新法規(guī)。系統(tǒng)功能包括基本信息、法規(guī)條款、法規(guī)全文、招標(biāo)方式、企業(yè)類型、時(shí)限事項(xiàng)、關(guān)鍵字詞等查詢功能,詳見表1,系統(tǒng)界面如圖1所示。
系統(tǒng)可為招標(biāo)人、投標(biāo)人、采購人、供應(yīng)商、評(píng)審專家、代理機(jī)構(gòu)、財(cái)政審批監(jiān)管部門等主體提供方便、快捷、準(zhǔn)確的自主法規(guī)查詢,減少和避免招標(biāo)采購過程中的違法違規(guī)情況。
系統(tǒng)數(shù)據(jù)為招標(biāo)采購相關(guān)法規(guī),包括綜合法規(guī)、建設(shè)工程、政府采購、產(chǎn)權(quán)交易、地礦交易(土地礦產(chǎn)交易)、拍賣交易等六個(gè)類型,共180多個(gè),每類不超過100個(gè)。兼顧現(xiàn)狀與未來,每類預(yù)設(shè)100個(gè)存儲(chǔ)單元,共600個(gè)。分別賦予系統(tǒng)編號(hào)(類型號(hào)+序號(hào))1001、1002、1003……1100;2001、2002、2003……2100;3001、3002、3003……3100;4001、4002、4003……4100;5001、5002、5003……5100;6001、6002、6003……6100。
系統(tǒng)查詢功能的基礎(chǔ)是與之對(duì)應(yīng)的數(shù)據(jù)庫,所以數(shù)據(jù)庫的建立非常關(guān)鍵,必須保證所有數(shù)據(jù)的正確性和完整性。系統(tǒng)基本結(jié)構(gòu)如圖2所示。
系統(tǒng)信息元都是置于某庫(表)的某一單元格,查詢原理是利用Excel函數(shù)和VBA完成“三定”,即確定信息所在庫(定表)、信息所在行(定行)、信息所在列(定列)。
2 系統(tǒng)功能的設(shè)計(jì)與實(shí)現(xiàn)
2.1 基本信息查詢功能的設(shè)計(jì)與實(shí)現(xiàn)
按類分別建立一個(gè)基本信息數(shù)據(jù)庫,各數(shù)據(jù)庫容量為100個(gè)法規(guī),信息源于法規(guī)全文庫,區(qū)域域A1:P101。為數(shù)據(jù)庫與查詢界面之間建立一個(gè)“基本信息查詢輔助表”作為橋梁,輔助表中各類法規(guī)的名稱“粘貼鏈接”自法規(guī)全文數(shù)據(jù)庫對(duì)應(yīng)信息,并放置查詢界面的類型選擇、名稱選擇2個(gè)控件的單元格鏈接數(shù),為基本信息查詢函數(shù)提供查詢參數(shù)。
控件設(shè)置,基本信息查詢包括類型選擇和名稱選擇,分別通過一個(gè)組合框控件來實(shí)現(xiàn)。兩個(gè)控件的參數(shù)設(shè)置如表2。法規(guī)類型控件確定擬查信息所在的數(shù)據(jù)庫(表),法規(guī)名稱控件確定擬查信息所在的行號(hào),各信息的列號(hào)是固定已知的,這樣便可利用INDEX函數(shù)查詢出每個(gè)法規(guī)的各個(gè)基本信息。
2.2 法規(guī)條款查詢功能的設(shè)計(jì)與實(shí)現(xiàn)
將原文按名稱、題注、第一條、第二條、第三條......分割成信息元,每個(gè)信息元占據(jù)一個(gè)單元格。數(shù)據(jù)庫第一列為條款順序號(hào),從第四行開始,即第一條、第二條、第三條….第四百二十八條,是法規(guī)條款序號(hào)選擇控件數(shù)據(jù)源。第一行從第二列開始為系統(tǒng)編號(hào),第二行為法規(guī)名稱,其數(shù)據(jù)引用自法規(guī)條款查詢輔助表,引用函數(shù)式為=OFFSET('2.0輔助表'!$A$1:$A$101,COLUMN(A1),0,1,100)。第三行為條款總數(shù)統(tǒng)計(jì),分別統(tǒng)計(jì)各個(gè)法規(guī)條款總數(shù),統(tǒng)計(jì)函數(shù)式為="共"&COUNTA(B$5:B$450)&"條"。其他單元格存放相應(yīng)的法規(guī)條款,以備查詢系統(tǒng)調(diào)用。每個(gè)數(shù)據(jù)庫容納100個(gè)法規(guī)(目前最多75個(gè)法規(guī)),法規(guī)條款容量500條(合同法426條,最多),因此數(shù)據(jù)區(qū)域?yàn)锳1:CW500。
建立“法規(guī)條款查詢輔助表”,作為數(shù)據(jù)庫和查詢界面之間的橋梁,其中各類法規(guī)的名稱“粘貼鏈接”(='1.1全文庫E'!$B2)自法規(guī)全文數(shù)據(jù)庫對(duì)應(yīng)信息,待查法規(guī)由類型選擇控件決定,并放置查詢界面的類型選擇、法規(guī)選擇、條款選擇三個(gè)控件的單元格鏈接數(shù),為條款查詢函數(shù)提供查詢參數(shù)。設(shè)置類型選擇、名稱選擇、條款選擇三個(gè)控件,各控件參數(shù)設(shè)置見表3。
2.3 法規(guī)全文查詢功能的設(shè)計(jì)與實(shí)現(xiàn)
首先建立word版全文庫,每個(gè)法規(guī)一個(gè)word文件,文件名與正文標(biāo)題相同,都是由系統(tǒng)編號(hào)+法規(guī)名稱+文號(hào)組成,如“1001-中華人民共和國招標(biāo)投標(biāo)法-主席令第21號(hào)”。然后將word版全文,逐一復(fù)制粘貼到Excel版數(shù)據(jù)庫的法規(guī)全文列,庫容量為100個(gè)法規(guī),數(shù)據(jù)區(qū)域?yàn)锳1:D101。文件名稱列的內(nèi)容,通過函數(shù)=MID(C2,1,F(xiàn)IND("號(hào)",C2,1))從法規(guī)全文列中提取而來,不需要單獨(dú)輸入,這樣既能提高建庫速度,也能保證信息的正確性。
下載地址是由地址路徑和文件名組成,提供超鏈接打開或下載word版法規(guī)全文。其中路徑是通過word “文檔信息域-filename” 域產(chǎn)生并“粘貼鏈接”(=Word.Document.12|'E:\法規(guī)查詢系統(tǒng)\全文庫\全文庫基本信息.docx'!'!OLE_LINK3')到輔助表的I6單元格,再利用Excel的left函數(shù)(=LEFT($I$6,14))提取而來,將此路徑與B列法規(guī)文件名連接(=3.0輔助表!$I$7&$B23&".docx")便得到了下載地址,且此路徑會(huì)跟隨文件位置變動(dòng)自動(dòng)更新。
建立“3.0輔助表”,作為全文數(shù)據(jù)庫和查詢界面之間的橋梁。A-F六列為六類法規(guī)的名稱信息,是由六個(gè)數(shù)據(jù)庫對(duì)應(yīng)的法規(guī)名稱“粘貼鏈接”(='1.1全文庫E'!B2)而來,每列的第一行由類型編號(hào)(1-6)、類型名稱、法規(guī)數(shù)量3個(gè)信息構(gòu)成,構(gòu)成函數(shù)基本關(guān)系式為="1-綜合法規(guī)-"&COUNTA($A$2:$A$101)&"個(gè)"。G列2-7行為法規(guī)類型集合,是法規(guī)類型選擇控件的引用數(shù)據(jù)源,第8行為類型選擇控件鏈接單元格。H列為待查法規(guī)列,就是當(dāng)類型選擇控件選擇了某個(gè)類型后,該類型的法規(guī)名稱就被引用到此列,等待法規(guī)名稱選擇控件進(jìn)一步選擇要查詢的具體法規(guī),引用函數(shù)基本關(guān)系式為=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,F(xiàn)2,)。I列第2行為法規(guī)名稱選擇控件單元格鏈接,它與類型選擇控件單元格鏈接共同決定拰查法規(guī)的系統(tǒng)編號(hào)置于I列第4行(=1000*$G$8+$I$2)。
設(shè)置控件,全文查詢包括類型選擇和名稱選擇,分別由一個(gè)組合框控件完成,控件參數(shù)設(shè)置見表4。
2.4 招標(biāo)方式查詢功能的設(shè)計(jì)與實(shí)現(xiàn)
建立招標(biāo)方式數(shù)據(jù)庫,包括招標(biāo)采購方式和適用的情形兩個(gè)字段,內(nèi)容摘錄于相關(guān)法規(guī)原文,適用情形字段包括法規(guī)名稱和相關(guān)條款內(nèi)容??丶O(shè)置,招標(biāo)方式查詢利用一個(gè)表單控件組合框?qū)崿F(xiàn)招標(biāo)方式選擇,參數(shù)設(shè)置見表5。查詢結(jié)果引用函數(shù)=INDEX(4.0招標(biāo)方式數(shù)據(jù)庫!$A$2:$B$12,4.0招標(biāo)方式數(shù)據(jù)庫!$A$1,2)。打印原理與條款打印相同。
2.5 時(shí)限事項(xiàng)查詢功能的設(shè)計(jì)與實(shí)現(xiàn)
招標(biāo)采購法規(guī)中有許多明確“事項(xiàng)時(shí)間期限”要求的條款。例如,“政府采購貨物和服務(wù)招標(biāo)投標(biāo)管理辦法--財(cái)政部令第87號(hào),第六十九條 ...中標(biāo)公告期限為1個(gè)工作日?!睍r(shí)限事項(xiàng)查詢子系統(tǒng),可以根據(jù)下拉選擇具體時(shí)間期限(時(shí)、日、月、年等),查詢與之相關(guān)的招標(biāo)采購活動(dòng)事項(xiàng)。
依此時(shí)間概念在法規(guī)原文中搜索相關(guān)的事項(xiàng),建立時(shí)限事項(xiàng)數(shù)據(jù)庫,第1列為事項(xiàng)名稱(為事項(xiàng)選擇控件提供數(shù)據(jù)),第2列為時(shí)間期限匯總,其他列是對(duì)應(yīng)相關(guān)的事項(xiàng)(相關(guān)事項(xiàng)1、相關(guān)事項(xiàng)2……),最后一列利用統(tǒng)計(jì)函數(shù)(=COUNTA(D2:W2))統(tǒng)計(jì)每個(gè)時(shí)限對(duì)應(yīng)的事項(xiàng)總數(shù),將此數(shù)量引用(函數(shù)="共"&INDEX('5.0時(shí)限事數(shù)據(jù)項(xiàng)庫'!$W$2:$W$101,'5.0時(shí)限事數(shù)據(jù)項(xiàng)庫'!$B$1,1)&"項(xiàng)")顯示在查詢主頁面(相關(guān)事項(xiàng)共X項(xiàng)),作為查詢參考。
時(shí)限事項(xiàng)查詢通過2個(gè)表單控件組合框分別下拉選擇時(shí)間期限和相關(guān)事項(xiàng),控件參數(shù)設(shè)置見表6。查詢結(jié)果引用函數(shù)為=INDEX('5.0數(shù)據(jù)庫'!$C$2:$V$101,'5.0數(shù)據(jù)庫'!$B$1,'5.0據(jù)項(xiàng)庫'!$A$1)。打印原理與條款打印相同。
2.6 企業(yè)類型查詢功能的設(shè)計(jì)與實(shí)現(xiàn)
判斷標(biāo)準(zhǔn)來自《關(guān)于印發(fā)中小企業(yè)劃型標(biāo)準(zhǔn)規(guī)定的通知》-工信部聯(lián)企業(yè)〔2011〕300號(hào)的規(guī)定,根據(jù)文中企業(yè)劃型指標(biāo)和標(biāo)準(zhǔn),設(shè)計(jì)中小企業(yè)類型查詢界面,其上部為行業(yè)選擇、指標(biāo)輸入、判斷結(jié)果輸出等區(qū)域,下部為引用的劃型標(biāo)準(zhǔn)參數(shù)。判斷原理,首先是行業(yè)選擇,利用插入的組合框控件來選擇行業(yè),參數(shù)設(shè)置見表7。然后輸入指標(biāo)數(shù)值,即可得到判斷結(jié)果。
在顯示查詢結(jié)果單元格的下方,設(shè)置16個(gè)輔助單元格,用于分別判斷每個(gè)行業(yè)的企業(yè)類型,再將各個(gè)判斷結(jié)論引用到最終結(jié)果顯示區(qū)域(單元格),各個(gè)輔助單元格的判斷函數(shù)和最終結(jié)果顯示區(qū)域引用函數(shù)統(tǒng)計(jì)見表8。
界面變色設(shè)置,不同行業(yè)采用從業(yè)人員、營業(yè)收入、資產(chǎn)總額三個(gè)指標(biāo)中的一個(gè)或兩個(gè)來衡量判斷其是中型、小型還是微型企業(yè)。根據(jù)行業(yè)選擇相應(yīng)的判斷指標(biāo),利用Excel條件格式功能,為三個(gè)指標(biāo)單元格設(shè)置條件格式,當(dāng)該行業(yè)被選中時(shí),與之對(duì)應(yīng)的指標(biāo)顯示為藍(lán)色,否則為灰色,這樣就可以突出顯示所需輸入的指標(biāo),方便輸入和查詢。
2.7 關(guān)鍵字詞查詢功能的設(shè)計(jì)與實(shí)現(xiàn)
關(guān)鍵字詞查詢的結(jié)果應(yīng)該包括法規(guī)名稱、條款編號(hào)、條款內(nèi)容,即某法規(guī)第幾條。為此,該查詢模塊的數(shù)據(jù)單元應(yīng)該由法規(guī)名稱和條款組成,采用單列多行格式存儲(chǔ)信息元,按此方式構(gòu)建的話,目前收錄的法規(guī)共有5000多個(gè)信息單元,因此本數(shù)據(jù)庫預(yù)設(shè)5500行。為了縮小查詢范圍,得到比較精準(zhǔn)的查詢結(jié)果,關(guān)鍵字詞查詢采用分步查詢的方法,即第1關(guān)鍵字詞和第2關(guān)鍵字詞查詢,通過兩個(gè)控件來實(shí)現(xiàn)。
第1關(guān)鍵字詞查詢,建立“第1關(guān)鍵字詞查詢輔助表”,利用函數(shù)式=IF(FIND(系統(tǒng)主頁!$F$64,'7.0關(guān)鍵字詞庫'!A1,1)>0,'7.0關(guān)鍵字詞庫'!A1,"")將數(shù)據(jù)庫中相關(guān)數(shù)據(jù)查詢返回到此界面相應(yīng)單元格,利用函數(shù)=-ISERROR(A2)+1對(duì)返回的結(jié)果進(jìn)行判斷,有內(nèi)容的輸出1,無內(nèi)容的輸出0,對(duì)此列求和即為查詢結(jié)果的條目數(shù),并在界面中顯示,調(diào)用函數(shù)為="共"&7.1第1關(guān)鍵字輔助表!$C$1&"條"。再根據(jù)此判斷結(jié)果排降序,排序后有內(nèi)容的條目就集中在前面顯示,將排序過程錄制為“宏1:第1關(guān)鍵字排序”。最后將輔助表的查詢結(jié)果“粘貼鏈接”到關(guān)鍵字詞查詢界面的輸出顯示窗口。為 “第1關(guān)鍵字查詢” 按鈕控件指定“宏1:第1關(guān)鍵字排序”,輸入第1關(guān)鍵字后點(diǎn)擊此按鈕,即可顯示相關(guān)的查詢結(jié)果。
查詢結(jié)果去重統(tǒng)計(jì),利用=IF(D2="","0",LEFT(D2,F(xiàn)IND("號(hào)",D2,1)))將查詢結(jié)果的相關(guān)法規(guī)名稱提取出來,然后利用=COUNTIF($E$2:$E$200,F(xiàn)2)函數(shù)統(tǒng)計(jì)該法規(guī)在查詢結(jié)果中重復(fù)的次數(shù),并按照重復(fù)次數(shù)排降序,就得到到相關(guān)法規(guī)及其關(guān)鍵字詞在其中出現(xiàn)的次數(shù),提供查詢參考。
第2關(guān)鍵字詞查詢,建立“第2關(guān)鍵字詞查詢輔助表”,將第1關(guān)鍵字查詢結(jié)果粘貼鏈接到此表中,第2關(guān)鍵字詞查詢就在此范圍內(nèi)搜索,查詢搜索函數(shù)為=IF(FIND(系統(tǒng)主頁!$T$64,A2,1)>0,MID(A2,1,1000),""),搜索結(jié)果置于相鄰單元格,利用函數(shù)=-ISERROR(B2)+1對(duì)搜索結(jié)果進(jìn)行判斷,有內(nèi)容為1,無內(nèi)容為0,對(duì)此列求和即為搜索的條目數(shù),再依此列數(shù)據(jù)排降序,這樣有內(nèi)容的單元格就排列在表格的前面了,將排序過程錄制為“宏2:第2關(guān)鍵字排序”。為 “第2關(guān)鍵字查詢” 按鈕控件指定“宏2:第2關(guān)鍵字排序”,輸入第2關(guān)鍵字后點(diǎn)擊此按鈕,即可顯示縮小范圍后的查詢結(jié)果。利用打印功能可以將查詢的結(jié)果打印輸出。
3 結(jié)束語
為保障系統(tǒng)及數(shù)據(jù)安全,利用Excel的“保護(hù)工作表”和“鎖定單元格”等功能,將所有表格及除關(guān)鍵詞輸入單元格以外的所有單元格全部保護(hù)起來,隱藏函數(shù)關(guān)系式,限制查詢者只能查詢,不能編輯,但允許調(diào)整行高,以方便根據(jù)查詢結(jié)果的多少增減行高,方便瀏覽查詢結(jié)果。
本系統(tǒng)是針對(duì)招標(biāo)采購中對(duì)法規(guī)查詢的需求而設(shè)計(jì)開發(fā)的,但其思路和做法也適合其他類似應(yīng)用情況的應(yīng)用系統(tǒng)開發(fā),比如醫(yī)療系統(tǒng)法規(guī)查詢、交通運(yùn)輸系統(tǒng)法規(guī)查詢、單位規(guī)章制度查詢等等,都具有一定的借鑒和參考價(jià)值。
參考文獻(xiàn):
[1] 李如平.EXCEL函數(shù)在數(shù)據(jù)處理與分析中的應(yīng)用.電腦知識(shí)與技術(shù).2015年5月.第11卷第14期.
[2] 周洪林.EXCEL函數(shù)高級(jí)應(yīng)用.福建電腦.2009年第2期.
[3] 孫麗山.基于Excel函數(shù)_VBA的工資管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).科技經(jīng)濟(jì)導(dǎo)刊.2016.36期.
[4] 錢平生.基于Excel函數(shù)實(shí)現(xiàn)學(xué)生成績有效管理.軟件.2013年第34卷.第6期.
[5] 盧臺(tái)生.巧用EXCEL函數(shù)制作面試評(píng)分軟件.辦公業(yè)務(wù)室.2013.3
[6] 黃少玲.探析Excel函數(shù)在數(shù)據(jù)處理中的應(yīng)用.電腦編程技巧與維護(hù).2017.05.
[1]張建民,男,1962年,副教授,碩士,單位:廣東石油化工學(xué)院自動(dòng)化學(xué)院,研究方向:校園信息化,辦公自動(dòng)化,地址:廣東茂名,525000。