Fórmula do Excel: encontre e recupere os valores ausentes -

Índice

Fórmula genérica

=INDEX(complete,MATCH(TRUE,ISNA(MATCH(complete, partial_expanding,0)),0))

Resumo

Para comparar duas listas e extrair os valores ausentes de uma lista para a outra, você pode usar uma fórmula de matriz baseada em INDEX e MATCH. No exemplo mostrado, o último valor da lista B está na célula D11. A fórmula em D12, copiada, é:

=INDEX(complete,MATCH(TRUE,ISNA(MATCH(complete,$D$5:D11,0)),0))

onde "completo" é o intervalo nomeado B5: B15.

Observação: esta é uma fórmula de matriz e deve ser inserida com control + shift + enter.

Explicação

Trabalhando de dentro para fora, o núcleo desta fórmula é a expressão interna MATCH:

ISNA(MATCH(complete,$D$5:D11,0)

Aqui, a função MATCH é usada para comparar todos os valores "completos" com a lista parcial. O intervalo nomeado "completo" é usado para valores de pesquisa e a lista parcial é usada como a matriz de pesquisa. Observe, entretanto, que a lista parcial é inserida como um intervalo de expansão que termina "uma célula acima" da célula da fórmula. Isso permite que a lista parcial se expanda para incluir novos valores conforme aparecem abaixo da lista original.

O resultado de MATCH é uma matriz de números e erros # N / A, onde os números representam valores na lista completa que existem na lista parcial; e os erros representam valores ausentes:

(1;#N/A;2;3;#N/A;4;5;6;#N/A;7;#N/A)

A função ISNA é usada para converter esses resultados em uma matriz de valores TRUE e FALSE. Nesta matriz, TRUE corresponde aos valores ausentes e FALSE corresponde aos valores existentes:

(FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE)

A função ISNA retorna esta matriz para o MATCH externo como a matriz de pesquisa. A função MATCH sempre retorna a primeira correspondência encontrada, portanto, a correspondência retornará a posição (linha) do primeiro valor ausente encontrado. Este resultado é retornado a INDEX como o número da linha, com o intervalo nomeado "completo" fornecido como a matriz.

Na célula D12, o primeiro valor ausente encontrado é "kiwi" na linha 2, então temos:

=INDEX(complete,2) // returns "kiwi"

Em D13, "kiwi" agora está incluído na referência de expansão, então o primeiro valor ausente é "pera":

=INDEX(complete,5) // returns "pear"

E assim por diante. Depois que todos os valores ausentes forem adicionados, a fórmula retornará o erro # N / A.

Artigos interessantes...