给大家一个Excel拆分列问题。
假设我需要拆分 A 列中的所有单元格。
每个单元格包含多位空间数据,但并不总是包含相同的值范围。示例:
A1: FS13, 1000N, 10-20CM
B1: 1000N, 20-30
C1: FS18, 1017N, LVL2, 20-30CM
我需要为 FS、N、LVL 和 CM 添加新列。但您会注意到,并非每个单元格都包含所有空间数据,并且某些单元格的信息相对于列中的其他单元格而言顺序混乱。有没有办法拆分数据并将其排序为新列的正确顺序?
答案1
创建一个标题行,按所需顺序显示四种可能性。在数组公式中使用 CONCAT:
=CONCAT(IF(ISNUMBER(SEARCH(B$1,TRIM(MID(SUBSTITUTE($A2,",",REPT(" ",999)),(ROW($1:$4)-1)*999+1,999)))),TRIM(MID(SUBSTITUTE($A2,",",REPT(" ",999)),(ROW($1:$4)-1)*999+1,999)),""))
作为数组公式,退出编辑模式时必须使用 Ctrl-Shift-Enter 而不是 Enter 进行确认。
TRIM(MID(SUBSTITUTE($A2,",",REPT(" ",999)),(ROW($1:$4)-1)*999+1,999))
是遍历字符串并根据 将其分解为各个部分的部分,
。
我们在每个部分中搜索标题,如果存在,我们就将其返回给 CONCAT 或空字符串。
一旦微软发布了新的配方,我们就可以替换零件(ROW($1:$4)-1)
,SEQUENCE(4,,0)
并且不再需要输入数组。