Você pode usar uma fórmula de matriz para fazer essa pesquisa. Onde seus dados originais estão em A1:D6
, você pode usar essa fórmula (ajustar as referências de planilha para corresponder à sua pasta de trabalho):
=INDEX(SheetA!$B$1:$B$6,MIN(IF(SheetA!$A$1:$A$6=SheetB!A1,IF(SheetA!$B$1:$B$6="",2000000,ROW(SheetA!$B$1:$B$6)),2000000)))
Cole isto na barra de fórmulas e pressione Ctrl + Deslocar + Enter . Em seguida, preencha.
Explicação e suposições:
- As instruções
IF
dentro da funçãoMIN
formam uma matriz de valores numéricos. Para registros que atendem aos critérios (ou seja, correspondências de nome de domínio e registrador não estão em branco), o número da linha do registro é armazenado na matriz. Para registros que não atendem aos critérios, o número 2000000 é armazenado na matriz. - 2000000 é um número arbitrário maior que o número de linhas em uma planilha do Excel. Isso é apenas para garantir que nenhuma correspondência seja encontrada, a função
INDEX
retornará um erro. -
INDEX
retorna o valor em uma posição especificada em uma matriz. - O número da linha do registro está sendo usado como um substituto para a posição dos registros na tabela. Isso é bom se a tabela começar na linha 1 porque o registro 1 está na linha 1. No entanto, se os dados começarem em uma linha diferente, será necessário ajustar a fórmula para que isso funcione. Por exemplo, se o registro 1 estiver na linha 2, você precisará substituir
ROW($B$2:$B$7)
porROW($B$2:$B$7)-1
. Caso contrário, a funçãoINDEX
retornará o registrador incorreto.