我在excel中有公司,城市和州的组合列表,每个字符串。我想根据给定的单词(城市名称)将单词字符串拆分,结果分为两列,一列带有公司名称,一列带有城市和州。
分隔空格或符号定界符不起作用,因为这些公司都不全都有一个单词名称,而城市名称都相似。
我有成千上万的记录,也想循环播放。我已经尝试在VBA中使用SPLIT()函数,但是不确定如何循环它。
Initial Splitting word Result 1 Result 2
Clean Choc Detroit MI Detroit Clean Choc Detroit MI
Space Kites Des Moines IA Des Moines Space Kites Des Moines IA
Tattoosie Chicago IL Chicago Tattoosie Chicago IL
One for Two New York City NYNew York City One for Two New York City NY
Limonistas Carlsbad CA Carlsbad Limonistas Carlsbad CA
答案 0 :(得分:1)
如果要避免使用VBA,可以使用以下公式:
=LEFT(A2,FIND(B2,A2)-2)
=RIGHT(A2,LEN(A2)-FIND(B2,A2)+1)
答案 1 :(得分:0)
您可以将其用作两个函数(一个返回左部分,另一个返回右部分):
Function split1(str As String, dlmtr As String) As String
Dim pt1() As String
pt1 = Split(str, dlmtr)
split1 = pt1(0)
End Function
Function split2(str As String, dlmtr As String) As String
Dim pt2() As String
pt2 = Split(str, dlmtr)
split2 = dlmtr & " " & pt2(1)
End Function
请注意,预期的分隔符是区分大小写
或作为子例程(必要时进行调整):
Sub split_strings()
Dim rng As Range
Dim dmltr As String: dmltr = "Detroit"
Set rng = Range("A1")
Dim splt() As String
splt = Split(rng.Value, dmltr)
rng.Offset(0, 1).Value = splt(0)
rng.Offset(0, 2).Value = dmltr & " " & splt(1)
End Sub