Excel: найти значение в столбцах - PullRequest
0 голосов
/ 23 июля 2010

У меня есть таблица Excel с несколькими столбцами разной длины, каждый из которых заполнен несортированными числами.У каждого столбца есть заголовок.

Есть ли способ определить, какие столбцы содержат это число?

Например, я бы хотел иметь возможность сделать = WHICHCOLS (123,A, Z) и в Excel укажите, что столбцы [B, C и K] содержат ячейки со значением 123. Хотя, в идеале, я должен использовать список заголовков, разделенных запятыми.найти все ячейки в диапазоне (или диапазонах), которые имеют это значение;например, [B19, C32 и K908].

Мне кажется, что я упускаю из виду некоторую очевидную встроенную функцию.

1 Ответ

2 голосов
/ 24 июля 2010

Для этого может быть встроенный способ, но вы также можете написать свою собственную функцию.

Поместите этот код в 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...