繁体   English   中英

VLookup用于交叉参考文档

[英]VLookup for Cross Reference Document

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

在此输入图像描述

我想要做的是创建一个Lookup函数,其中某人输入一个文档编号,它沿着该文档编号的行搜索,并且只要有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 (e.g. A2:A16)
'   c - range for horizontal IDs (e.g. 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

公式:=间接(地址(1,匹配(“X”,间接(“B”和匹配(O9,$ A $ 2:$ A $ 21)+1&“:M”&MATCH(O9,$ A $ 2:$ A $ 21 )+1))+ 1))似乎它可能会起作用

单元格O9是输入单元格,您可以在其中键入要在表格中查找的值。 在单元格区域中查找该值:A2:A21,然后该函数在该行中查找X. 它返回该列的第1行中的值。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM