Arrastar a fórmula do índice para baixo ao usar matrizes

1

Em esta página mais antiga, Dan O'Day Fornece e excelente fórmula Excel para ajudar com a consulta e retorno de vários valores de referência para uma determinada chave em colunas separadas. A fórmula é:

=INDEX($C$2:$C$8, SMALL(IF($B$12=$B$2:$B$8, ROW($B$2:$B$8)-MIN(ROW($B$2:$B$8))+1, ""), COLUMN(A1)))

No entanto, estou descobrindo que não consigo arrastar a fórmula para baixo para outras colunas porque as matrizes impedem que a fórmula reconheça a nova célula, especificamente após

SMALL(IF($B$12
         ^^^^^

Eu posso arrastar pelas colunas, mas não verticalmente. Além de entrar em cada nova célula vertical e ajustar o número de células na fórmula, como posso arrastar a fórmula para baixo para que seja atualizada automaticamente com as novas informações da célula?

    
por Liz 07.03.2013 / 17:25

1 resposta

2

É a função COLUMN no final que você precisa alterar se quiser copiar a fórmula em vez de cruzar - você pode usar ROW como este

= ÍNDICE ($ C $ 2: $ C $ 8, PEQUENO (SE ($ B $ 12 = $ B $ 2: $ B $ 8, LINHA ($ B $ 2: $ B $ 8) -MIN (ROW ($ B $ 2: $ B $ 8)) + 1), LINHA (A1) ))

ou, na verdade, é mais "robusto" usar a função ROWS , portanto, se a primeira fórmula estiver em D3 , use esta versão copiada para baixo

= ÍNDICE ($ C $ 2: $ C $ 8, PEQUENO (SE ($ B $ 12 = $ B $ 2: $ B $ 8, LINHA ($ B $ 2: $ B $ 8) -MIN (ROW ($ B $ 2: $ B $ 8)) + 1), LINHAS (D $ 3: D3) ))

    
por 07.03.2013 / 19:44