交叉引用文档的VLookup

我有一个交叉引用的Excel电子表格,它具有行和列中的文档编号,当文档引用另一个时,我在对应于这两个单元格的单元格中放置一个X.

在这里输入图像说明

我想要做的是创build一个查找function,在那里有人input一个文档编号,并沿着该文档编号的行进行search,并在任何地方有一个X读取文档编号是为该列(这将在第1行)那么它将返回所有引用的文档号码。

我对Excel / VBA完全陌生,想知道是否有人能指出我正确的方向。

谢谢!

对不起,我的杂乱的脚本,但这可能是你以后。

Function RefDocs(r As Range, c As Range, x As Range) As String ' Generates a list of references for X ' Variables ' r - range for the vertical IDs (eg A2:A16) ' c - range for horizontal IDs (eg B1:P1 ' x - the cell you've got the document ID you're cross referencing Dim lOffset As Long Dim rg As Range, rFind As Range Set rFind = r.Find(What:=x.Value) If rFind Is Nothing Then Exit Function lOffset = rFind.Row - c.Row With r.Parent For Each rg In c If rg.Offset(lOffset, 0).Value = "X" Then RefDocs = RefDocs & .Cells(c.Row, rg.Column).Value & "; " End If Next rg End With End Function 

公式:= INDIRECT(ADDRESS(1,MATCH(“X”,INDIRECT(“B”&MATCH(O9,$ A $ 2:$ A $ 21)+1&“:M”&MATCH(O9,$ A $ 2:$ A $ 21 )+1))+ 1))似乎可能工作

单元格O9是input单元格,您可以在表格中键入您正在查找的值。 该值在单元格范围内查找:A2:A21,然后函数在该行中查找X. 它返回该列的第1行中的值。

在这个例子中,带有X的表格是B2:M21,它由嵌套的间接函数处理。