多级项目编号中每级编号合并全称

小伙伴们好,今天要分享的是群里一个小伙伴的实际问题。她从系统导出的表格中,有多级项目编号,每级编号的名称是简称(不包含上级编号的名称)。现在她的需求是要把每级编号的名称合并成全称(也就是要包含所有的上级编号的名称)。下面看下截图,数据量有3000多条,截取一部分。

A,B两列是源数据,A列是多级项目编号,比如134是1级,134.01是2级,134.01.01是3级,134.01.02也是3级。B列是对应的名称,不过没有包含上级名称。C列是她想要的效果,就是在下级编号的名称中要把所属上级的所有编号名称合并起来。

为了名称那一列有点层次结构,在D列添加辅助列,D2单元格输入公式=REPT(" ",LOOKUP(LEN(A2)-LEN(SUBSTITUTE(A2,".",)),{0,0;1,2;2,4;3,6}))&B2,向下填充,得到下图缩进后的效果。这一步对实际的结果没有什么作用,就是为了好看一点。

在C2单元格中输入公式=IFERROR(LOOKUP(,-FIND(A$1:A1,A2),C$1:C1)&"  "&B2,B2),向下填充,完成。这个公式主要用的是lookup+find的套路,还有就是C列单元格的值,要引用它所在单元格的以上区域,比如C3的值要引用C1:C2的范围,以此类推。

光说不练假把式,练习文件在此:

https://pan.baidu.com/s/1JBnf3JHniRikq2l-JxF1cA

提取码:kz14

(0)

相关推荐