Excel formula 使用用于拆分分隔字符串的公式获取#值

Excel formula 使用用于拆分分隔字符串的公式获取#值,excel-formula,find,Excel Formula,Find,我的单元格包含0到5个名称,用分号分隔。例如: 2个名称: 莎士比亚,威廉;萨特,让·保罗 3个名称: 莎士比亚,威廉;萨特、让·保罗;石黑和夫 4个名称: 莎士比亚,威廉;萨特、让·保罗;石黑和夫,;布莱顿,伊妮德 我想把每个名字放进它自己的单元格,但对于一些公式,我得到了#值!错误 看这些公式我都快瞎了 如果有2个名称,则在新单元格3中,我有以下公式: =IF(SUM(LEN(F85))-SUM(LEN(SUBSTITUTE(F85,";","")))>1,TRIM(MID(F85&a

我的单元格包含0到5个名称,用分号分隔。例如:

2个名称:

莎士比亚,威廉;萨特,让·保罗

3个名称:

莎士比亚,威廉;萨特、让·保罗;石黑和夫

4个名称:

莎士比亚,威廉;萨特、让·保罗;石黑和夫,;布莱顿,伊妮德

我想把每个名字放进它自己的单元格,但对于一些公式,我得到了#值!错误

看这些公式我都快瞎了

如果有2个名称,则在新单元格3中,我有以下公式:

=IF(SUM(LEN(F85))-SUM(LEN(SUBSTITUTE(F85,";","")))>1,TRIM(MID(F85&";", FIND(";",F85&";",FIND(";",F85&";",1)+1)+1,FIND(";",F85&";",FIND(";",F85&";",FIND(";",F85&";",1)+1)+1)- FIND(";",F85&";",FIND(";",F85&";",1)+1)-1)),"")
This works fine - I get an empty cell.

Where there are 3 names, in new cell 4 I have the following formula:
=IF(SUM(LEN(F85))-SUM(LEN(SUBSTITUTE(F85,",","")))>2,TRIM(MID(F85&";", FIND(";",F85&";",FIND(";",F85&";", FIND(";",F85&";",1)+1)+1)+1,FIND(";",F85&";",FIND(";",F85&";",FIND(";",F85&";", FIND(";",F85&";",1)+1)+1)+1)- FIND(";",F85&";",FIND(";",F85&";", FIND(";",F85&";",1)+1)+1)-1)),"")
=IF(SUM(LEN(F87))-SUM(LEN(SUBSTITUTE(F87,",","")))>3,TRIM(MID(F87&";", FIND(";",F87&";",FIND(";",F87&";", FIND(";",F87&";", FIND(";",F87&";",1)+1)+1)+1)+1,FIND(";",F87&";",FIND(";",F87&";",FIND(";",F87&";",FIND(";",F87&";", FIND(";",F87&";",1)+1)+1)+1)+1)- FIND(";",F87&";",FIND(";",F87&";", FIND(";",F87&";", FIND(";",F87&";",1)+1)+1)+1)-1)),"")
这一次,在新的第4单元,我得到了#值

如果有4个名称,在新单元格5中,我有以下公式:

=IF(SUM(LEN(F85))-SUM(LEN(SUBSTITUTE(F85,";","")))>1,TRIM(MID(F85&";", FIND(";",F85&";",FIND(";",F85&";",1)+1)+1,FIND(";",F85&";",FIND(";",F85&";",FIND(";",F85&";",1)+1)+1)- FIND(";",F85&";",FIND(";",F85&";",1)+1)-1)),"")
This works fine - I get an empty cell.

Where there are 3 names, in new cell 4 I have the following formula:
=IF(SUM(LEN(F85))-SUM(LEN(SUBSTITUTE(F85,",","")))>2,TRIM(MID(F85&";", FIND(";",F85&";",FIND(";",F85&";", FIND(";",F85&";",1)+1)+1)+1,FIND(";",F85&";",FIND(";",F85&";",FIND(";",F85&";", FIND(";",F85&";",1)+1)+1)+1)- FIND(";",F85&";",FIND(";",F85&";", FIND(";",F85&";",1)+1)+1)-1)),"")
=IF(SUM(LEN(F87))-SUM(LEN(SUBSTITUTE(F87,",","")))>3,TRIM(MID(F87&";", FIND(";",F87&";",FIND(";",F87&";", FIND(";",F87&";", FIND(";",F87&";",1)+1)+1)+1)+1,FIND(";",F87&";",FIND(";",F87&";",FIND(";",F87&";",FIND(";",F87&";", FIND(";",F87&";",1)+1)+1)+1)+1)- FIND(";",F87&";",FIND(";",F87&";", FIND(";",F87&";", FIND(";",F87&";",1)+1)+1)+1)-1)),"")
这一次,在新的第5单元,我得到了#值

我不明白为什么我会出错


我希望每个新单元格都包含姓氏、名字,但有些公式给出了#值!错误。

数据在A1中,在B1中输入:

=TRIM(MID(SUBSTITUTE($A1,";",REPT(" ",999)),COLUMNS($A:A)*999-998,999))
然后抄过来


该解决方案有帮助吗?