[英]How to split a string of text in excel based on a given word?
我在 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
如果您想避免使用 VBA,以下公式可能適合您:
=LEFT(A2,FIND(B2,A2)-2)
=RIGHT(A2,LEN(A2)-FIND(B2,A2)+1)
您可以將其用作兩個函數(一個返回左側部分,另一個返回右側部分):
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.