如何应用EXCEL建立党员信息查询系统
标签:
财经文化教育 |
分类: EXCEL |
EXCEL具有强大而灵活的数据管理功能,如何应用EXCEL建立党员信息查询系统,使企业党员信息查询管理更加灵活方便,数据统计更加准确快捷,是我们近期完成的项目之一。
首先是实现全局的自动统计功能。以支部为单位,按性别、类别、年龄、学历、职称分别统计党员分布情况。通过统计表,能快速掌握本单位党员的基本状况。具体统计表如下图所示:
http://s7/mw690/001N2BJpzy7i0Mpzc2O56&690
统计表要实现自动统计功能,其中的技术要点有二个。
一是使用数学函数SUMPRODUCT进行多条件计数。基本的用法,SUMPRODUCT函数用于数组或区域所有元素对应相乘,然后把乘积相加。例如,SUMPRODUCT(a1:b2,c1:d2)=a1*c1+b1*d1+a2*c2+b2*d2。因为1*1=1,然后函数自动会相加,因此,提供了我们多条件计数的可行性。只需要把数组中的值换成逻辑值,便能满足我们的需要。例如,统计公司机关支部男党员的数量,使用公式SUMPRODUCT((党员名册!$C$2:$C$201=$A6)*(党员名册!$D$2:$D$201=$D4))。公式初步分解过程:党员名册!$C$2:$C$201定义了一个区域,此区域内容存放着党员所属支部的名称,$A6单元格存放“公司机关支部”的值,(党员名册!$C$2:$C$201=$A6)可判断在党员名册表第3列第2行至第201行范围内,所有党员是否属于公司机关支部的逻辑状况,并形成一个由199个逻辑值组成的数组,例如{false;true;true;false;…;ture;false}。同理,(党员名册!$D$2:$D$201=$D4)用于判断党员性别是否为单元格d4规定的“男”,并形成一个由199个逻辑值组成的数组。EXCEL中,默认false的值为0,true的值为1,以上二个数组相乘,则只有2个条件都为真的时候,得到1的值。最后,将所有的1相加,便能得到想要的计数数据。
二是其他公式的设置及保护。SUM()函数用于求和,对前面统计出来的各支部数据,分铝厂党总支、电厂党总支进行小计汇总。然后全公司汇总。Today()函数用于自动更新日期。
以上公式设置好后,统计表就能实现对党员名册的情况进行自动统计的功能了。因为公式稍复杂,有的公式长度很长,因此需要进行适当的保护,避免误操作删除或更改。在EXCEL界面,选定保护工作表,进一步选中保护工作表及锁定的单元格内容、允许此工作的所有用户进行:选定锁定单元格、选定未锁定单元格,在取消工作表保护时使用的密码栏内,设置一个密码。确定完成后,再点击带有公式的单元格,编辑栏内便隐藏了公式文本。
其次,党员个人信息的查询。应该做到:在姓名栏内输入党员姓名后,登记表能自动显示该党员的其他各项信息,包括照片。如下图所示 。如需要打印,点打印按钮后,就能得到带照片的党员登记表。
http://s10/bmiddle/001N2BJpzy7i0MqGGA9b9&690
党员信息查询,涉及的功能点有二个。一是使用函数vlookup实现用姓名查其他信息,二是使用VBA实现照片的匹配。
Vlookup()是EXCEL的纵向查找函数,包含4个参数,分别为lookup_value,table_array,col_index_num,range_lookup。lookup_value是需要查找比对的值;table_array代表目标查找区域,可以为一列或多列;col_index_num表示所需数据在目标区域的列数;range_lookup为一逻辑值,值为0时表示目标值和查找值需要精确匹配,值为1时表示目标值和查找值近似匹配。
例如,需要查询党员的性别信息,在D3单元格内输入公式=VLOOKUP($B$3,data,3,FALSE),表示精确匹配查询由单元格b3所规定的名为data区域的第1列数据,匹配成功后,取出对应行的第3列对应的性别数据值。其他信息,按同样的原理,通过更改目标col_index_num值均可很容易获得。
匹配党员照片的功能,首先要建立一个文件夹,专门用于存放党员的照片文件。照片文件按姓名命名,便于EXCEL VBA查询匹配。具体VBA语句如下:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error Resume Next
Shapes.SelectAll
Selection.ShapeRange.Delete
Range("e3").Select
'Range("e3").RowHeight = 160 '定义行高,磅数。
Range("e3").ColumnWidth = 24 '定义列宽,标准字符数。
Shapes.AddShape(msoShapeRectangle, 401, 114, 135, 169).Select '定义图片框的左上角位置和宽度、高度。
Selection.ShapeRange.Fill.Visible = msoFalse
Selection.ShapeRange.Shadow.Obscured = msoTrue
Selection.ShapeRange.Shadow.Type = msoShadow18
Selection.ShapeRange.Fill.UserPicture ThisWorkbook.Path & "\党员照片\" & Range("b3").Value & ".jpg"
Range("b3").Select
Application.EnableEvents = True
End Sub

加载中…