有人知道Excel中的一个功能会将其分开:
Tottenham Court Road 28 Apartment 8
到Tottenham Court Road 28
和Apartment 8
?
类似于“在第一个号码之后 - 分成另一列”。
答案 0 :(得分:2)
公式方法的更短版本:
左侧
=TRIM(LEFT(A1,FIND(" ",A1, MIN(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9},A1),"")))))
右侧
=TRIM(MID(A1,FIND(" ",A1,MIN(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9},A1),""))),LEN(A1)))
两者都作为数组公式输入(按Ctrl-Shift-Enter)
答案 1 :(得分:1)
这应该有效:
左侧:
=TRIM(LEFT(A1,FIND(" ",A1,MIN(IFERROR(FIND(0,A1),LEN(A1)),IFERROR(FIND(1,A1),LEN(A1)),IFERROR(FIND(2,A1),LEN(A1)),IFERROR(FIND(3,A1),LEN(A1)),IFERROR(FIND(4,A1),LEN(A1)),IFERROR(FIND(5,A1),LEN(A1)),IFERROR(FIND(6,A1),LEN(A1)),IFERROR(FIND(7,A1),LEN(A1)),IFERROR(FIND(8,A1),LEN(A1)),IFERROR(FIND(9,A1),LEN(A1))))))
右侧:
=TRIM(MID(A1,FIND(" ",A1,MIN(IFERROR(FIND(0,A1),LEN(A1)),IFERROR(FIND(1,A1),LEN(A1)),IFERROR(FIND(2,A1),LEN(A1)),IFERROR(FIND(3,A1),LEN(A1)),IFERROR(FIND(4,A1),LEN(A1)),IFERROR(FIND(5,A1),LEN(A1)),IFERROR(FIND(6,A1),LEN(A1)),IFERROR(FIND(7,A1),LEN(A1)),IFERROR(FIND(8,A1),LEN(A1)),IFERROR(FIND(9,A1),LEN(A1)))),999))
答案 2 :(得分:0)
没有测试假设所提供的示例可能是众多(即使所有类似格式)之一,但只有一种方法是将ColumnA(假设您的数据所在)复制到ColumnE,将Text应用于列以空格作为分隔符,然后在B1中:
=TRIM(LEFT(A1,FIND(OFFSET(E1,,MATCH(INDEX(E1:Z1,MATCH(1,INDEX(ISNUMBER(E1:Z1)+0,0),0)),E1:Z1,0)),A1)-1))
并在C1:
=TRIM(MID(A1,FIND(OFFSET(E1,,MATCH(INDEX(E1:Z1,MATCH(1,INDEX(ISNUMBER(E1:Z1)+0,0),0)),E1:Z1,0)),A1),LEN(A1)))
同时复制到适合。
答案 3 :(得分:0)
假设您的原始地址位于单元格A2中,我建议您使用一大堆辅助列,然后您将隐藏它们。这允许您在每列中使用简单的简单公式,这有助于调试。
考虑到这一点,这个解决方案与Taosique提供的解决方案相同,只是按照我喜欢的方式进行。
我会使用以下列标题:
即。重要的列B到K包含所有数字。这些列中的每一列都将用于搜索0到9中的每个数字。
在B2中使用此公式,复制到K2。它将为您提供任何找到的数字的偏移量:
=IFERROR(search(B$1,$A2),len($A2))
L2通过取以前列的最小值找到第一个数字:
=min(B2:K2)
M2找到此数字后面的第一个空格,为您提供所需的分割索引:
=search(" ",$A2,L2)
N2和O2只根据上面的索引获取字符串的LEFT
和RIGHT
:
=left($A2,M2-1)
=right($A2,len($A2)-M2)
在列上展开的简单公式 - 现在隐藏列并且您已经完成了设置。
如果将来拆分字符串的公式发生变化,您可以轻松调整简单公式。
答案 4 :(得分:-1)
公式是可能的,但这里不太可行。我们假设您的全文位于单元格A1
中:
Tottenham Court Road 28 Apartment 8
然后在单元格B1
中,我们将在第一个数字后确定第一个空格的索引:
=SEARCH(" ",A1,IFERROR(SEARCH("0",A1),IFERROR(SEARCH("1",A1),IFERROR(SEARCH("2",A1),IFERROR(SEARCH("3",A1),IFERROR(SEARCH("4",A1),IFERROR(SEARCH("5",A1),IFERROR(SEARCH("6",A1),IFERROR(SEARCH("7",A1),IFERROR(SEARCH("8",A1),IFERROR(SEARCH("9",A1),1)))))))))))
知道这一点,在单元格C1
中我们有表达式的第一部分:
=LEFT(A1,B1-1)
在单元格D1
中,我们有第二部分:
=MID(A1,B1+1,LEN(A1))