在 Excel 中跟踪任务依赖性
Track task dependencies in Excel
我的 excel sheet 中有两个选项卡。
选项卡 1:包含跨多个功能区域的所有依赖项的列表。这些列是功能区域、依赖项描述、依赖项 ID、计划结束日期、目标结束日期。
选项卡 2:包含具有以下列的任务列表:
职能领域、可交付成果名称、可交付成果描述、目标日期、预计日期、依赖项 ID
例如
Functional Area Dependencies Plan end date Target End date
F1 D1 8/22 8/22
F1 D2 8/23 8/23
F2 D3 8/24 8/24
F2 D4 8/25 8/25
Functional Area Deliverable Dependencies Target Date Projected Date
F1 de1 D1, D2 8/20
F1 de2 D1 8/20
F2 de3 D3, D4 8/20
F2 de4 D3 8/20
依赖项 ID 将包含与选项卡 1 中的给定可交付成果关联的所有 ID。我想要的帮助是一种方法,可以查明与给定可交付成果关联的任何依赖项的日期是否超过了目标日期在我的可交付成果中,我的预计日期应该填充到所有依赖项中的最新日期。因此,在上面的示例中,de1 的预计日期应填充为 8/23,d2 的预计日期应为 8/22。请指教。谢谢。
您需要三件才能让它发挥作用。第一个是这个公式(我们开始研究 Tab2):
=TRIM(SUBSTITUTE(MID(SUBSTITUTE("," & C2&REPT(" ",6),",",REPT(",",255)),1*255,255),",",""))
单元格 C2
包含依赖项列表,例如D1, D2
注意公式中的 1*255 位 - 如果将 1 更改为 2,则此公式会给出依赖项列表中的第二项,然后是第三项,依此类推
现在我们有三个公式可以给出第一、第二或第三依赖性:
=TRIM(SUBSTITUTE(MID(SUBSTITUTE("," & C2&REPT(" ",6),",",REPT(",",255)),1*255,255),",",""))
=TRIM(SUBSTITUTE(MID(SUBSTITUTE("," & C2&REPT(" ",6),",",REPT(",",255)),2*255,255),",",""))
=TRIM(SUBSTITUTE(MID(SUBSTITUTE("," & C2&REPT(" ",6),",",REPT(",",255)),3*255,255),",",""))
我们将采用每个公式并将它们包装在一个 vlookup 中 - 这将从 Tab1 中查找目标结束日期:
=VLOOKUP(TRIM(SUBSTITUTE(MID(SUBSTITUTE("," & C2&REPT(" ",6),",",REPT(",",255)),1*255,255),",","")),Tab1!$B:$D0,3,FALSE)
在此公式中,我假设要查找的数据在 Tab1!$B:$D0
中,并且我假设目标结束日期在第三列中。请注意,这还假定依赖列是 B 列。
这个公式将给我第一个依赖项的目标结束日期。
我们几乎准备好将它们包装到一个函数中,但在此之前,我们要防止 vlookup 错误:
=IFERROR(VLOOKUP(TRIM(SUBSTITUTE(MID(SUBSTITUTE("," & C2&REPT(" ",6),",",REPT(",",255)),1*255,255),",","")),'Tab1'!$B:$D0,3,FALSE),0)
现在我们可以使用 Max 函数组合所有三个,这将为我们提供最大(最新)日期:
=MAX(IFERROR(VLOOKUP(TRIM(SUBSTITUTE(MID(SUBSTITUTE("," & C2&REPT(" ",6),",",REPT(",",255)),1*255,255),",","")),'Tab1'!$B:$D0,3,FALSE),0),IFERROR(VLOOKUP(TRIM(SUBSTITUTE(MID(SUBSTITUTE("," & C2&REPT(" ",6),",",REPT(",",255)),2*255,255),",","")),'Tab1'!$B:$D0,3,FALSE),0),IFERROR(VLOOKUP(TRIM(SUBSTITUTE(MID(SUBSTITUTE("," & C2&REPT(" ",6),",",REPT(",",255)),3*255,255),",","")),'Tab1'!$B:$D0,3,FALSE),0))
我的 excel sheet 中有两个选项卡。
选项卡 1:包含跨多个功能区域的所有依赖项的列表。这些列是功能区域、依赖项描述、依赖项 ID、计划结束日期、目标结束日期。
选项卡 2:包含具有以下列的任务列表:
职能领域、可交付成果名称、可交付成果描述、目标日期、预计日期、依赖项 ID
例如
Functional Area Dependencies Plan end date Target End date
F1 D1 8/22 8/22
F1 D2 8/23 8/23
F2 D3 8/24 8/24
F2 D4 8/25 8/25
Functional Area Deliverable Dependencies Target Date Projected Date
F1 de1 D1, D2 8/20
F1 de2 D1 8/20
F2 de3 D3, D4 8/20
F2 de4 D3 8/20
依赖项 ID 将包含与选项卡 1 中的给定可交付成果关联的所有 ID。我想要的帮助是一种方法,可以查明与给定可交付成果关联的任何依赖项的日期是否超过了目标日期在我的可交付成果中,我的预计日期应该填充到所有依赖项中的最新日期。因此,在上面的示例中,de1 的预计日期应填充为 8/23,d2 的预计日期应为 8/22。请指教。谢谢。
您需要三件才能让它发挥作用。第一个是这个公式(我们开始研究 Tab2):
=TRIM(SUBSTITUTE(MID(SUBSTITUTE("," & C2&REPT(" ",6),",",REPT(",",255)),1*255,255),",",""))
单元格 C2
包含依赖项列表,例如D1, D2
注意公式中的 1*255 位 - 如果将 1 更改为 2,则此公式会给出依赖项列表中的第二项,然后是第三项,依此类推
现在我们有三个公式可以给出第一、第二或第三依赖性:
=TRIM(SUBSTITUTE(MID(SUBSTITUTE("," & C2&REPT(" ",6),",",REPT(",",255)),1*255,255),",",""))
=TRIM(SUBSTITUTE(MID(SUBSTITUTE("," & C2&REPT(" ",6),",",REPT(",",255)),2*255,255),",",""))
=TRIM(SUBSTITUTE(MID(SUBSTITUTE("," & C2&REPT(" ",6),",",REPT(",",255)),3*255,255),",",""))
我们将采用每个公式并将它们包装在一个 vlookup 中 - 这将从 Tab1 中查找目标结束日期:
=VLOOKUP(TRIM(SUBSTITUTE(MID(SUBSTITUTE("," & C2&REPT(" ",6),",",REPT(",",255)),1*255,255),",","")),Tab1!$B:$D0,3,FALSE)
在此公式中,我假设要查找的数据在 Tab1!$B:$D0
中,并且我假设目标结束日期在第三列中。请注意,这还假定依赖列是 B 列。
这个公式将给我第一个依赖项的目标结束日期。
我们几乎准备好将它们包装到一个函数中,但在此之前,我们要防止 vlookup 错误:
=IFERROR(VLOOKUP(TRIM(SUBSTITUTE(MID(SUBSTITUTE("," & C2&REPT(" ",6),",",REPT(",",255)),1*255,255),",","")),'Tab1'!$B:$D0,3,FALSE),0)
现在我们可以使用 Max 函数组合所有三个,这将为我们提供最大(最新)日期:
=MAX(IFERROR(VLOOKUP(TRIM(SUBSTITUTE(MID(SUBSTITUTE("," & C2&REPT(" ",6),",",REPT(",",255)),1*255,255),",","")),'Tab1'!$B:$D0,3,FALSE),0),IFERROR(VLOOKUP(TRIM(SUBSTITUTE(MID(SUBSTITUTE("," & C2&REPT(" ",6),",",REPT(",",255)),2*255,255),",","")),'Tab1'!$B:$D0,3,FALSE),0),IFERROR(VLOOKUP(TRIM(SUBSTITUTE(MID(SUBSTITUTE("," & C2&REPT(" ",6),",",REPT(",",255)),3*255,255),",","")),'Tab1'!$B:$D0,3,FALSE),0))