Problema de filtro avançado do Excel 2010

Problema de filtro avançado do Excel 2010

Encontrei algo que não consigo explicar ao tentar filtrar uma enorme pilha de dados usando o filtro avançado...

Eu tinha um documento com centenas de milhares de linhas (.xlsb) contendo um monte de produtos com seus diversos atributos. Um item, uma linha, atributos em colunas. O que eu queria fazer era filtrar (remover da lista) os itens que tinham um Y em uma das colunas (a outra opção era N) e também os itens que eram de algumas marcas (outra coluna)etambém em uma determinada categoria (mais uma coluna). Em outras palavras, eu queria remover qualquer coisa com Y na coluna V e também qualquer coisa que tivesse AAA na coluna Ce1A2B na coluna D.

Primeiro criei o filtro Y: coloquei ="=N" naquela coluna no topo, testei e funcionou muito bem. Tudo com Y naquela coluna foi removido, até aí tudo bem.

Em seguida, adicionei uma marca (AAA) em sua própria coluna, coloquei <>1A2B em outra e executei o filtro novamente. Em vez de filtrar primeiro a primeira linha (os Ys) e depois, dos demais itens, filtrar os que eram da marca determinada (AAA) e da categoria dada (1A2B), ignorou completamente a segunda linha. Nada mudou.

Até tentei adicionar ="=N" na coluna V só para ter certeza, mas isso não mudou nada.

O filtro de categoria, por si só, funciona conforme o esperado. O filtro Y/N, por si só, também funciona bem. Mas por alguma razão, quando reunidos, apenas o filtro mais amplo é executado. Alguma ideia?

A maneira como finalmente fiz funcionar foi listando todas as marcas possíveis (AAA, AAB, AAC, etc) individualmente, com ="=N" na coluna V. Dessa forma, estava "permitindo" individualmente cada marca com um N nele , mas isso está longe de ser uma solução ideal. Eu esperava que ter apenas ="=N" na linha conseguisse o mesmo, mas aparentemente não.

Responder1

Em vez de tentar fazer isso com filtros terrivelmente complexos, é muito melhor, supondo que você esteja livre para adicionar outra coluna, criar uma coluna com uma fórmula que equivale a verdadeiro ou falso (ou S/N ou qualquer outra preferência que você tenha). Então você pode aplicar o filtro apenas a essa coluna com muita facilidade.

Responder2

Acho que descobri o que você está tentando fazer com o Filtro Avançado.

Você precisa usar uma única linha para seus critérios, porque cada linha é um OR com as outras. Ou seja, quando você faz o filtro avançado, você obtém uma linha se ela corresponder aos critérios em qualquer uma das linhas de critérios. Se desejar critérios dependentes, como "NÃO E", será necessário colocar esses critérios em uma nova coluna e fazer com que sua fórmula faça referência à primeira linha de dados.

No mockup a seguir, queremos aqueles com “N” na coluna B e se tiverem “AAA” na coluna C, então só queremos se não tiver “1A2B” na coluna D. Então, na coluna E, nós coloque uma nova fórmula que diz:=NOT(AND(C5="AAA",D5="1A2B"))

Se você fizer isso e executar o filtro avançado, filtrará as linhas 5 a 7 por terem Beta = Y e filtrará 9 e 13 também.

  |A     |B     |C     |D     |E
--+------+------+------+------+-------
 1|Alpha |Beta  |Gamma |Delta |Epsilon
 2|      |N     |      |      |FALSE
 3|      |      |      |      |
 4|Alpha |Beta  |Gamma |Delta |
 5|Andy  |Y     |AAA   |1A2B  |
 6|Bob   |Y     |BBB   |1A2B  |
 7|Chad  |Y     |AAA   |ZZ00  |
 8|Duke  |N     |BBB   |ZZ00  |
 9|Ed    |N     |AAA   |1A2B  |
10|Frank |N     |BBB   |1A2B  |
11|Gus   |N     |AAA   |ZZ00  |
12|Herb  |N     |BBB   |ZZ00  |
13|Indy  |N     |AAA   |1A2B  |
14|John  |N     |BBB   |1A2B  |
15|Kirk  |N     |AAA   |ZZ00  |
16|Luke  |N     |BBB   |ZZ00  |

Sua outra opção é ter três linhas de critérios ( <>AAA& <>1A2B, AAA& <>1A2B, <>AAA& 1A2B), mas isso é muito mal dimensionado e fica complicado de manejar.

informação relacionada