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

我想要做的是创建一个查找函数,其中有人输入一个文档号,它沿着该文档号的行进行搜索,只要有X,就读取该列的文档号(将在第1行中),然后返回引用的所有文档编号。
我对Excel/VBA完全陌生,我想知道是否有人能为我指明正确的方向。
谢谢!
发布于 2016-02-15 05:08:25
抱歉,我的剧本太乱了,但这可能就是你想要的。
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发布于 2016-02-15 04:44:25
公式:=间接(地址(1,匹配(“X”,间接(“B”&MATCH(O9,$A$2:$A$21)+1&":M"&MATCH(O9,$A$2:$A$21)+1)+1)似乎是可行的。
单元格O9是输入单元格,在该单元格中键入要在表中查找的值。该值在单元格范围: A2:A21中查找,然后函数在该行中查找X。它返回该列第1行中的值。
在这个例子中,带有X的表是B2:M21,它由嵌套的间接函数处理。
https://stackoverflow.com/questions/35399857
复制相似问题