如何拆分含百分比及物料名称的数据列以完成数据清洗?
拆分物料百分比数据的公式方法
一、先在%与物料名间加空格:完全可行,是关键预处理步骤
这一步能统一格式,让后续拆分规则更明确,避免因格式混乱导致拆分出错。用SUBSTITUTE函数就能快速实现:
在辅助列(比如B列)输入公式:
=SUBSTITUTE(A2,"%","% ")
下拉填充后,原数据里的30%water会变成30% water,统一成「百分比+空格+物料名」的格式,后续拆分更精准。
二、拆分到单独列的公式方案
根据你的Excel版本,有两种不同的实现方式:
1. 适用于Excel 365/2021(支持动态数组)
这种版本的函数能自动溢出结果,不用手动下拉:
- 提取所有百分比到单独列:在C2单元格输入
按下回车后,公式会自动把每个物料对应的百分比拆分到C2、D2、E2...等列。=TEXTBEFORE(TEXTSPLIT(B2," | ")," ",1) - 提取所有物料名到单独列:在对应起始列(比如F2)输入
同样自动溢出到后续列,每个单元格对应一个物料名。=TEXTAFTER(TEXTSPLIT(B2," | ")," ",1)
2. 适用于旧版Excel(无动态数组支持)
需要手动逐个提取条目,再拆分百分比和物料名:
- 提取第N个物料条目:比如要提取第1个条目,在C2输入
把公式里的=TRIM(MID(SUBSTITUTE(B2," | ",REPT(" ",LEN(B2))),(1-1)*LEN(B2)+1,LEN(B2)))1改成2就是第2个条目,以此类推,下拉填充获取所有条目。 - 拆分百分比:在D2输入
=LEFT(C2,FIND(" ",C2)-1) - 拆分物料名:在E2输入
=RIGHT(C2,LEN(C2)-FIND(" ",C2))
三、替代方案:Power Query(更直观,适合大量数据)
如果数据量较大,用Power Query操作更省心:
- 选中数据列 → 「数据」选项卡 → 「从表格/范围」导入Power Query
- 选中列 → 「拆分列」→ 按分隔符
|拆分,拆分为多个列 - 对每个拆分后的列,再次「拆分列」→ 按「第一个空格」拆分,拆分为百分比和物料名列
- 关闭并上载数据,就能得到拆分后的表格
内容的提问来源于stack exchange,提问作者Katie Jones
相关产品推荐
相关产品推荐

