Problema con el filtro avanzado de Excel 2010

Problema con el filtro avanzado de Excel 2010

Me encontré con algo que realmente no puedo explicar al intentar filtrar una gran cantidad de datos usando el filtro avanzado...

Tenía un documento con cientos de miles de líneas (.xlsb) que contenían una gran cantidad de productos con sus diversos atributos. Un elemento, una línea, atributos en columnas. Lo que quería hacer era filtrar (eliminar de la lista) los elementos que tenían una Y en una de las columnas (la otra opción era N), y también los elementos que eran cualquiera de un par de marcas (otra columna).ytambién en una categoría determinada (otra columna más). Para decirlo de otra manera, quería eliminar todo lo que tuviera una Y en la columna V, y también todo lo que tuviera AAA en la columna C.y1A2B en la columna D.

Primero creé el filtro Y: puse ="=N" en esa columna de arriba, lo probé y funcionó muy bien. Todo lo que tenía Y en esa columna fue eliminado, hasta ahora todo bien.

Luego agregué una marca (AAA) en su propia columna, puse <>1A2B en otra y ejecuté el filtro nuevamente. En lugar de filtrar primero la primera línea (las Y) y luego, de los artículos restantes, filtrar los que eran de la marca dada (AAA) y la categoría dada (1A2B), ignoró por completo la segunda línea. Nada ha cambiado.

Incluso intenté agregar ="=N" en la columna V solo para asegurarme, pero eso no cambió nada.

El filtro de categorías, en sí mismo, funciona como se esperaba. El filtro Y/N, en sí mismo, también funciona bien. Pero por alguna razón, cuando se combinan, sólo se ejecuta el filtro más amplio. ¿Algunas ideas?

La forma en que finalmente logré que funcionara fue enumerando todas las marcas posibles (AAA, AAB, AAC, etc.) individualmente, con ="=N" en la columna V. De esa manera, "permitía" individualmente cada marca con una N. , pero esto está lejos de ser una solución ideal. Esperaba que tener solo ="=N" en la línea lograra lo mismo, pero aparentemente no es así.

Respuesta1

En lugar de intentar hacer esto con filtros terriblemente complejos, es mucho mejor, suponiendo que sea libre de agregar otra columna, crear una columna con una fórmula que equivalga a verdadero o falso (o S/N o cualquier preferencia que tenga). Luego podrás aplicar el filtro solo a esa columna con mucha facilidad.

Respuesta2

Creo que descubrí lo que estás intentando hacer con el filtro avanzado.

Debe utilizar una sola fila para sus criterios, porque cada fila es un OR con las demás. Es decir, cuando realiza el filtro avanzado, obtiene una fila si coincide con los criterios en cualquiera de las filas de criterios. Si desea un criterio dependiente, como "NO Y", entonces debe colocar ese criterio en una nueva columna y hacer que su fórmula haga referencia a su primera fila de datos.

En la siguiente maqueta, queremos aquellos con "N" en la columna B y si tienen "AAA" en la columna C, entonces solo los queremos si no tienen "1A2B" en la columna D. Entonces, en la columna E, pon una nueva fórmula que diga:=NOT(AND(C5="AAA",D5="1A2B"))

Si hace eso y ejecuta el filtro avanzado, filtrará las filas 5 a 7 por tener Beta = Y y también filtrará las filas 9 y 13.

  |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  |

Su otra opción es tener tres filas de criterios ( <>AAA& <>1A2B, AAA& <>1A2B, <>AAA& 1A2B), pero eso escala muy mal y se vuelve difícil de manejar.

información relacionada