继任者测试

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

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


我一直在尝试新的继任者函数,并认为我几乎找到了一种方法(有一定的局限性)。如果您指定了“SS”、“SF”、“FS”或“FF”,那么这种方法的局限性就会出现。我想我有一些关于如何适应的想法,但想做一些更多的测试之前,把它放在这里给大家。


与此同时……请随意看看下面的内容来开始。我也欢迎关于如何调整其他变量的反馈和想法,如滞后/前置时间,“SS”/“SF”等。,以及人们能想到的任何其他“捕捉”。

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

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

=匹配((电子邮件保护), Auto:自动,0)


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

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


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


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



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

用户:“image.png”


thinkspi.com

«1

评论

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

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


    =IF([Next Tasks]@row <> "", JOIN(COLLECT([Task Name]:[Task Name], Row:Row, HAS([Next Tasks]@row, @cell)), CHAR(10))))


    image.png


    thinkspi.com

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

    @Vivien庄如果您需要的只是拉出下一个任务名称,则有一个更清晰的解决方案。

    =JOIN([Task Name]@row), ", ")


    我想这也可以用于提取即将到来的日期和诸如此类的东西。

    thinkspi.com

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

    @Paul新来的谢谢分享。我没有测试过有超过1个前任的场景,也没有测试过所有的SS, SF, FF,延迟…将跟随你的线程的任何更新。感谢分享你的见解。

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

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

    thinkspi.com

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

    @Paul新来的当然!但考虑到你的专业水平,我想你会比我更快找到解决方案。很高兴你能来。

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

    @Paul新来的@Vivien庄-你真让我高兴!谢谢你的帮助!

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

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

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


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

    =JOIN(COLLECT([Task Name]:[Task Name], Row:Row, HAS)(电子邮件保护), @cell)), CHAR(10))

    thinkspi.com

  • 嗨,保罗,

    感谢您提供的宝贵信息!我很难让这个公式为我工作,你是否有机会为我和其他可能挣扎的人提供一个“简化”的例子。公式中我遇到困难的部分在下面用粗体表示。我不知道那里应该放些什么。我要做的是返回所选任务的后继任务的任务名称。请帮助和提前感谢你!

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

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

    @msamo您应该能够保持原样,假设您想要连接在一起的列称为“任务名称”。否则,您需要将“Task Name”更改为实际调用的列。

    thinkspi.com

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

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

    截图2022-03-16,格式:15.15.32.png

    下面是我从上面的评论中理解的每一栏后面的公式。

    自动编号

    Row = MATCH()(电子邮件保护), Auto:自动,0)

    新任务= JOIN(successor ([task Name]@row), CHAR(10))

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


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

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

    @Davide M。我刚刚对配方做了类似的测试。

    任务名称行后继任务名称

    截图2012-03-17下午3:51.49 .png

    我觉得你可以试试这个

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

    这有帮助吗?

  • 你好,

    我们尝试在Smartsheet中添加开始/结束时间到我们的计划中,感谢来自@Paul Newcome等人的精彩社区帖子,我们可以计算持续时间。我想知道是否有人知道如何使用公式查找任务的前一项,确认它们都已完成(与为“准备开始”做复选框的公式不同),而是查看所有已完成的前一项的结束时间,并将最新的“结束时间”填写为任务的开始时间。

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

    image.png


    提前感谢您的意见/输入!

  • 你好,

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

    有没有人有任何想法或想法,我们如何能够得到一个前任的结束时间更新为后继任务的开始时间?

    或者我们甚至只是试图获得类似于上面的“Ready to Start”复选框的功能,在那里它会查看一行的所有前任并确认它们都100%完成。此外,我们希望能够查看那些已完成的前导任务,并将最新的“End Time”作为后继任务的“Start Time”进行复制。

    示例:在第5行中,如果第2行和第4行完成,我们希望第5行的开始时间自动输入:1:07 AM。我不确定这是否可行,也不知道有没有人能告诉我们怎么做。

    image.png

    任何帮助或想法都非常感激!

    谢谢!

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

    @Beverly字段你需要拼凑一些不同的解决方案。


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


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


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

    thinkspi.com

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