继任者测试

保罗新来的
保罗新来的 ✭✭✭✭✭✭
编辑10/21/21 最佳实践

我在过去看到很多人问我们如何利用前一个任务来发出警报,以便(例如)在前一个任务完成时,自动向下一个任务的所有者发出通知,让他们知道任务已经准备好开始了。不幸的是,最好的方法是跨多个列解析前一列(如果有多个前一列)。


我一直在使用新的继承者功能,并且认为我几乎找到了一种方法(有一定的局限性)。如果您指定的是“SS”、“SF”、“FS”或“FF”,则会有此限制。我想我有一些关于如何适应它的想法,但希望在向大家展示之前做更多的测试。


与此同时……请随时看一看下面的开始。我也欢迎关于如何调整其他变量的反馈和想法,如延迟/提前时间,“SS”/“SF”/等。,以及人们能想到的任何其他“陷阱”。

首先,我们插入一个没有特殊格式的Auto-number列(称为“Auto”)。

接下来,我们插入一个文本/数字列(称为“Row”),并使用以下列公式:

=匹配((电子邮件保护)汽车:汽车,0)


然后我们插入一个多选下拉列(称为“Next Tasks”),并使用这个列公式:

=加入(继任者([任务名称]@row), CHAR (10))


从这里开始,我们可以根据需要进行偏离和调整,但下面的公式(放入另一个文本/数字列)将获取之前任务的% Complete,将它们相加,然后将其与之前的任务数量进行比较。如果这两个数字匹配,那么这一行上的任务就可以开始了。


=如果(和((电子邮件保护)<> "", [% Complete]@row = 0, SUMIFS([% Complete]:[% Complete], [Next Tasks]:[Next Tasks], HAS(@cell,(电子邮件保护)+ "")) = COUNTIFS([下一个任务]:[下一个任务],HAS(@cell,(电子邮件保护)+ " "))), 1)



在下面的截图中,您将看到第5行已经准备好开始,因为它的前任(第4行)已经100%完成,而第5行还没有开始。第9行还没有准备好,因为第7行和第8行都需要先完成,而第8行只有50%。您还将看到,第8行没有标记为准备开始,因为即使它的前任已经完成,第8行上的任务已经开始(%完成大于0)。

用户:“image.png”


thinkspi.com

«1

评论

  • 保罗新来的
    保罗新来的 ✭✭✭✭✭✭
    编辑10/26/21

    输出下一个任务的名称(公式在[下一个任务名称]列):


    =IF([下一步任务]@row <> "", JOIN(COLLECT([任务名称]:[任务名称],Row:Row, HAS([下一步任务]@row, @cell)), CHAR(10)))


    image.png


    thinkspi.com

  • 保罗新来的
    保罗新来的 ✭✭✭✭✭✭

    @Vivien庄如果您只需要提取下一个任务名称,则有一个更干净的解决方案。

    =JOIN([任务名]@row), ", ")


    我想这也可以用来拉即将到来的日期和诸如此类的…

    thinkspi.com

  • 薇薇安庄
    薇薇安庄 ✭✭✭✭✭✭

    @Paul新来的谢谢分享。我没有测试过有超过1个前驱的场景,也没有测试过所有的SS、SF、FF、延迟……我们会关注你的帖子的任何更新。谢谢分享你的见解。

  • 保罗新来的
    保罗新来的 ✭✭✭✭✭✭

    @Vivien庄如果您在我之前测试了它,请随时分享!

    thinkspi.com

  • 薇薇安庄
    薇薇安庄 ✭✭✭✭✭✭

    @Paul新来的当然!但就专业水平而言,我认为你会比我更快找到解决方案。很高兴你能来。

  • tariq.shaikh@signspecialists.com
    (电子邮件保护) ✭✭✭✭✭

    @Paul新来的而且@Vivien庄-你让我今天很开心!谢谢你的深刻帮助!

  • 保罗新来的
    保罗新来的 ✭✭✭✭✭✭

    要提取实际前辈的任务名称,我们将使用上述指令在工作表上生成行号。接下来,我们将插入一个多选下拉列并进入

    =替代((电子邮件保护), ", ", char (10))


    这样做允许我们将这些前辈“解析”为单个数字,而不是文本字符串。最后,我们将使用这样的公式来提取所有前辈的列表:

    =JOIN(COLLECT([任务名称]:[任务名称],Row:Row, HAS((电子邮件保护)@cell)), CHAR (10))

    thinkspi.com

  • 嗨,保罗,

    感谢您提供的宝贵信息!我很难让公式为我工作,有没有机会你可以提供一个“简化”的例子,为我自己和其他人可能正在努力。下面粗体部分显示了我正在纠结的公式。我不知道该去哪里。我试图做的是返回选定任务的继任者的任务名称。请帮助并提前感谢!

    fx =加入(继任者([任务名称]@row), ", ")

  • 保罗新来的
    保罗新来的 ✭✭✭✭✭✭

    @msamo假设要连接的列名为“任务名称”,则应该可以保持不变。否则,您需要将“任务名称”更改为该列的实际名称。

    thinkspi.com

  • HI,我一直在研究这个线程,以找到一个解决方案,显示任务前任“名称”在一个新的列附加到前任列。

    我遵循了上面建议的步骤,但结果却不是我所期待的。

    截图2022-03-16 at 15.15.32.png

    下面是我从上面的评论中了解到的每一列后面的公式。

    Auto =自动编号

    行=匹配((电子邮件保护)汽车:汽车,0)

    New task = JOIN(([task Name]@row), CHAR(10))

    新任务名称=替换((电子邮件保护), ", ", char (10))


    非常感谢任何帮助,我是一个3周SmartSheet用户:)

  • 薇薇安庄
    薇薇安庄 ✭✭✭✭✭✭

    @Davide M。我刚刚对公式做了一个类似的测试。

    Task Name Row后继任务名称

    截图2012-03-17 at 3.51.49 PM.png

    我觉得你可以试试这个

    新任务名称=JOIN(Collect([任务名称]:[任务名称],Row:Row, HAS([新任务]@row, @cell)), CHAR(10))

    这是有帮助吗?

  • 你好,

    我们尝试在Smartsheet中添加开始/结束时间,我们可以计算持续时间,这要感谢@Paul Newcome等人的社区线程。我想知道是否有人想出了一个公式来查找任务的前辈,确认他们都完成了(就像在“准备开始”中做一个复选框的公式),而是查看所有完成的前辈的结束时间,并将最近的“结束时间”填入任务的开始时间。

    参见第5行示例:如果第2行和第4行是前两行,并且100%完成,理想情况下,我们希望第5行的开始时间自动填写为1:07 AM。我们在计划中有如此多的行和前辈,手动尝试会有很多事情。任何思想/想法吗?

    image.png


    提前感谢你的想法/输入!

  • 你好,

    我们试图在Smartsheet中包括切换计划的开始和结束时间。我能够得到持续时间来计算时间,感谢其他线程的人喜欢@Paul新来的,但还没有完全破解如何获得时间来更新前人的基础上。

    有没有人有任何想法或想法,我们可以让一个(多个)前任的结束时间更新为后续任务的开始时间?

    或者,我们甚至只是试图获得类似的功能,如上面的“准备开始”复选框,它会查看一行的所有前任,并确认它们都是100%完成的。此外,我们希望能够查看那些已完成的前辈,并获取最新的“结束时间”,并将其/复制为后续任务的“开始时间”。

    示例:在第5行,如果第2行和第4行已经完成,我们希望第5行的开始时间自动输入:1:07 AM。我不确定这是否可行,也不知道是否有人对我们如何实现它有任何想法。

    image.png

    非常感谢您的帮助和建议!

    谢谢!

  • 保罗新来的
    保罗新来的 ✭✭✭✭✭✭

    @Beverly字段你需要拼凑出几个不同的解决方案。


    首先,您希望将所有结束时间转换为数字(如果您使用公式来生成结束时间,那么可能已经在某个地方完成了)。


    然后,您希望使用与上面的JOIN/COLLECT类似的MAX/COLLECT来从所有适用的前辈中获取最高的数字。


    最后,你需要将MAX/COLLECT转换回实际时间,你可能已经在做了。

    thinkspi.com

  • @Paul新来的谢谢你,保罗!我们会尝试一下。