在我的电子表格中,有一个WorkItemRange
,其中包含一列工作项ID和另一列指向外部网站的链接,这是一个归结为以下内容的公式:
=HYPERLINK("http://some-tfs/_workitems/edit/" & A1, "TFS Link")
在同一个电子表格中,但在另一个工作表中,有一列VLOOKUP
想要获取HYPERLINK
。
=VLOOKUP("SomeWorkItemID",WorkItemsRange,2,FALSE)
但VLOOKUP
仅返回TFS Link
而非基础网址"http://some-tfs/workitem/" & A1
。
我需要在第二个工作表中重新创建超链接,如下所示:
=HYPERLINK(?VLOOKUP(), "Click here to open Work Item")
如何制定我的VLOOKUP
以便它返回基础网址?不可否认,因为第二张确实可以访问工作项ID,所以我可以从HYPERLINK
复制原始的WorkItemRange
公式,但是Range和公式都应该位于隐藏的工作表中电子表格的临时用户无法使用。
另外值得注意的是,这个工作表完全没有VBA,我想保持这种方式。
编辑:我还要求没有Excel 4.0功能的解决方案,如果有的话。
任何信息表示赞赏。这是我在SO和gosh的第一个问题,我希望我做得对。
答案 0 :(得分:0)
遵循该计划:
您可以使用以下公式从公式 - >名称管理器添加名称:
RetHYP -> =GET.FORMULA(INDEX(Sheet1!$A$12:$A$14;MATCH(Sheet1!$B$13;Sheet1!$A$12:$A$14)))
并在单元格中:
B14 -> =HYPERLINK(MID(RetHYP;1+FIND("""";RetHYP);FIND(";";RetHYP)-(2+FIND("""";RetHYP)));INDEX(A12:A14;MATCH(Sheet1!$B$13;Sheet1!$A$12:$A$14)))
RetHYP返回HYPERLINK的公式,在单元格中重建了HYPER ...
使用VBA: 使用此功能,您可以使用Hyper:
Public Function ExtraxtHYP(AllCell As Range, LinkS As String) As String
Dim Stri, StriN, StriA, AddrS As String
Dim xx As Range
For Each xx In AllCell
If xx.Value = LinkS Then
Stri = Mid(xx.Formula, InStr(1, xx.Formula, "&") + 1, InStr(1, xx.Formula, ",") - InStr(1, xx.Formula, "&") - 1)
StriN = Trim(xx.Parent.Name) & "!" & Trim(Stri)
StriA = (Mid(xx.Formula, InStr(1, xx.Formula, """"), InStr(1, xx.Formula, ",") - InStr(1, xx.Formula, """")))
StriA = Left(StriA, InStr(1, StriA, "&")) & StriN
StriA = Application.Evaluate(StriA)
ExtraxtHYP = StriA
Exit Function
End If
Next
End Function
First Arg它是主表单中的范围,第二个是您搜索的链接...
使用此值可以构建链接(示例:在B10中您有“Libero”):
=HYPERLINK(ExtraxtHYP(Sheet1!A12:A14;Sheet2!B10);B10)
我重复使用一些隐藏列以明确方式获取数据的最佳方式......