Excel Vlookup duas condições

2

Precisa pesquisar nas tabelas, encontradas exatamente nas mesmas linhas nessas duas tabelas.

Entreessasduastabelas,tenhoapesquisaVLookupativa,masprecisoteracondição"E essas colunas também são iguais nessa linha pesquisada".

Portanto, neste exemplo, preciso mostrar apenas:

1 | A

5 | E

7 | G

(causa 4 | DDDD não tem eqivalente na primeira tabela)

uma nova pergunta para solicitação:

precisa comparar duas tabelas e encontrar as mesmas linhas (são duas tabelas de exportação). Eu tenho Vlookup trabalhando entre essas duas tabelas (coluna do meio). Mas eu também preciso de segunda condição de gravação para este exemplo de Vlookup.

primeira tabela :

companyA | valor1

companyA | valor 2

segunda tabela (apenas trocou duas colunas):

valor 1 | companyD

value22 | companyA

value1 | companyA

Precisa desta informação:

companyA | value1 - porque esta linha é a mesma para ambas as tabelas

    
por Jerry1 30.01.2015 / 11:09

1 resposta

1

Sua postagem diz especificamente a fórmula da planilha, mas não conheço muito bem o Excel. No entanto, como uma solução (já que você ainda não teve resposta), ofereço-lhe este VBa.

Isso deve fazer você ir. Por favor, crie uma cópia do arquivo primeiro, pois o VBa não possui uma opção de desfazer! Já que você mencionou em seus comentários que você entendeu algum VBa, eu espero que o abaixo seja realmente claro e facilmente editável para atender às suas necessidades!

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

Os dados pareciam:

EdepoisdaexecuçãodoVBa:

    
por 30.01.2015 / 15:48