目前,在项目管理中对纸质文件进行管理时,采用的主要方法就是分门别类地将文件放入不同的档案盒,并对档案盒进行排序,这就造成了有的档案盒只有一两份文件,有的档案盒有几百份文件甚至一个档案盒都放不下的情况。以某建设项目工程部文件为例,进度计划可能只有十几份文件,占了档案盒不到1/3的空间,而由于施工方案的内容多,1个档案盒只能放下十几份方案,那么就会存在把剩余方案放入进度计划的档案盒里的情况,这无疑是增加了后期查阅文件的困难程度,该问题有待解决。
从对文件进行分类入手,分类可以根据不同的部门、不同的文件类别以及不同的文件作用对文件进行分类,值得注意的是,由于是使用基础的Excel函数建立的电子信息仓库(以下简称“仓库”),分类越细化,工作量就越大。因此,分类以2级~3级目录为宜。
第一步是建立一级目录索引和一级文件夹,随着工作的不断推进,建立的一级目录的数量越来越多,在后期查找时会很不方便,于是笔者想到利用Excel的特定函数对两者进行链接,即HYPERLINK函数;同时为了方便逐级向下查找时,在查找页面可以显示适量内容,还用到了SMALL、INDEX、IF、VLOOKUP、MATCH以及ROW等函数进行匹配和辅助;同时为了对表格进行修饰,还用到了IFERROR函数。
为了做到逐级查找,还需要建立1个辅助工作表,并在该工作表中定义多个名称,定义名称的数量为1+1级目录名称数量+2级非重复子目录数量+3级非重复子目录数量+……+n级子目录名称数量。
综上所述,建立仓库需要具备以下条件:1)总文件台账工作表。2)用以搜索文件的工作表。3)名称管理工作表。4)与台账一一对应的文件夹及文件。
由于涉及的函数较多,因此该文采用表格对函数进行汇总,见表1。需要注意的是,在建立电子信息仓库时,多数情况是对函数进行组合使用,因此,为了使读者便于理解,笔者先从单一函数开始介绍,然后再对组合函数进行介绍。
表1 函数汇总表 下载原表
该函数是实现原文件与特定信息进行链接的关键函数,与“超链接”相似,其参数是link_location(链接位置)及friendly_name(显示文本)。
链接位置可以是1个单元格、1个工作表、1工作簿、1个外部文件(夹)或者1个网页;显示文本是使用者想要表达的信息,例如在某一单元格中(假设为A1)输入:=HYPERLINK(“#C1”,”施工方案”),按下回车键后,C1单元格即处于选中状态,如图1所示。
该函数是建立仓库的关键函数之一,是根据特定的要求来搜索使用者想要的结果,可以是单个要求或多个要求,其参数是lookup_value(要查找的值,可为数值、引用或文本字符串)、table_array(要查找的区域)、col_index_num(返回数据在查找区域的第几列数,为正整数)以及range_lookup(精确匹配/近似匹配,FALSE(或0)/TRUE(或1或不填))[2]。
该函数作为使用最广泛的函数之一,其使用难度相对适中。由于对初学者来说该函数的参数相对较多、内容相对晦涩,因此该文只做实例演示,例如在某一单元格中(假设为I5)输入:=VLOOKUP(H5,$A$2:$F$12,6,0),按下回车键后,I5单元格的数据即为H5单元格的内容在左侧表格中所对应的数据,对I6、I7以及I8单元格进行快速填充后,就可以出现相应的数据,如图2所示。
虽然该函数应用广泛,但是操作起来较为烦琐,该文推荐更为方便的XLOOKUP函数,XLOOKUP函数仅可以在MICROSOFT 365版本的Excel中使用。
该函数是建立仓库的关键函数之一,其作用是确定列表中某个数据的位置,与VLOOKUP函数相比,该函数比较容易理解,其参数是lookup_value(需要查找的值,可以为值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用)、lookup_array(要搜索的单元格区域)以及match_type(可选参数:如果填写参数-1,那么就返回大于或等于需要查找的值的最小值;如果填写0,那么就返回等于需要查找的值的第一个值;如果填写1或不填,那么就返回小于或等于需要查找的值的最大值)[3]。
需要注意的是,在输入match_type参数时,必须要根据不同参数的要求进行排序:如果输入1或不填,那么必须要对搜索的单元格区域中参数的值进行升序排列;如果输入-1,那么必须要对搜索的单元格区域中参数的值进行降序排列;如果输入0,则无排序要求。该参数也是该函数中最重要的参数。例如在某一单元格中(假设为D1)依次输入:=MATCH(80,B2:B10,0),=MATCH(80,B2:B10,1)和=MATCH(80,B2:B10,-1),依次按下回车键后,D2单元格的数据即为满足要求的数据所在的行数,如图3所示。
上述内容均为单一函数,与组合函数相比,单一函数更容易学习、操作,接下来就是对函数进行组合,从而达到期望的目标。
建立仓库主要使用到2种组合函数。
该组合函数是显示使用者想要查找的最后一级子目录的文件序列,函数如下。
=IFERROR(INDEX(文件总目录!I:I,SMALL(IF(文件总目录!C$2:C$2573&文件总目录!G$2:G$2573=文件查询!A$2&文件查询!C$2,ROW(文件总目录!$2:$2573),4^12),ROW(A2)))&"","")
从内到外依次是ROW、IF、SMALL、INDEX以及IFERROR函数,ROW函数对文件总台账进行从上到下的排序;IF函数在排好的序列中对要查找的文件进行定位;SMALL函数对非查找的文件进行删除,仅留下想要查找的文件所在子目录的文件序列;INDEX函数对查找出的文件序列进行显示;IFFERROR函数删除错误值。
该组合函数是为所有根据上一组合函数(查找定位函数)而返回的文件序列添加超链接,将其超链接至文件总台账的相应单元格,函数如下。
=IFERROR(HYPERLINK("#文件总目录!J"&MATCH(VLOOKUP($A$2&D3,IF({1,0},文件总目录!$C$2:$C$3089&文件总目录!$I$2:$I$3089,文件总目录!$J$2:$J$3089),2,0),文件总目录!J:J,),VLOOKUP($A$2&D3,IF({1,0},文件总目录!$C$2:$C$3089&文件总目录!$I$2:$I$3089,文件总目录!$J$2:$J$3089),2,0)),"")
从内到外依次是IF、VLOOKUP、MATCH、HYPERLINK以及IFERROR函数,IF函数将上一组合函数返回的文件序列与某一子目录进行合并,保证文件查找的唯一性;VLOOKUP函数对文件所对应的编号进行匹配;MATCH函数对查找的编号进行行号确定;HYPERLINK函数给返回的行号添加超链接;IFFERROR函数删除错误值。
定义名称的目的是为了便于在上千个文件的总台账中逐级选择子目录,从而对文件进行查找。
定义名称需要新建1个工作表,把所有目录名称编辑在第一行,然后根据目录级别,以列的方式进行编辑,见表2。
表2为笔者定义的名称(部分),第一行为目录及所有子目录的名称,第一列为一级子目录,第二列~第三列为二级子目录,第四列~第八列为三级子目录,表格完成后,打开“名称管理器(快捷键为Ctrl+F3)”定义名称,弹出对话框后,单击“新建”,根据使用者自己的需要定义名称。方法是在下一个弹出的对话框中填写“名称”及“引用位置”,“名称”填表内第一行内容,“引用位置”填“=工作表名称!$A$2:$A$6”。
该表有多少列,就需要定义多少个名称,需要注意的是,填写“名称”时,必须要与第一行内容一致,不能加减空格,否则在搜索文件时,就不会出现该子目录的名称。
仓库已经建立好,最后且最烦琐的一步就是手动填写文件名称并给文件名称添加外部文件的超链接,为了方便添加超链接,可以以一定的规律(数字序列、字母序列等)为原文件命名。
文件总台账只能以单一单元格进行填写,不能合并,如果对表格的外观有要求,笔者建议在该列前新增一列进行合并,然后再对未合并的一列进行隐藏。
建立该仓库主要是为了方便在项目中后期对全项目生命周期内发生的纸质文件进行查找,从而提高文件检索速率,实现对文件的快速审核及检查。同时也是为了避免内业资料过多地占用空间及时间。
在计算机普遍用于各企事业单位的现在,信息化必是未来的发展方向。
表2 名称定义示例 下载原表
标签:
上一篇: “无名仓库”涉嫌商标侵权管辖权探析
下一篇: 自动化立体仓库货位分配研究