如何在 MS Excel 中提取工作分解结构第 3 级描述符

如何在 MS Excel 中提取工作分解结构第 3 级描述符

我想在 Excel 中返​​回我的第 3 级 WBS 结构,无论字符长度如何。

具体例子:如果我的 WBS 是 1.2.3.1,我想返回 1.2.3;如果我的 WBS 是 1.200.4.2,我想返回 1.200.4。换句话说,句点之间的字符长度无关紧要。

我正在使用,LEFT()但这没有考虑字符长度。任何帮助都将不胜感激。

答案1

我假设您需要做的就是删除第三个“。”及其后面的任何字符。在这种情况下,假设 WBS 字符串位于单元格 A1 中,您可以使用

=LEFT(A1,SEARCH(".",A1,SEARCH(".",A1,SEARCH(".",A1)+1)+1)-1)

如果 A1 包含“1.200.4.2”,则将返回“1.200.4”。

答案2

此公式将从存储在的完整描述符中提取 WBS 3 级描述符A1

=LEFT(A1,FIND("~",SUBSTITUTE(A1,".","~",3))-1)

请注意,此公式可以适用于提取任何级别描述符。只需替换3用所需的级别替换即可。

例如,要提取 2 级描述符,请使用:

=LEFT(A1,FIND("~",SUBSTITUTE(A1,".","~",2))-1)

另请注意,如果提供的描述符已经是 3 级,则此公式将返回错误。以下方法允许这种情况:

=
IFERROR(
  LEFT(A1,FIND("~",SUBSTITUTE(A1,".","~",3))-1),
  IFERROR(SUBSTITUTE(A1,".",".",2),NA())
)

您可能会发现另一个有用的公式是:

=LEFT(A1,FIND("~",SUBSTITUTE(A1,".","~",LEN(A1)-LEN(SUBSTITUTE(A1,".",""))-0))-1)

它返回祖先级别。请注意,此公式也是多级的。要返回上两级的祖先,请将 替换为-0-1要返回上三级,请使用-2等。

相关内容