1

如何拆分其值定义如下的单个 Excel 列:

=HYPERLINK("http://whatever.com","网站标题")

分成两列,一列带有标题(“网站标题”),另一列带有 URL(“http://whatever.com”)

任何人?

(这是针对 Excel 2010 的)

4

2 回答 2

1

如果您愿意使用 VBA,这将起作用。

Option Explicit

Sub SplitHyperLinkFormula()
    Dim r As Range
    For Each r In Selection
        If InStr(1, r.Formula, "=hyperlink", vbTextCompare) = 1 Then
            r.Offset(0, 1).Value = GetHyperlink(r.Formula) 'Split URL
            r.Offset(0, 2).Value = r.Value                 'Split Title
        End If
    Next r
End Sub

Function GetHyperlink(s As String)
    'Requires =HYPERLINK formula, assumes hyperlink has no commas.
    s = Left(s, InStr(s, ",") - 2)
    GetHyperlink = Right(s, Len(s) - 12)
End Function

只需突出显示您需要拆分的任何内容并运行 SplitHyperLinkFormula。它会将您想要的两个值放在单元格右侧的两个单元格中。

警告:如果由于某种原因您的超链接中有逗号,这将只返回逗号之前的 URL 部分。

于 2012-07-18T00:34:11.043 回答
0

这是不使用 VBA 的替代方案。

  1. 选择范围,使用 Find Replace 将 = 符号更改为其他内容(如 #)。这用字符串替换公式

    '#HYPERLINK("http://whatever.com","网站标题")'

  2. 使用文本到列,使用“(双引号)作为分隔符,并丢弃除 URL 和网站标题之外的所有列。

于 2012-10-01T14:59:57.660 回答