Estou tentando efetivamente "Indexar se" - copiar uma lista com determinados critérios

Estou tentando efetivamente "Indexar se" - copiar uma lista com determinados critérios

Eu tenho uma coluna de dados e um marcador próximo a ela. Pensar:

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

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

ID#1
ID#3

Isso é muito fácil de fazer com VBA - Filtre o intervalo, copie e cole. Estou tentando encontrar uma solução não-VBA para esse problema. Tenho tentado várias fórmulas de matriz - Index(range,sumproduct(row*criteria)), mas não consigo fazê-las funcionar. Como eu faria isso funcionar?

A elegância computacional é um fator significativo - a planilha com a qual estou lidando deveria ser um banco de dados devido ao seu tamanho, mas os poderes constituídos rejeitaram essa ideia.

Responder1

Usar:

=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 altere-o para corresponder à sua coluna ID
B1:B8 altere-o para corresponder à sua coluna A
Mantenha $ para referências fixas
pressione Ctrl+ Shift+ Enterem vez de Enterser um fórmula de matriz

informação relacionada