Excel:查找列中的值

我有一个Excel电子表格,包含多个不同长度的列,每个列都填充了未分类的数字。 每列都有一个标题。

有没有办法确定哪个列包含这个数字?

例如,我希望能够做= WHICHCOLS(123,A,Z),并让Excel告诉我列[B,C和K]包含值为123的单元格。虽然,理想情况下,我以逗号分隔的标题列表之后。

同样足够的是find所有的细胞,在一个或多个范围内,具有这​​个价值; 例如[B19,C32和K908]。

我觉得我忽视了一些明显的内置function。

可能有一个内置的方法来做到这一点,但你也可以写自己的function。

把这段代码放在一个VBA Module

 Public Function WHICHCOLS(searchValue As Double, srcRange As Range) As String Dim rangeColumn As Range Dim columnCell As Range Dim headerRow As Long headerRow = 1 ' HeaderInformation is in RowNr 1 ' WHICHCOLS = vbNullString For Each rangeColumn In srcRange.Columns For Each columnCell In rangeColumn.Cells If columnCell = searchValue Then If WHICHCOLS <> vbNullString Then WHICHCOLS = WHICHCOLS & ", " WHICHCOLS = WHICHCOLS & srcRange.Parent.Cells(headerRow, columnCell.Column) Exit For End If Next columnCell Next rangeColumn End Function 

Excel中的示例调用将是:

 =WHICHCOLS(7,A2:F3)