Estou tentando efetivamente "Index if" - copiar uma lista com certos critérios

3

Eu tenho uma coluna de dados e um marcador ao lado dela. Pense:

ID # 1 - A
ID # 2 - B
ID # 3 - A

Estou tentando passar apenas os números de ID com o marcador A - então meu resultado final é

ID # 1: ID # 3

Isto é muito fácil de fazer com o VBA - Filtre o intervalo, copie, cole. Eu estou tentando encontrar uma solução não-VBA para este problema. Eu tenho tentado várias fórmulas de matriz - Índice (range, sumproduct (row * criteria)), mas eu não consigo fazê-lo funcionar. Como eu conseguiria que isso funcionasse?

A elegância computacional é um fator significativo - a planilha com a qual estou lidando deve ser um banco de dados devido ao seu tamanho, mas os poderes que prevaleceram nessa ideia.

    
por Selkie 21.06.2017 / 20:22

1 resposta

2

Uso:

=IFERROR(INDEX($A$1:$A$8,SMALL(IF($B$1:$B$8="A",ROW($B$1:$B$8),999999),ROW(A1))),"")

Small retornará os IDs com "A" para cada linha (do menor para o maior)
A1: A8 alterá-lo para corresponder a sua coluna de ID
B1: B8 alterá-lo para corresponder a sua coluna A
Mantenha $ para referências fixas
pressione Ctrl + Desloc + Digite ao invés de Digite é uma fórmula de matriz

    
por 21.06.2017 / 20:31