一、需求说明
想做成的目标效果:
数据如下所示:
C列、D列不关注,上图中A列数据格式为中类=大类+XX,小类=中类+YY=大类+XX+YY
举个例子 大类A01,中类A011,小类A0111,即从小类就可获得中类和大类
想要最后做成图一的效果,需要费点劲,问AI也画了大概一小时弄出来,在这里记录一下方便日后使用。
二、操作步骤
1.获取小类
先把小类筛出来,我这边D列有个level可以筛选,也可以根据A列的长度进行筛选,长度筛选方法如下:
全部选中-》筛选-》点击A列筛选按钮-》文本筛选
-》选择【等于】-输入?????(问号数量为A列小类值的位数)
新建sheet页选择4列作为输出列,我这选择A(大类)、B(中类)、C(小类代码)、D(小类)
把C和D列粘上刚才筛选出来的数据(粘贴值)
2.获取中类和大类
由于中类和大类可以由小类截取指定位数获得,且也存在与数据中,所以拿小类截取后的值去查找源数据即可,主要是公式
B列公式:
=XLOOKUP(LEFT(C2,4),Sheet1!A:A,Sheet1!A:A,"未找到")&" "&XLOOKUP(LEFT(C2,4),Sheet1!A:A,Sheet1!B:B,"未找到")
公式大概意思:截取C列的部分值作为中类码值,去Sheet1页A列去找,找到了就拼接Sheet页A列和B列的值
想进一步了解可以问AI。
同理得A列公式:
=XLOOKUP(LEFT(C2,3),Sheet1!A:A,Sheet1!A:A,"未找到")&" "&XLOOKUP(LEFT(C2,3),Sheet1!A:A,Sheet1!B:B,"未找到")
三、合并同类项
先把所有数据再粘贴值粘出来sheet3,现在的数据有公式不好处理
选中A列数据区域-》合并相同单元格
B列一样的操作,然后居中下,加上表头,再加点边框,最后如图所示:
完成!附上文件