在Excel公式中反转域文本(拆分,反转数组,连接)

说我有一个领域的excel与域名,我想扭转的子域,域和tld,为了sorting目的的顺序。 例如:

“my.sub.domain.example.org”变成“org.example.domain.sub.my”

你如何在Excel中做到这一点?

我不知道如何使用工作表函数来实现它,创build一个函数来为你做这件事更容易。

如果打开VBA编辑器,插入一个新模块并粘贴以下function,您可以在工作表上使用它。

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)