拆分单个单元格中给出的名称而不使用文本到列 excel

Splitting names given in single cells without using text to column excel

我想使用 excel 公式拆分单个单元格中给定的多个名称。不想使用文本到列功能。例如

上面黄色是变量名,绿色是要求的格式

试试这个:

A2单元格全名,公式如下:

获取名字:

=LEFT(A2,SEARCH(" ",A2)-1)

获取姓氏:

=RIGHT(A2,LEN(A2)-SEARCH(" ",A2,1))

您分别在单元格 B2 和 C2 中输入公式,然后拖动填充柄将公式向下复制到列中。结果将类似于此:

参见 find the nth instance of a characterFIND(CHAR(1),SUBSTITUTE(string,delimiter,CHAR(1),nth))。首先,我们使用 LEFT(string,position_first-1)。最后一个:RIGHT(string,LEN(string)-position_last)。对于介于两者之间的所有人:MID(string,position_first+1,position_second-position_first-1).

所以,结合逻辑,我们可能会得到: =IFERROR(IFERROR(IF(B=1,LEFT($A2,FIND(CHAR(1),SUBSTITUTE($A2,"/",CHAR(1),1),1)-1),MID($A2,FIND(CHAR(160),SUBSTITUTE($A2,"/",CHAR(160),B-1),1)+1,FIND(CHAR(1),SUBSTITUTE($A2,"/",CHAR(1),1+B-1),1)-FIND(CHAR(1),SUBSTITUTE($A2,"/",CHAR(1),B-1),1)-1)),RIGHT($A2,LEN($A2)-FIND(CHAR(1),SUBSTITUTE($A2,"/",CHAR(1),B-1),1))),"")

IFERROR(...,"") 用于 return "" 最后一次出现(下图,在 G2 中)。嵌套的 IFERROR(... RIGHT) 将在最后一次出现时触发(因为 MID 将在那里失败;低于 F2)。