2

假设我在 excel 中有一个带有域名的字段,我想颠倒子域、域和 tld 的顺序,以便进行排序。例如:

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

你会如何在excel中做到这一点?

4

2 回答 2

5

我不确定你将如何使用工作表函数来完成它,创建一个函数来为你做这件事要容易得多。

如果您打开 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"
于 2012-07-27T12:16:49.540 回答
1

使用带有句点分隔符的列的文本。然后您可以使用 =concatenate(...) 或 &(串联操作数)按照您想要的顺序和格式将它们拼接在一起。

(但 NickSlash 发布的 VBA 答案很好,这是以防万一您想要非 VBA)

于 2012-07-27T13:04:28.800 回答