我需要根据行内单元格的值从表中返回多个列标题

我在Excel中有一个表格,设置如下: tABLE布局

我需要做的是,在另一张纸上,根据下拉框的值select人的名字(即testing1,testing2等等),对照表进行查找,在单元格旁边的单元格中返回单元格中的值为Y的标题。

例如,根据上面的表格,如果从下拉列表中selecttesting1,那么返回的值应该是

技能1,技能4

任何意见,将不胜感激。 我试图按照这个post的答案中的指示,但不成功。

试试下面的UDF()

Public Function GetHeaders(r1 As Range, r2 As Range) As String Dim r As Range, s As String, rr As Range, rTOP As Range GetHeaders = "" s = r1.Text Set rTOP = r2.Rows(1).Cells For Each r In r2.Columns(1).Cells If r.Value = s Then For Each rr In Intersect(r.EntireRow, r2).Cells If rr.Value = "Y" Then GetHeaders = GetHeaders & "," & Intersect(rr.EntireColumn, rTOP).Value End If Next rr End If Next r GetHeaders = Mid(GetHeaders, 2) End Function 

因此,使用Sheet1中的数据,将下拉菜单放在Sheet2单元格B1Sheet2单元格A1中,input:

 =GetHeaders(B1,Sheet1!A1:F5) 

在这里输入图像说明

注意:我们传递整个表格,包括标题行/列。