将单个Excel列拆分为两个单独的列,将值拆分?
问题描述:
如何分割,其值被定义为这样一个Excel柱:将单个Excel列拆分为两个单独的列,将值拆分?
= HYPERLINK(“http://whatever.com”,“网站标题”)
成两个单独的列,一个与标题(“网站标题”)和另一个与URL(“http://whatever.com”)
任何人?
(这是用于Excel 2010)
答
如果您愿意使用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。它会把你想要的两个值放在你的单元格右边的两个单元格中。
警告:如果由于某种原因,您的超链接中有一个逗号,这只会返回逗号前的部分网址。
答
这是一个不使用VBA的替代方案。
-
选择范围,使用查找替换来更改=符号到别的东西(如#)。这将替换公式与像
“#HYPERLINK(‘http://whatever.com’,‘网站标题’)”
使用文本分列,使用“(双引号)作为分隔符,和字符串丢弃除网址和网站标题以外的所有列。
这就好了!谢谢! – 2012-07-18 04:07:52