Как использовать индекс и сопоставление, когда найдено 2 значения

#excel #excel-formula

#excel #excel-формула

Вопрос:

Случай

У меня есть 2 таблицы: одна для консультаций (таблица 1), а другая в качестве базы данных (таблица 2).

В обеих таблицах есть столбец «Ссылка». Я хочу использовать значение в столбце «Ссылка» в таблице 1, чтобы найти значение в столбце «Ссылка» в таблице 2.

В таблице 2 есть еще 2 столбца: «результат первого появления» и «конечный результат». Как только найдено «ссылочное» значение в таблице 2, я хочу получить «окончательный результат». Если «конечный результат» пуст, я хочу получить «результат первого появления».

Реальная проблема заключается в том, что у меня есть несколько строк в таблице 2 с одинаковым значением для «Ссылки». Кроме того, я должен сделать это без какого-либо вспомогательного столбца.

Я приложу рисунок, который может помочь объяснить. Заранее спасибо

Я пытался использовать lookV и index с совпадением, но это не сработало бы из-за нескольких строк с одинаковым значением ссылки.

Ответ №1:

Как насчет UDF? Не самое динамичное решение, но оно будет работать для настройки статического листа, как в вашем примере:

 Function RETURNRESULT(refrng1 As Range, refrng2 As Range) As String

    Dim cell As Range

    For Each cell In refrng2
        If refrng1 = cell Then
            If cell.Offset(0, 7).Value <> "" Then
                RETURNRESULT = cell.Offset(0, 7).Value
                Exit For
            ElseIf cell.Offset(0, 6).Value <> "" And finalresult = False Then
                RETURNRESULT = cell.Offset(0, 6).Value
            End If
        End If
    Next cell

End Function
  

изображение 1

Комментарии:

1. Это здорово!!