Excel:跨多个列查找值并返回标题列

我试图find一种方法来查找多个列中的“未知”值。 当它存在时,我想将列中出现的所有标题列返回到列B中的每一行的一个单元格中。

例如,对于第2行(我的标题行下面的第一行),我希望它返回从F列到Y列的每个列名称,仅列2,并将列名称放在B2中。 我想重复这个过程为我所有的9064行。

我正在使用Excel 2010.我查找了匹配索引,但无法find一种方法来做我想做的事情。 有没有办法在多个列中查找一个值,并返回该列中值的每个列标题,并将所有列标题放到一个单元格中?

数据视图

这是一个自定义函数。 首先将下面的代码放在常规模块中(Alt + F11 >> Insert >> Module >> Copy / paste >> Alt + Q)…

Function AConcat(a As Variant, Optional Sep As String = "") As String ' Harlan Grove, Mar 2002 Dim Y As Variant If TypeOf a Is Range Then For Each Y In a.Cells AConcat = AConcat & Y.Value & Sep Next Y ElseIf IsArray(a) Then For Each Y In a AConcat = AConcat & Y & Sep Next Y Else AConcat = AConcat & a & Sep End If AConcat = Left(AConcat, Len(AConcat) - Len(Sep)) End Function 

然后在AA2中input以下公式,用CONTROL + SHIFT + ENTER确认,然后复制下来:

 =SUBSTITUTE(AConcat(IF(LEFT(F2:Y2,3)="Unk",", "&$F$1:$Y$1,"")),", ","",1)