我正在努力寻找一种方法来寻找"未知"多列的值。当它出现时,我想将值出现的所有标题列返回到B列中每行的一个单元格中。
例如对于第2行(标题行下面的第一行),我希望它返回每个列名称" Unknown"仅从第F列到第Y列出现第2行,并将列名称放在B2中。我想为我所有的9064行重复这个过程。
我正在使用Excel 2010.我查找匹配索引,但无法找到办法做我想做的事情。有没有办法在多个列中查找值并返回值出现在该行中的每个列标题,并将所有列标题放入一个单元格中?
答案 0 :(得分:0)
这是一个自定义功能。首先将以下代码放在常规模块中(Alt + F11>>插入>>模块>>复制/粘贴>> 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中输入以下公式,使用CONTROL + SHIFT + ENTER确认,然后复制:
=SUBSTITUTE(AConcat(IF(LEFT(F2:Y2,3)="Unk",", "&$F$1:$Y$1,"")),", ","",1)