详细介绍!如何用Excel制作企业项目管理系统
企业项目管理系统
主要用到公式有:VLOOKUP函数、Match函数、if函数、indirect函数,iferror函数
1、基础数据
1.1 首先按下图所示创建5个工作表,分别命名为index、信息查询、信息录入、数据源、下拉信息。
1.2 在下拉信息工作表中创建项目名的表,按上图录入信息后按Ctrl+t。。
1.3 将项目名添加到名称管理器上。选中项目名的表格依次点击—公式—根据所选内容创建名称—首行—确定。
1.4数据源表格:按下图所示建立数据源表格,红色框为标题栏,需要输入,红框之外的数据可不用输入。
1.5项目状态统计:在数据源表格旁边创建项目状态的表格,在后面的数量单元格输入下面对应公式:=COUNTIF(表1[状态],R2)。
2、信息录入:在信息录入表格中输入下图内容,注意行号和列号与下图保持一致。
2.1 通过开发工具插入三个按钮控件,并分别命名为进度维护、数据清除、录入。如下图所示。
2.2 创建项目名的下拉菜单:选中创建下拉信息的单元格一次选择数据—数据验证—数据验证—序列—输入=INDIRECT($D$6)确定。
2.4 持续天数公式输入:选中H9单元格输入如下公式=IF(AND(F9="",E9<>""),TODAY()-E9,IF(AND(F9<>"",E9<>""),F9-E9,""))这个公式的意思是:如果当前行所在状态的开始时间有数据,结束时间没数据时,持续天数就为当前系统时间减去开始时间。如果当前行所在状态的开始时间有数据,结束时间也有数据时,持续天数就为结束时间减去开始时间。否则就返回空值。在H9输入公式后下拉填充至H13即可。
2.5 项目状态公式输入:选中I9单元格输入公式=IF(E9="","",IF(F9="",D9,IF(F10="",D10,IF(F11="",D11,IF(F12="",D12,IF(F13="",D13,"已完成"))))))这个公式的大概意思就是通过判断每个项目状态的结束时间来返回对应的项目状态。
2.7 选择开发工具—Visual Basic 输入录入信息的代码。如下图所示(下方有代码明细)
代码明细:
Sub 信息录入()
If Sheet1.Cells(6, 5) = "" Then
MsgBox "请先输入项目名!"
Exit Sub
End If
a = Sheet2.Cells(Rows.Count, 1).End(xlUp)(2, 1).Row
Dim i, k As Integer
i = Sheet2.Range("b1")
If i = 0 Then
Sheet2.Cells(a, 1) = Sheet1.Cells(6, 5) 项目名
Sheet2.Cells(a, 2) = Sheet1.Cells(9, 5) 开始日期
Sheet2.Cells(a, 3) = Sheet1.Cells(9, 7) 备注1
Sheet2.Cells(a, 4) = Sheet1.Cells(9, 6) 启动日期
Sheet2.Cells(a, 5) = Sheet1.Cells(10, 7) 备注2
Sheet2.Cells(a, 7) = Sheet1.Cells(11, 7) 备注3
Sheet2.Cells(a, 8) = Sheet1.Cells(11, 6) 执行日期
Sheet2.Cells(a, 9) = Sheet1.Cells(12, 7) 备注4
Sheet2.Cells(a, 10) = Sheet1.Cells(12, 6) 监控日期
Sheet2.Cells(a, 11) = Sheet1.Cells(13, 7) 备注5
Sheet2.Cells(a, 12) = Sheet1.Cells(13, 6) 收尾日期
Sheet2.Cells(a, 13) = Sheet1.Cells(14, 5) 负责人
Sheet2.Cells(a, 15) = Sheet1.Cells(14, 7) 项目介绍
End If
If i > 0 Then
Sheet2.Cells(i, 1) = Sheet1.Cells(6, 5) 项目名
Sheet2.Cells(i, 3) = Sheet1.Cells(9, 7) 备注1
Sheet2.Cells(i, 4) = Sheet1.Cells(9, 6) 启动日期
Sheet2.Cells(i, 5) = Sheet1.Cells(10, 7) 备注2
Sheet2.Cells(i, 6) = Sheet1.Cells(10, 6) 计划日期
Sheet2.Cells(i, 7) = Sheet1.Cells(11, 7) 备注3
Sheet2.Cells(i, 8) = Sheet1.Cells(11, 6) 执行日期
Sheet2.Cells(i, 9) = Sheet1.Cells(12, 7) 备注4
Sheet2.Cells(i, 10) = Sheet1.Cells(12, 6) 监控日期
Sheet2.Cells(i, 11) = Sheet1.Cells(13, 7) 备注5
Sheet2.Cells(i, 12) = Sheet1.Cells(13, 6) 收尾日期
Sheet2.Cells(i, 13) = Sheet1.Cells(14, 5) 负责人
End If
MsgBox "信息录入成功!"
Sheet1.Range("f9:f13") = ""
Sheet1.Range("e9") = ""
Sheet1.Cells(6, 5) = ""
Sheet1.Cells(14, 5) = ""
Sheet1.Range("G9:G14") = ""
End Sub
2.8 进度维护代码:
Sub 进度维护()
Dim i As Integer
i = Sheet2.Range("b1")
If i = 0 Then
MsgBox "数据库无此项目的数据,请先录入该项目的信息!"
Sheet1.Range("f9:f13") = ""
Sheet1.Range("e9") = ""
Sheet1.Cells(14, 5) = ""
Sheet1.Range("G9:G14") = ""
Exit Sub
End If
Sheet1.Range("f9:f13") = ""
Sheet1.Range("e9") = ""
Sheet1.Cells(14, 5) = ""
If i > 0 Then
Sheet1.Cells(9, 5) = Sheet2.Cells(i, 2) 开始日期
Sheet1.Cells(9, 7) = Sheet2.Cells(i, 3) 备注1
Sheet1.Cells(9, 6) = Sheet2.Cells(i, 4) 启动日期
Sheet1.Cells(10, 7) = Sheet2.Cells(i, 5) 备注2
Sheet1.Cells(10, 6) = Sheet2.Cells(i, 6) 计划日期
Sheet1.Cells(11, 7) = Sheet2.Cells(i, 7) 备注3
Sheet1.Cells(11, 6) = Sheet2.Cells(i, 8) 执行日期
Sheet1.Cells(12, 7) = Sheet2.Cells(i, 9) 备注4
Sheet1.Cells(12, 6) = Sheet2.Cells(i, 10) 监控日期
Sheet1.Cells(13, 7) = Sheet2.Cells(i, 11) 备注5
Sheet1.Cells(14, 5) = Sheet2.Cells(i, 13) 负责人
Sheet1.Cells(14, 7) = Sheet2.Cells(i, 15) 项目介绍
End If
End Sub
2.9 清除数据代码
Sub 清除数据()
Sheet1.Range("f9:f13") = ""
Sheet1.Range("e9") = ""
Sheet1.Cells(6, 5) = ""
Sheet1.Cells(14, 5) = ""
Sheet1.Range("G9:G14") = ""
End Sub
提示:以上所有代码均写在模块中。插入模块的方法见下图。
3 指定宏:按下图所示顺序依次点击按钮右键—指定宏—信息录入—确定。将上面写的代码指定到对应按钮下。按同样方式将清除数据和进度维护指定宏即可
3.1 完成以上步骤后可录入数据测试。
3.2 统计图表:全选数据源中红框区域的数据,点击插入图表,然后再将图表剪切至信息录入界面
3.3调整图表大小至合适位置并设置背景颜色和格式。
3.4 汇总统计信息:在数据源表格的K1和M1单元格分输入进行中和已完成
3.5 在信息录入单元格的E19到E21分别输入下列公式来获取对应的值
=数据源!L1+数据源!N1
=数据源!N1
=数据源!L1
好啦,到这里信息录入工作表的功能就全部实现了。
4. 信息查询:这里可以直接将信息录入的工作表复制到信息查询工作表。然后删除对于的信息即可。调整页面布局如
4.1 在E9单元格输入公式:=IFERROR(IF(VLOOKUP($E$6,数据源!$A:$O,2,FALSE)=0,"",VLOOKUP($E$6,数据源!$A:$O,2,FALSE)),"")
在F9单元格输入公式:=IFERROR(IF(VLOOKUP($E$6,数据源!$A:$O,4,FALSE)=0,"",VLOOKUP($E$6,数据源!$A:$O,4,FALSE)),"")
在G9单元格输入公式:=IFERROR(VLOOKUP($E$6,数据源!$A:$O,3,FALSE),"")
然后用同样的方式将F9到G14单元格区域都通过VLOOKUP函数去获得对应的值。这里主要是设计到函数的灵活运用,这里就不在详细说明。
4.2 所有公式输入完成后选择一个录入了数据的项目名:然后依次选择所有开始时间—插入堆积条形图(如下图所示)然后调整条形图的大小和位置。
4.3 右键点击图表—选择数据
4.4 点击添加
4.5先选中系列值,在框选持续天数的数据。如下图所示
4.6 将蓝色区域设置为无填充,无线条
4.7 再点击选择数据—编辑
4.8 线选择轴标签—在框选项目状态。(如下图所示)
4.9 在图表类别的坐标轴选项中勾选—逆序类别
5.0 设置图标的背景格式和字体颜色。如下图所示
5.1 添加数据标签,选择图表右键添加数据标签即可,添加后点击数据可修改字体和字体颜色
5.2 做到这里我们的信息查询工作表也做完了。
6.超链接:页面切换都采用超链接的方式实现。连接方式见下图。这里不详细说明了。
推荐一款工程项目管理软件,简道云,一款零代码轻量级的应用搭建平台。管理员无需代码,即可构建出符合需求的业务管理系统(如生产管理、进销存等)。员工电脑、手机均可使用,随时随地都能处理业务。用户能够通过拖拉拽自定义设计表单、通过简单连线设计流程、通过组件丰富的仪表盘对数据进行展示,还可以通过高级功能打破数据孤岛、挖掘数据的价值。这些功能能够满足用户个性化的应用搭建需求。