說我有一個excel域中的字段,我想爲了排序目的顛倒子域domain和tld的順序。例如:顛倒excel公式中的域文本(拆分,反向數組,連接)
「my.sub.domain.example.org」 變成 「org.example.domain.sub.my」
你會怎麼做,在Excel中?
說我有一個excel域中的字段,我想爲了排序目的顛倒子域domain和tld的順序。例如:顛倒excel公式中的域文本(拆分,反向數組,連接)
「my.sub.domain.example.org」 變成 「org.example.domain.sub.my」
你會怎麼做,在Excel中?
我不知道如何使用工作表函數來完成它,創建一個函數來爲你做這件事更容易。
如果您打開VBA編輯器,請插入一個新模塊並粘貼以下可在工作表上使用的功能。
Public Function Reverse(ByVal Expression As String, ByVal Delimiter As String) As String
Dim Data() As String
Dim Result As String
Dim Index As Integer
Result = ""
Data = Split(Expression, Delimiter)
Index = UBound(Data)
Result = Data(Index)
Do
Index = Index - 1
Result = Result & Delimiter & Data(Index)
Loop While Index > 0
Reverse = Result
End Function
例
A1 ="my.example.site.tld"
A2 ="=Reverse(A1,".")"
A2=="tld.site.example.my"
使用文本到列具有周期分隔符。那麼你可以使用= concatenate(...)或&(連接操作數)按照你想要的順序和格式將它們拼接在一起。
(但張貼的VBA答案NickSlash是好的,這只是你想要的情況下非VBA)
感謝您的建議,但但NickSlash的建議會更好地工作,在我的情況,因爲我想這樣做,對進口數據定期。我知道我沒有在描述中準確地指定這個要求。 – JohannesH 2012-08-02 11:25:49