У меня есть три столбца в электронной таблице Excel 2013. Один - это идентификатор, один - ссылочный столбец, а другой - столбец. Некоторые строки ссылаются на другие строки, а на некоторые строки ссылаются другие строки. Ссылки могут быть отношениями «один ко многим» (многие вторичные строки ссылаются на одну важную строку). Можно ли заполнить ячейку списком ячеек, которые ссылаются на другую ячейку?

| ID   |  REF | REF-BY |
------------------------
| 001  |      |002,003 |
------------------------
| 002  | 001  |        |
------------------------
| 003  | 001  |        |
------------------------

Спасибо за помощь

1 ответ1

1

Обойти это можно, включив пользовательскую функцию в Excel, чтобы вычислить результат для вас. Включите следующий код в новый модуль в VBA. Нажмите Alt+F11, чтобы открыть редактор Visual Basic, а затем нажмите Вставить -> Модуль. Вставьте следующий код в новый модуль и снова закройте редактор Visual Basic.

Function MatchCriteria(ID As Range, REF As Range) As String
    Dim Cell As Range
    Dim Str As String
    For Each Cell In REF
        If Cell.Value = ID.Value And Cell.Row <> ID.Row Then
            If Str = vbNullString Then
                Str = Cells(Cell.Row, ID.Column).Value
            Else
                Str = Str & ", " & Cells(Cell.Row, ID.Column).Value
            End If
        End If
    Next Cell
    MatchCriteria = Str
End Function

Теперь вы можете использовать эту функцию, как показано на следующем рисунке.

Первый вход в функции определяет идентификатор, а второй вход определяет вашу "ссылку на столбец". Обратите внимание, что в моей версии excel (датский) разделителем ввода является " ; . Если вы используете английскую версию Excel вы должны использовать ,

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .