Localizar interseção de matriz de 2 fórmulas de matriz de correspondência

0

Como faço para encontrar a interseção de duas funções de correspondência usando a fórmula de matriz (pressionando as teclas CTR + SHIFT + ENTER).

Atualmente, tento usar essa fórmula de matriz, mas não consigo obter nenhum resultado.

{=MATCH(B2,Sheet2!$A$2:$A$5) MATCH(C2,Sheet2!$B$2:$B$5)}

Por exemplo, os dados na Planilha2 são parecidos com os abaixo.

     A          B          C
1    Code       Type       Value
2    ID1        DIRECT     100
3    ID1        INDIRECT   130
4    ID2        DIRECT     200
5    ID2        INDIRECT   110

E meus dados na Planilha1 parecem com o seguinte.

     A          B          C
1    Date       Code       Type     
2    3/1/2013   ID2        INDIRECT     

Usando a fórmula de matriz acima, espero obter a interseção de dois vetores (de números de linha):

= {4,5} {3,5}
= {5}
    
por Dino 10.03.2013 / 05:46

3 respostas

1

Experimente esta fórmula (introduzida como fórmula de matriz):

=MATCH(B2&C2,Sheet2!$A$2:$A$5&Sheet2!$B$2:$B$5,0)
    
por 11.03.2013 / 08:30
0

Eu posso obter uma matriz que inclui números de linha para correspondências e um valor fictício para não correspondências. Com a entrada da matriz:

=IF($A$2:$A$5=D2,IF($B$2:$B$5=E2,ROW($A$2:$A$5),2000000),2000000)

Eu também posso obter as correspondências em células individuais, mas não em uma matriz em uma célula. Com a entrada da matriz (na linha 2) e preencha até encontrar um valor fictício:

=SMALL(IF($A$2:$A$5=D2,IF($B$2:$B$5=E2,ROW($A$2:$A$5),2000000),2000000),ROW()-1)

Para reduzir o array apenas ao tamanho das correspondências, acredito que você precisará de uma função VBA (bastante simples).

    
por 11.03.2013 / 05:58
0

Se você espera apenas um único jogo, a sugestão de Peter deve fazer o que você deseja. Caso contrário, você pode estender a solução da Excellll para obter uma matriz que contenha apenas os números de linha correspondentes, por exemplo, se as linhas 2 e 5 corresponderem em ambas as colunas, essa fórmula retornará {2; 5}

=SMALL(IF(($A$2:$A$5=D2)*($B$2:$B$5=E2),ROW($A$2:$A$5)),ROW(INDIRECT("1:"&SUM(($A$2:$A$5=D2)*($B$2:$B$5=E2)))))

confirmado com CTRL+SHIFT+ENTER

Nota: se este for um passo intermediário no caminho para um resultado diferente, então este pode não ser o melhor método .....

    
por 11.03.2013 / 10:45