Excel Vlookup два условия

надо искать в таблицах, найденных к ровно таким же строкам в этих двух таблицах.

enter image description here

между этими двумя таблицами у меня есть рабочий Поиск VLookup, но нужно иметь условие"и эти столбцы также равны на этой строке поиска".

Итак, в данном примере мне нужно показать только:

1|а

5 / E

7 / G

(Причина 4 / DDDD не имеет eqivalent в первом table)


re-слово вопрос для запроса:

нужно сравнить две таблицы и найти одинаковые строки (это две таблицы экспорта). У меня есть рабочий Vlookup между этими двумя таблицами (средний столбец). Но мне также нужно второе условие записи в этот пример Vlookup.

первой таблице:

компания | значение1

компания | значение 2

второй таблице (просто переключали две columns):

значение 1 / companyD

value22 | компания

значение1 | компания

надо эту информацию:

companyA / value1 -- потому что эта строка одинакова для обеих таблиц

26
задан Jerry1
11.01.2023 22:45 Количество просмотров материала 3618
Распечатать страницу

1 ответ

в вашем сообщении конкретно говорится формула листа, но я не очень хорошо знаю Excel. Однако, как обойти (так как у вас еще нет ответа), я предлагаю вам этот VBa.

Это должно заставить вас идти. Сначала создайте копию файла, так как VBA не имеет опции отмены! Поскольку вы упоминаете в своих комментариях, что понимаете некоторые VBa, я надеюсь, что ниже на самом деле ясно и легко редактируется в соответствии с вашими потребностями!

Option Explicit
Sub DoTheThing()

Dim row As Integer
row = 2

Dim innerRow As Integer
innerRow = 2

Range("G:G").Clear


Do While Range("A" & row).Value <> ""

    Dim company As String
    Dim companyValue As String

    company = Range("A" & row).Value
    companyValue = Range("B" & row).Value

    Do While (Range("D" & innerRow).Value <> "")

        If Range("D" & innerRow).Value = companyValue And Range("E" & innerRow).Value = company Then
            Range("G" & row).Value = Range("G" & row).Value & "Matches row " & innerRow & ". "
            Range("G" & innerRow).Value = Range("G" & innerRow).Value & "Matches row " & row & ". "
            exit do ' THIS IS NOT TESTED
        End If
        innerRow = innerRow + 1
    Loop
innerRow = 2
row = row + 1
Loop

End Sub

данные посмотрел like:

enter image description here

и после запуска VBa:

enter image description here

1
отвечен Dave 2023-01-13 06:33

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх