如何在没有VBA的Excel Hyperlink中获取基础地址

时间:2014-07-24 03:21:25

标签: excel hyperlink excel-formula

在我的电子表格中,有一个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的第一个问题,我希望我做得对。

1 个答案:

答案 0 :(得分:0)

遵循该计划:

enter image description here

您可以使用以下公式从公式 - >名称管理器添加名称:

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)

我重复使用一些隐藏列以明确方式获取数据的最佳方式......