Excel工具(精选8篇)
Excel工具 第1篇
3A2班的入学英语成绩如下:
本文以对该班学生的成绩进行分析为例,讲述如何对成绩的总分进行描述统计并作出直方图,然后根据得到的数据和图形说明该成绩(总分)分布是否为正态分布。
2. 描述统计工具
常用统计分析术语:对于一组数据,要想获得它们的一些常用统计量,可以使用Excel提供的统计函数来实现。利用Excel提供的描述统计工具,可以给出一组数据的许多常用统计量,包括:平均值、标准差、区域、计数标、准误差、样本方差最大值、中值、峰值、最小值、模式、偏斜度、总和。
得到如下结果:
说明:从峰值和偏斜度都非常接近0这一点可以判断这些数据来自一正态分布总体(或可以说:该总体呈正态分布)。
3. 直方图制作
对于上例中“总分”项的描述统计,用Excel可以非常方便地给出一组数据的直方图。步骤如下:
a.定区间。根据描述统计中“总分”项的最小值和最大值,先确定区间[62.1, 89.1] (组限通常取比数据的精度高一位,以免数据刚好落在端点上) 。这个区间能覆盖[62, 89],否则统计结果会将最小值和最大值排除在外。
b.定组距。将区间[62.1, 89.1]等分为9个小区间,即组距Δ=(89.1-62.1)/9=3。这样各小区间的端点从左至右依次为:
c.输入组限端点。在Excel表格中,把上面这9个表示组限端点的数字输入到区域N2:N11中计算出落在每个小区间内的数据的频数f。结果如下:
d.具体操作步骤。
操作完毕,得到直方图(图1):
4. 结论
由图1可以画出如下分布图形:
该图形说明:3A2班英语成绩分布呈正态分布,测试结果与学生的实际情况一致,各种难度的题型比例设置合理。
摘要:本文以对3A2班学生的入学英语成绩进行分析为例, 讲述如何对成绩的总分进行描述统计并作出直方图。
Excel工具 第2篇
【关键词】excel 户籍管理 应用
高校学生户口具有人数多、密度大、流动频繁、情况复杂等特点。随着高校逐年扩招,学生数量逐年递增,许多综合性高校每年的招生人数可达四五千人,毕业人数也是如此。如此多的学生户籍在迁入、迁出学校的过程中会需要进行大量的数据处理,拥有高效的办公处理方式十分重要。EXCEL是户籍数据承载主体,也是常用办公软件,在日常工作经常使用。但是一般管理人员对其掌握也不是很精通。本文是根据日常工作经验使用EXCEL的几个小技巧提出来供大家参考,帮助提升高校户籍管理工作效率。
一、户籍管理中需要大量简单数据处理
随着经济社会发展,高校的规模不断扩大,截至2015年5月21日,全国高等学校共计2845所,全年研究生教育招生64.5万人,在校研究生191.1万人,毕业生55.2万人。普通本专科招生737.8万人,在校生2625.3万人,毕业生680.9万人。2600多万在校生,再加上教职员工,户籍管理基数庞大。这些数据通常都以excel表格的形式储存与处理,处理方式仅仅是插入、填写、删除、复制、粘贴等等简单操作,但是数据量庞大,再加上数据需求和使用部门对数据要求和口径差异,更加使户籍数据管理工作冗杂。如何高效利用excel,有效提升户籍管理手段成为大家关注的焦点。
二、Contif函数在比对户口迁移表中的使用
在户籍管理中有一类常见情况,从一个表中找出符合某些条件的学生名单,如果采用人工一一核对,效率很低也容易看错,如果运用countif函数可以解决这个问题。
Countif函数是 Excel中对指定区域中符合指定条件的单元格计数的一个函数,该函数的语法规则如下。
countif(range,criteria)
参数range: 要计算其中非空单元格数目的区域
参数criteria :以数字、表达式或文本形式定义的条件
通常它用来对符合条件的数量计数,但是我们可以用它来查重。下面通过一个实例介绍该函数在高校户籍管理管理中的具体用法。
笔者在工作中碰到过一个问题,2016年研究生毕业户口处理中,就业办提供有一份已迁出学生名单,需根据总表找出比对未迁出名单,已迁出名单118人,总名单699人。这是一个数据不是很大的工程,但是如果用传统办法手工一一比对,工作量还是很大的。采用countif函数能很快解决问题。
两个表均包含学院、学号、姓名、身份证、单位名称、所在地区、性别、学历、专业、扩展项这几个项目。由于身份证号码的唯一性我们首先用身份证进行筛选对比,首先我们建立一个新的Excel表格,避免破坏原始数据,第一个工作簿内拷入总表命名为总表,把已迁出表格拷入sheet2命名为已迁出。
使用公式如下:=IF(COUNTIF(已迁出!$D:$D,$D2)=1,"已迁出","未迁出"),这个公式表示如果在总表身份证数据里找已迁出表格里的身份证号码,如果有,则输出“已迁出”,否则“未迁出”。再下拉复制公式,通过这个功能,就可找出重复学生信息。
该函数的程序流程图如下:
由于身份证号码的唯一性,计数的结果为如果查到有一致的则唯一,如果找不到结果为零,这样就可轻松把两个表中重复的学生找出来。再通过排序或者筛选功能找出未迁出的名单以备使用。
为避免出错,还可以用学生的学号作为处理项,进行另外一次处理,两个表进行一次比对,找出异常项,修正,避免表格录入错误导致出错。
三、VLOOKUP函数在比对户口迁移表中的使用
户口管理工作中还有一类非常常见的工作是把一个表格中有的数据合并到另外一个表里。比如一个表里有每个学生的毕业高中学校,另外一个表里没有,如果要一个一个找起来填进去,费时费力还容易错。这时候excel提供的VLOOKUP函数就能提供很大的帮助。
VLOOKUP函数是Excel中的一个纵向查找函数,也是可以在户籍管理中起到很大作用的函数。
该函数的语法规则如下。
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
参数lookup_value:要查找的值,可以是数值、引用或文本字符串
参数table_array:要查找的数值表区域
参数col_index_num:返回数据在查找区域的第几列数
参数range_lookup:模糊匹配/精确匹配 TRUE(或不填)/FALSE
下面我举一个例子来介绍该函数的使用方法。
在处理2016年秋季高校基本情况统计表时,需要在学生基本情况表中补填学生的毕业高中项。这时作为校保卫处管理人员手上有两张表,一张是“学生基本情况表”,一张是各个学院汇总过来的“更新高中”的表,接下来用VLOOKUP函数迅速把“更新高中”表的高中信息插入学生基本情况表中,下面我以我校某籍学生的统计表为例介绍。
首先在“学生基本情况表”的sheet2拷入“更新高中”表并重命名为“更新高中”,在“学生基本情况表”中,新增一列“入学前就读学校”,在第一个个格子里输入公式=VLOOKUP(H4,更新高中!$H$2:$P$322,9,0)。H列储存的是学生的身份证号码,H4表示第一个学生的身份证;更新高中!$H$2:$P$322表示查询区域为“更新高中”表格的第H列到P列第2行到第322行,加上$符号是表示绝对引用,可以使该公式下拉复制时相应行、列号不变,这点非常重要;9,表示输出这个检索区域的第9列,即该学生“入学前就读学校”;0,表示精确匹配,这里必须要写0或者FALSE,由于身份证号很长,如果不填或填了true模糊匹配会造成匹配错误,这点要特别注意。
该函数的程序流程图如图2。
接下来只要把这个表格的公式下拉到所有表格里即可复制公式,快速将学生毕业高中信息填写到《学生基本情况表》中了。为避免出错,还可以用学生的学号作为处理项,进行另外一次处理,两个表进行一次比对,找出异常项,修正,避免表格录入错误导致出错。
总之,Excel是户籍管理的主要工具,其合理有效使用必能大大提高戶籍管理工作效率。本文简单介绍了countif和vlookup函数的使用经验,希望能够给广大高校户籍管理工作者提供一些借鉴与帮助。
【参考文献】
Excel工具 第3篇
VBA要求有一个宿主应用程序才能运行, 而且不能用于创建独立应用程序。而VB可用于创建独立的应用程序。VBA可使常用的过程或者进程自动化, 可以创建自定义的解决方案, 最适用于来定制已有的桌面应用程序。通常意义上的VBA就是在Office中包含着的一种加强Office功能的Basic语言。经过发展, 在Office中, Word、Excel、Access、Power Point四个软件都有了自己的程序设计语言, 通常统一称为VBA (VB for Application) 。本文主要针对Excel中常使用的一些操作等自定义函数提高工作效率。
一、去首尾求平均
函数要求:对区域中的值去除最大值和最小值再计算平均数, 支持多区域。
函数测试:
下图中B列和D列是14个评委对某选手的评分, 在F2单元格中录入以下公式可以
计算选手的最后得分。
=aver (B2:B8, D2:D8)
注意事项:
因计算最后得分前需要去除一个最高分和一个最低分, 那么在计算之前需要确保区域中的单元格不少于3个, 否则直接对结果赋值为0。
二、对区域中混合字符串的所有数字求和
函数要求:对字符与数字混合的字符串提取数字求和
函数代码:
函数测试:
(1) 上图中B列支出表, 由于制表时将产品与金额录入在同一单元格中, 无法采用SUM求和。那么可以使用自定义函数Sum Num
完成:=sumnum (B2:B6)
注意事项:
Evaluate方法计算表达式可以自动去除多余的、重复的运算符。例如以下三种表达式都可以得到相同的计算330。
基于这个特点, 定义函数时将所有非数值相关的字符转换成“+”再参与运算。但如果最后一个字符是“+”将无法计算结果, 所以需要判断最后一个字符是否是“+”, 如果是则连接一个0使其成为一个完整的表达式, 否则保持不变。
参考文献
[1]杨世莹, Excel函数与分析工具, 旗标出版社, 2002
Excel工具 第4篇
仿照上面的操作,一一录制好其它特殊符号的输入“宏”。
2、打开“自定义”对话框,在“工具栏”标签中,单击“新建”按钮,弹出“新建工具栏”对话框,输入名称“专业符号”,确定后,即在工作区中出现一个工具条,
切换到“命令”标签中,选中“类别”下面的“宏”,将“命令”下面的“自定义按钮”项拖到“专业符号”栏上(有多少个特殊符号就拖多少个按钮)。
3、选中其中一个“自定义按钮”,仿照第2个秘技的第1点对它们进行命名。
4、右击某个命名后的按钮,在随后弹出的快捷菜单中,选“指定宏”选项,打开“指定宏”对话框,选中相应的宏(如fuhao1等),确定退出。
重复此步操作,将按钮与相应的宏链接起来。
Excel工具 第5篇
由于基础数据涉及的数据项多达120项以上, 初期数据量几百条, 采集完成后达几千条。为减少汇总的工作量, 我们在设计信息采集模板时, 对各数据项的填写内容进行了规范, 预设了尽可能多的单选项和勾选项, 在整个采集表中加入了数据有效性检验和格式预设, 并随表附注了每一个数据项的填写说明。
1数据库设计
针对基础数据信息量大的特点, 我们使用了可靠性和效率较高的关系型数据库Oracle。根据采集表的结构、数据项顺序以及统计结果要求, 我们在Oracle中设计了基础数据表 (BaseData) 和统计表 (TongJB) 。为了实现多项灵活查询和快速灵活统计, 分别设计了辅助查询表 (CX_HT) 和辅助统计表 (TJ_HT) 。并根据实际统计需要, 设计了统计分组表 (TJ_Group) 、统计数据项和采集值对照表 (TJ_FldData) 、随机统计表 (TJ_SJHT) 等。
2汇总功能设计
在拿到数据后, 需要对数据的完整性进行粗略判断, 对于不合格的关键项, 请信息收集单位补齐或重填。为了使所有采集到的有效数据都能入库, 将所有信息按文本格式全部读入Oracle, 读入时进行判断和过滤, 保障需要数值型的数据项读入的均为数字。在读入过程中, 要对所有勾选项补充其实际值, 并根据参考资料, 自动填入采集单位的信息。过程如图1所示。
在进行功能设计时, 设计了批量读入的功能, 通过增加判断和使用循环, 实现了批量数据的一次性读入, 减少了数据汇总的工作量, 缩短了汇总的时间。
3查询功能设计
为了对汇总信息实现灵活查询, 系统设计了查询辅助表 (CX_HT) , 表中登记了每个需要查询的数据项的显示名称, 对应基础数据表中的字段名称、适用的操作符、可选的值。进行功能设计时, 首选查找并列出本表中登记的查询显示名称, 并以下拉列表的形式列出, 当用户选择了其中某一查询项后, 查询辅助表中此项对应的操作符、可选值就会自动列出, 供用户选择。以此为基础实现了灵活的组合查询功能, 如图2所示。
4信息鉴别维护功能设计
为了使基础数据更准确, 我们在汇总信息列表中, 使用成熟的Delphi控件, 它提供信息维护功能, 更便于人工鉴别和修改基础数据, 进而提高了统计数据的准确性, 功能界面如图3所示。
5综合统计功能设计
统计表的数据项是根据基础数据的采集重点设计的, 此外根据数据采集时规范的预设值和具有参考意义的数值项, 我们设计了按采集单位和各类预设规范值的综合统计表 (TongJB) 。系统设计为可以按任意规范值或采集单位来统计所有的数据项, 并对统计后的各项进行合计。为达此目的, 我们利用统计分组表 (TJ_Group) 列出进行分组统计的显示名称和对应的统计项;用统计方法标识表 (TJ_HT) 来标注不同统计对象和将要执行的不同统计方法;由统计字段与统计值的对照表 (TJ_FldData) , 提供执行分组统计或合计的对象。
在功能实现时, 先列出供用户选择的分组统计方法。当用户选了某一分组统计方式后 (如图选的是当前状态) , 系统根据所选分组, 按对应的统计方法, 在基础数据表中对统计对象进行统计。每完成一次简单统计, 就按统计字段与统计值对照表, 在统计结果表中逐个填写统计数据, 填完后, 再进行下一个简单统计, 多次简单统计累加后, 就完成了类似表1的综合统计。
6随机统计及图表生成
设计随机统计以图表表示为目的, 所以是有限的随机统计。图表以饼图和柱状图为主。为简化程序设计和灵活实现本模块的功能, 我们参照综合统计的功能, 在随机统计表 (TJ_SJHT) 中, 列出了可以执行的统计及对应的图表显示方式。如图4所示。
统计完成后, 使用对象的Copy命令将统计图以图形格式复制到Excel中, 供用户编辑使用。
Excel工具 第6篇
水位和流量要素是防汛抗旱、水资源开发利用及水利水电工程调度运用最重要的水文信息。随着计算机、网络和通讯技术的快速发展, 水位要素已经实现了自动采集、存储和处理, 而流量要素因为影响因素复杂, 信息采集困难成为水情信息化、自动化的难点。EXCEL软件具有强大的数据分析处理、表格和图形绘制功能[1]。通过对湖北省若干水文站长期监测的天然河道、水工建筑物、水电站等不同类型系列流量资料进行相关分析拟合、计算、误差统计和评估[2,3], 优选配置不同的流量模型计算公式, 将流量模型置入水情系统, 水位、电站发电功率等要素实现在线监测, 江河实时流量的计算可全部由计算机自动完成。
1 流量模型率定实例研究
1.1 天然河道水位流量关系率定函数比选
1.1.1 利用EXCEL【规划求解】功能拟合曲线
用数学模型来拟合单一水位流量关系曲线的工作过去作过不少尝试。水文资料整编规范[2]规定:单一曲线法推流, 应结合测站特性, 应用插值法或通过选用适当的数学模型拟合曲线, 用水位推算流量。以万店水文站2010年实测流量资料[4]为例, 说明利用EXCEL【规划求解】功能拟合曲线方法, 成果如表1所示。
利用EXCEL工具点绘的万店水文站水位~流量关系节点点据如图1所示。
通过观察, 水位流量呈幂指数关系, 于是构造函数Z=a Q b+c, 式中:Z为水位;Q为流量;a, b, c为待定系数。
利用EXCEL【规划求解】功能进行曲线拟合步骤如下:首先按照表2形式输入实测水位、流量成果, 在D2~D4列分别输入任意假定的数据;在单元格E2按照公式Z=a Q b+c输入公式“$D2*C2^$3+$D$4”确定并下拉填充至E26;在单元格F2输入公式“= (E2-B2) ^2”填充至F26, 将F2~F26之和存放至单元格F27中。
其次单击EXCEL工具栏中的【加载宏】, 选取【规划求解】, 在“设置目标单元格”编辑框中键入目标单元格的位置 (“$F$27”) 。接下来根据目标函数——水位误差平方和最小的要求, 在“等于”栏选择【最小值】选项, 设置可变单元格。参数a, b, c值是要进行率定的, 故可变单元格应填入a, b, c参数所在的位置“$D$2:$D$4”, 规划求解过程如图2所示。单击【求解】, 则立即显示率定结果, 整个过程就是要求计算满足单元格“$F$27”的值最小时对应的参数a, b, c的值。
单击【求解】按钮并选择【保存规划求解结果】, 将参数a, b, c求解结果代入预先构造函数, 则可写出方程Z=0.277 1Q 0.4287+67.808 3, 将流量作为因变量则数学表达式可写为Q=exp (1/0.428 7*ln ( (Z-67.808 3) /0.277 1) 。利用该方程及表1中实测流量求出相应水位点绘曲线见图1, 可见拟合的关系与实测点据十分吻合。通过“三种检验” (符号、适线和偏离数值检验) 和标准差计算[2], 完全符合水文资料整编规范要求。
1.1.2 利用EXCEL内置图形函数拟合曲线
EXCEL内置图形函数有线性、对数、多项式、乘幂、指数及移动平滑等。将万店水文站2010年实测流量成果分别选择EXCEL内置图形函数不同的线型进行率定, 均不能获得满意的结果, 其中采用三次多项式虽然率定线与实测点据匹配较好, 但因为水位基数大, 水位的指数次方对函数贡献过大, 淹没了有效水位从而使方程不能回归。采用其他内置图形函数拟合的方程也均不能满足“三种检验”的要求, 系统和偶然误差过大, 如表3所示。
在实际工作中, 当采用多项式率定水位~流量关系时, 为避免水位基数过大造成方程不能回归, 可以将观测水位减除断流水位使得成为有效水位, 再率定相关关系, 中高水位曲线拟合较好, 但因为断流水位的推算存在任意性, 故方案不如三参数幂指数方程Z=a Q b+c。
通过以上拟合分析, 对天然河道稳定的水位~流量关系采用三参数指数函数Z=a Q b+c并利用EXCEL【规划求解】功能拟合的方程为最优解。水文测站特性差异性大, 有的站水流关系难以用1条曲线描述, 可以分水位级率定关系。
1.2 水库闸孔出流关系率定
大型水库的溢洪道一般为有闸门控制, 且以弧形门曲线形实用堰最多。由于水库坝体高, 下游水流对水库的出流不会造成淹没影响, 故溢洪道流态多为自由孔流。以弧形门曲线形实用堰自由孔流为例说明出流模型率定方法, 用e, h分别表示溢洪道闸门的开启高度[5]和水头 (库水位减溢洪道堰顶高程) , 当时为自由孔流, 反之为自由堰流[3]。水库在调洪过程中一般将流态控制在孔流状态, 只有当出现大洪水将闸门提出水面敞泻才形成堰流。
自由孔流基本公式为,
式中:Q为流量;µ为流量系数;n为开启孔数;b为闸门净宽。通常是利用实测资料建立闸门相对开启高度与流量系数µ关系。收集先觉庙 (水库) 水文站溢洪道实测孔流流量成果11次, 计算有关参数如表4所示。
当水库遭遇大洪水, 溢洪道闸门开高加大, 或闸门提出水面水库敞泻时, 此时流态为自由堰流, 可采用理论公式计算流量。如果有足够的流量实测资料, 也可率定自由堰流库水位~流量或过坝水深~流量关系建立模型推求流量。
1.3 水电站出流关系率定
水电站流量通用方程为Q=Ns/9.8ηh,
式中:Q为流量;Ns为电功率;h为实测水头, 对冲击式水能机h由库水位减水能机轴中心高程而得;η为包括水能机、发电机、变压器、传动装置和水力效率等在内的合并效率系数[5]。
为建立水电站发电单机功率N与效率系数η相关关系, 按照不同功率级记录开机台数及总功率, 观测库水位, 测定相应发电流量, 计算相应的单机效率系数。在EXCEL表格中点绘N与η相关点据, 可知呈对数关系, 利用EXCEL内置图形函数率定其N与η关系 (采用EXCEL【规划求解】功能拟合流量数学模型与内置图形函数率定结果完全相同) 。三道河站2013年实测电功率与效率系数相关图如图4所示。
根据率定结果可写出效率系数公式:η=0.248*ln (N) -1.042 3, “三种检验”合格, 标准差计算很小, 完全符合水文资料整编规范要求。
2 结语
江河流量的影响因素及其复杂, 在实现水利水文信息化时, 应选择主要影响因素建立相关模型。对不同的流量模型, 有的可以利用EXCEL内置图形函数直接建立关系, 有的则需构造函数利用EXCEL【规划求解】功能求解参数。模型建立后应进行误差统计和评估, 在使用时应注意模型率定的范围, 当天然河道测站控制发生转移、水工建筑物尺寸改变、水电站 (含电力抽水站) 出力发生变化要重新率定新的参数[5]。
摘要:介绍EXCEL【规划求解】功能拟合流量数学模型的操作方法和步骤, 并与EXCEL内置图形函数拟合的流量数学模型进行对比分析, 说明该功能拟合流量数学模型的优越性。分别以天然河道、水库堰闸、水电站实测流量系列资料为实例, 应用该功能拟合不同类型的流量数学模型, 结果表明【规划求解】功能拟合流量数学模型均能满足水文资料整编规范要求。
关键词:流量模型,规划求解,曲线拟合,EXCEL
参考文献
[1]林祚顶.水文现代化与水文新技术[M].北京:中国水利水电出版社, 2008:507-551.
[2]中华人民共和国水利部.SL247-2012水文资料整编规范[S].北京:中国水利水电出版社, 2012:14-27.
[3]水利部水文局.水工建筑物测流[M].北京:中国科学技术出版社, 1994:11.
[4]水利部水文局.中华人民共和国水文年鉴 (第6卷第16册) [M].郑州:黄河水文勘测设计院, 2010:47-50.
Excel工具 第7篇
关键词:Excel,Book—病毒,宏病毒,专杀程序
1 引言
Excel宏表病毒属于Excel宏病毒,具有一定的危害性、易传染、Excel普通用户难清除等特点。时下正流行的Book1病毒,可认为是Excel宏表病毒的典型代表。通用杀毒软件一般不检查此类病毒或直接隔离、删除染毒Excel数据文件,给用户造成不必要的损失;手工逐文件清除病毒费时、费力,效率与效益低。下文尝试论述以Visual Basic6.0作开发工具,开发主要针对Book1病毒的Excel宏表病毒专杀软件。
2 病毒原理及感染特征
Excel宏表病毒通过在Excel工作簿文件中插入隐藏的Microsoft Excel 4.0宏表,向工作簿中定义若干名称,在宏表中写入若干公式,实现向Excel启动文件夹Xlstart中检查或创建其无扩展名母病毒文件,向新工作簿及所打开工作簿复制宏表病毒。Excel宏表病毒利用Excel启动时自动加载Xlstart启动文件夹中文件、Excel 4.0宏表禁止宏运时不打开含宏表的相应工作簿、Excel名称与公式在工作簿打开后自动运算功能,激发自身运行,实现Excel感染与文件感染及自身传播。
计算机感染Excel宏表病毒后,在Program FilesMicrosoft OfficeOfficeXlstart目录,甚至各Windows用户的Application DataMicrosoftExcelXLSTART目录中,会被创建一个可用Excel打开的无扩展名文件)或扩展名为.xls的文件(Book1病毒均命名为“Book1”)。用户启动Excel或打开Excel文件并禁用宏时,Excel提示“该工作簿中含有一种无法被禁用又无法被签署的宏(Microsoft Excel 4.0版的宏”。若用户选择不打开工作簿,目标工作簿文件将不被打开。若用户选择启用宏打开工作簿,宏表病毒文件(Book1病毒为“Book1”文件)将被同时打开,宏表病毒自动运行,完成对所打开工作簿文件的感染;用户使用工作表取消隐藏操作或使用VBA代码设置所有工作表Visible属性为True,可看到被隐藏的病毒宏表(Book1病毒为“00000ppy”);在Excel“定义名称”对话框名称列表中,用户可找到若干非自己定义的名称(Book1病毒有43个之多)。对于受感染的Excel文件,用户使用网易邮件服务器发送时,会被告知因邮件含病毒而未被发送。
3 专杀工具设计与实现
3.1 程序功能
Excel宏表病毒专杀程序的核心功能是干净、尽可能无损或微损清理目标计算机及用户Excel文件中的Excel宏表病毒,恢复Excel程序正常运行及用户Excel数据文件的正常使用。从方便用户使用角度,设计Excel宏表病毒专杀程序主要功能如下:
(1)全盘清理:对用户计算机整个硬盘各逻辑分区及插入计算机的各移动磁盘中的所有Excel工作簿文件逐个进行Excel宏表病毒检查与清理。
(2)U盘清理:仅对用户插入计算机的各移动磁盘中的所有Excel工作簿文件逐个进行Excel宏表病毒检查与清理。
(3)目录清理:仅对用户指定的硬盘某一逻辑分区、插入计算机的某一移动磁盘或任一目录中的所有Excel工作簿文件逐个进行Excel宏表病毒检查与清理。
(4)特殊文件隔离:对受损或用户无密码不能打开的Excel工作簿文件,分别移动到专门目录,供用户删除处理,获得密码或文件修复后,使用“目录清理”功能清理。
(5)Excel清理:无论上述哪种清理,均首先清除Excel启动目录中的宏表病毒文件。
3.2 查杀算法
依据Excel宏表病毒感染原理,设计清除算法如下:
(1)清除Programe程序目录中的Excel主病毒文件。
(2)清除各Windows用户目录中的Excel主病毒文件甚至Excel菜单栏与工具栏配置文件。
(3)清除硬盘各分区、移动磁盘或用户指定目录中受感染Excel工作簿文件中的病毒宏表和病毒定义名称,原路径、原名另存文件。
(4)对受损与用户无密码不能打开的Excel工作簿文件,分别移动到专门目录“受损工作簿”与“加密工作簿”。
3.3 程序开发
(1)VB访问Excel程序
VB中调用Excel,需添加对Excel的引用,Excel2003的引用项目为“Microsoft Excel 11.0 Object Library”。模块过程或事件过程中调用Excel打开工作簿前,先定义Excel程序、工作序簿、工作表对象并实例化。调用Excel完成一个染毒文件病毒体清理任务后,应释放定义的Excel程序、工作簿、工作表对象变量。
(2)用户组遍历及主病毒文件清除
使用系统环境变量Environ("System Drive")获取系统盘盘符,使用File System Object对象的Get Folder方法获取各Windows用户文件夹所在的Documents and Settings文件夹。通过For EachNext循环与Kill语句实现对Windows用户组的遍历,并删除各Windows用户目录中Excel启动文件夹中的病毒文件。
(3)硬盘分区与移动磁盘遍历
对磁盘的遍历,可调用Windows API函数中的Get Logical Drive Strings函数与Get Drive Type函数实现,故需在VB工程声明部分,先声明两函数。Get Logical Drive Strings函数用于获取所有逻辑驱动器的根驱动器路径;Get Drive Type函数用于判断磁盘驱动器的类型。程序只对硬盘(类型值为DRIVE_FIXED)、移动磁盘(类型值为DRIVE_REMOVABLE)进行遍历和病毒清理。遍历通过DoLoop Until循环实现。
(4)目录及工作簿文件遍历
(5)对目录及工作簿文件的遍历
主要通过Do WhileLoop循环、ForNext循环与Sub过程递归调用实现。在Do WhileLoop循环中,通过If语句和Get Attr函数,实现对目录中子目录的判断及数量获取;在ForNext循环中,通过递归调用实现对各级子目录中工作簿文件的遍历;在Do WhileLoop循环中,调用工作簿文件中病毒体清除过程,实现目录中所有工作簿文件的打开及病毒清理。
(6)工作簿文件中病毒体清除
程序成功打开工作簿文件后,分两步清除病毒体,原路径、原名另存文件即可。首先,对于用户未知的宏表病毒,使用For EachNext循环遍历Work Sheets集合,将其中的Excel 4.0宏表全部删除(会导致用户的非病毒宏表删除);对于用户已知的Book1病毒,不用遍历,使用Sheets(“00000ppy”).delete删除其病毒宏表“00000ppy”。然后,对于用户未知的宏表病毒,使用For EachNext循环遍历Excel的Names集合,将其中的名称定义全部删除(会导致用户定义的名称删除);对于用户已知的Book1病,只删除其病毒名称定义43个即可。
4 结语
基于VB的Excel宏表病毒专杀程序,是一款适用、小巧,对染毒Excel文件无损或微损清除宏表病毒体的绿色软件,可作为VB程序设计的教学范例或实训开发项目。
参考文献
[1]STEPHEN BULLEN,等,著.杜茂康,刘友军,等,译.Excel专业开发[M].北京:电子工业出版社,2007.
Excel工具 第8篇
随着建设市场竞争的日趋激烈, 工程管理逐渐被管理者所重视, 计划统计管理作为工程管理的一部分, 其在工程管理中所起的作用也逐渐被广大管理者认可。计划统计管理已成为施工企业组织施工生产、掌握施工动态及主管部门统计建筑业产值的一种重要手段。为规范报表的填报, 统计局对建筑行业专门制定了表格, 要求按照格式及时填报。在工程施工过程中, 由于施工细目繁多, 运用手工计算, 消耗时间长, 工作量大, 又容易出错;开发专门的程序对工程统计进行管理, 效果固然较好, 但涉及的知识相对较多, 费用较高。随着办公现代化的发展, Office系列办公软件中Excel工具应用较为普遍, 很多企业都在依靠Excel进行数据管理, 该款软件又被大多工程技术人员所掌握, 它不仅仅能够方便地处理表格和进行图形分析, 其更强大的功能还体现在对数据的自动处理和计算。在不开发专门程序的情况下, 我们可利用Excel电算表格对工程统计数据进行整理计算, 这样可提高办公效率, 减少统计人员的工作量。
2 工程统计报表编制介绍
根据工程管理的实际需要和统计部门的要求, 工程统计报表应包括封面、说明、施工任务完成情况月报表 (建基10表) 、建筑业企业生产情况 (C202表) 及其它要求上报的表格、形象进度图等。工程统计报表的统计周期一般为上月21日至本月20日, 项目部应将本工程月内施工完成的工程量、工作量、参加施工人员情况等信息统计上报, 并对工程施工中存在问题等进行简要说明。
2.1 应用Excel工具软件实现统计报表自动生成的基本思路
实现统计报表上报数据自动生成的基本思路为:将统计计算时所涉及的数据以表格的形式录入到Excel工作表中, 根据统计方法对数据的逻辑关系进行整理, 明确各个数据之间的逻辑关系, 然后利用Excel提供的函数、公式计算出所需要的数据, 并按照要求对表格进行填充。统计报表应根据当月的计划和实际施工情况进行统计, 一些累加数据应建立在分月数据之上, 所以, 精确统计每月各细目的施工数据是准确填报统计报表的关键。鉴于此, 在编制统计报表时, 增加两个基础数据表格:一个是年初编制的分月详细计划表, 用于计算生成每月的计划工程量和工作量;另一个是分月各工程细目完成情况表, 用于计算生成每月的实际完成及累计完成的工程量和工作量。基建10表中的数据完全利用函数根据编制者输入的月份自动通过以上两个基础数据表生成, 并经过计算生成其它统计指标。表C202中的工作量部分由基建10表中的相应数据生成。
2.2 利用Excel实现统计报表自动生成的具体实现
下面以某公司工程报表为例说明具体实现步骤:
首先新建一个工作薄, 依次在工作簿中建立几个工作表, 并重新命名为“封面”、“说明”、“建基10表”、“表C202”、“分月计划”、“分月进度”等, 分别在以上工作表中建立表格, 并将报表细目名称等固定不变的信息填写在表格中, 工作表“封面”格式如图1。
为便于数据的自动选取, 在封面上标明报表日期处设置独立单元格 (图中为F8) , 并将该单元格的数据显示格式设为年月日形式的日期型, 用于输入日期, 封面上的标题及其他报表页上的日期根据此日期自动生成, 例如, 在封面日期栏 (F8) 输入“2009-3-23”, 显示为“二OO九年三月二十三日”, 封面标题行左侧单元格 (图中为A3) 设置成年月形式的日期型, 并输入“=F8”, 右侧单元格直接输入“份工程统计报表”, 就可合并生成如图1所示报表标题。类似地, 其他表格上的填报单位、负责人、上报日期等均可通过以上方法生成, 当封面上的信息改变时, 其他报表上的信息也自动随之改变。
同样, 在报表说明中要对完成情况进行说明时, 也可用公式对表中的数据进行引用, 甚至实现数据计算。例如, 在说明表中的某单元格中输入公式“=封面!F6&YEAR (封面!F8) &"年"&MONTH (封面!F8) &"月份完成工作量为"&ROUND (建基10表!E5, 2) &"万元, 占年计划的"&ROUND (建基10表!E5/建基10表!C5*100, 2) &"%;截至"&MONTH (封面!F8) &"月20日累计完成工作量"&ROUND (建基10表!F5, 2) &"万元, 占全年计划的"&建基10表!G5&"%。"。就会生成以下文字:“XXX公司2009年3月份完成工作量为49万元, 占年计划的4.92%;截至3月20日累计完成工作量124.63万元, 占全年计划的12.51%。”。这样就巧妙地利用表中数据, 对报表中的信息进行了描述。公式中的“&”为文本运算符 (和号) , 用于将两段文字串连起来产生一个连续的文字, 注意公式中的文字两边的引号应用半角的双引号, “封面!F6”为对工作表“封面”中单元格F6的引用。函数YEAR (封面!F8) 、MONTH (封面!F8) 分别为对“封面”表中单元格F8 (即日期) 取年和月, 函数ROUND (建基10表!E5/建基10表!C5*100, 2) 功能为对“建基10表!E5/建基10表!C5*100”的结果进行四舍五入取两位小数, “建基10表!E5/建基10表!C5”为本月完成工程量与全年计划的比值如图2所示。
为在分月计划表和分月进度表中自动选取数据, 对建基10表进行填充, 需要用到Excel提供的查询函数HLOOKUP, 此函数可用来在表格或数值数组的首行查找指定的数值, 并由此返回表格或数组当前列中指定行处的数值。当比较值位于数据表的首行, 并且要查找下面给定行中的数据时使用。函数形式为:HLOOKUP (需要在数据表第一行中查找的数值, 需要在其中查找数据的数据区域, 数据区域中待返回的匹配值的行序号, 指明查找时是否精确匹配) 。
下面以建基10表中“路基土方及软基处理”细目本月计划工作量 (单元格D8) 的填充为例说明此函数的应用及公式的编制。按照工程量清单细目设置工程项目的年度分月计划表如图3所示, 分月进度表结构形式与分月计划表相同。单击单元格D8, 在公式编辑栏输入公式“=HLOOKUP (MONTH (封面!F8) , 分月计划!T4:AE17, 4, FALSE) ”, 公式中MONTH (封面!F8) 为取封面日期中的月份, 即“5”, 公式含义为在分月计划表中T4:AE17区域的首行精确查找数值为“5”的列, 并将此列中第4行的值返回。类似地, 可以利用相同的方法对表中本月完成工程量 (单元格E8) 进行填充, 公式为“=HLOOKUP (MONTH (封面!F8) , 分月进度!T4:AE17, 4, FALSE) ”。报表中的累计完成数值应为本年度报表填报月及该月之前所有完成量之和, 因此, 累计完成工作量 (单元格F8) 的公式为“=SUMIF (分月进度!T4:AE4, "<="&MONTH (封面!F8) , 分月进度!T7:AE7) ”, 公式中SUMIF函数为根据指定条件求和函数, 函数中“分月进度!T4:AE4”为用于条件判断的单元格区域, 即分月进度表中的月份区域;“"<="&MONTH (封面!F8) ”为确定哪些单元格将被求和的条件, 即月份区域中小于等于封面日期中的月份;“分月进度!T7:AE7”为需要求和的单元格, 即分月进度表中分月完成工作量的数值区域。因此, 公式的含义为对分月完成表中月份小于等于封面日期月份的所有完成工作量进行求和, 即截至当月的累计完成工作量。
同样, 可利用相同的方法对建基10表中的工程量栏及其它工程细目所对应的工作量、工作量栏的填充公式进行编制, 表C202中的工程量部分可直接引用建基10表中的数据完成报表的填报。
当编制工程统计报表时, 只需将当月完成的工程量依照工程细目分别输入到“分月完成”表对应月份中, 分月完成工作量可通过工程量和单价利用公式自动计算获得, 也可将几个工程细目进行合并, 生成综合细目, 在建基10表中只对综合细目进行填报。在编制报表时, 只需准确统计当月各清单细目完成工程量, 然后修改封面中的日期, 报表中“说明”、“建基10表”、“表C202”中的内容即可由Excel工具基于“分月计划”、“分月完成”两个基础表自动生成, 完成报表的编制, 保证了报表前后数据的正确性、一致性。此外, 还可利用Excel的图表功能绘制各种图表, 对报表中的数据进行分析。
3 结语