如何用钉钉表格或Excel做一个类似MS Project的项目管理模板(三、任务的层级结构设计) 您所在的位置:网站首页 项目管理表单汇集 如何用钉钉表格或Excel做一个类似MS Project的项目管理模板(三、任务的层级结构设计)

如何用钉钉表格或Excel做一个类似MS Project的项目管理模板(三、任务的层级结构设计)

#如何用钉钉表格或Excel做一个类似MS Project的项目管理模板(三、任务的层级结构设计)| 来源: 网络整理| 查看: 265

从本篇开始进入实战阶段,建议你按照本专栏中第一篇文章的方法先加载此模板,这样实操起来会容易一点。

如果你只想使用此模板,不想学习此模板的创建过程,可以直接通过下面的链接下载使用,永久有效,完全免费。

任务的层级缩进效果

WBS清单如果没有层级结构看起来真的非常别扭,Excel里还可以手动将一个单元格里的文本缩进,钉钉表格里也不行,我们索性来设计一个自动的层级缩进效果吧。

要设计层级效果,我们只需要在任务标题的内容前根据层级加一些缩进字符就好了。在此之前,我们先设计一个叫“层级”的列,允许用户可以手动的输入这个任务所在的层级。为了避免不必要的麻烦,我们给这一列加一下“数据验证”的限制,只允许用户输入0-10的层级,对一般的项目管理来说足够了。Excel和钉钉表格都有数据验证限制功能,很容易从工具栏或者菜单里找到,设置界面如下图所示。

“层级”列的数据验证限制

好了,“任务标题”如何根据用户设置的层级来自动调整缩进呢。在此之前,我们先想想任务标题从哪里来?因为这个单元格里我们必须要放一个公式,如果允许用户手动输入,那公式不就没了,所以任务标题只能从别的单元格里获取。好,我们先假定任务标题从“任务描述”这一列获取。使用上面提供的模板,我们在D6单元格里输入公式=E6,这样“任务描述”里的内容就直接显示到“任务标题”这里来了。

那怎么增加前面的缩进效果呢,我们需要用到字符串拼接函数CONCATENATE()函数和字符串复制函数REPT()。CONCATENATE()函数其实跟使用&符号拼接字符串差不多,但是我比较喜欢用这个函数,直观一点。REPT()函数结合用户设置的层级就可以自动生成缩进效果了。

=CONCATENATE(REPT(" ",B6),E6)

上面公式的意思就是先使用REPT()函数,根据用户设置的层级数B6,复制多个" "字符串,然后跟“任务描述”E6的内容拼接在一起。自己试试看,效果还不赖,对吧。

复用“任务描述”的部分内容

等等,如果我们设置一个让用户手动输的列,只是为了自动生成任务标题的自动缩进列,是不是有点太浪费了。的确是,我们能不能让用户可以在任务描述列输入更多的内容,而在任务标题里只用其中一部分内容呢,当然可以!

但是我们需要明确指定一个文本的分隔符来标识一下,要不就用中文冒号吧,比较符合我们的使用习惯。所以“任务标题”列只取“任务描述”列在中文冒号前面的那部分作为标题,那就用LEFT()函数结合SEARCH()函数来实现:

=LEFT(E6,SEARCH(":",E6)-1)

这样就可以获取到任务描述里在中文冒号前面的那部分内容,我们再加点异常处理:

IF( ISNUMBER(SEARCH(":",E6)-1), LEFT(E6,SEARCH(":",E6)-1), E6 )

如果任务描述里带中文冒号,我们就像上面那样处理,不带的话我们就把所有的内容都拿过来作为标题。

嗯,如果是汇总的行,是不是在前面再加一个特殊的符号比如▼会好看一点,跟我们Web做出来的展开效果有点像,那再加一项:

IF(A6,"▼"," ")

将这些都汇总到一块,又一个俄罗斯套娃出来了:

CONCATENATE( REPT(" ",B6), IF(A6,"▼"," "), IF( ISNUMBER(SEARCH(":",E6)-1), LEFT(E6,SEARCH(":",E6)-1), E6 ) )

好了,自动缩进的层级效果出来了,就像下面这样,是不是不难?

任务标题的自动缩进效果



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有