2

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

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

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

1 |

5 | E

7 | G

(причина 4 | У DDDD нет эквивалента в первой таблице)


переформулируйте вопрос для запроса:

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

первая таблица:

компания A | value1

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

Вторая таблица (только что переключил две колонки):

значение 1 | companyD

значение22 | CompanyA

значение1 | CompanyA

Нужна эта информация:

компания A | значение1 - потому что эта строка одинакова для обеих таблиц

1 ответ1

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

Данные выглядели так:

И после VBa работает:

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