将单个Excel列拆分为两个单独的列,拆分值?

时间:2012-07-18 00:07:04

标签: excel excel-2010

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

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

分为两个单独的列,一个带有标题(“网站标题”),另一个带有URL(“http://whatever.com”)

(这适用于Excel 2010)

2 个答案:

答案 0 :(得分: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。它会将您想要的两个值放在单元格的右侧。

警告:如果由于某种原因您的超链接中包含逗号,则只会在逗号之前返回网址的部分。

答案 1 :(得分:0)

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

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

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

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