Usando Filtro Avanzado en Excel

jueves, marzo 08, 2007

Autofiltro permite filtrar una lista de acuerdo a una serie de criterios. Por cada columna podemos elegir hasta dos criterios, combinándolos con los operadores Y (AND) u O (OR).
Autofiltro es una gran herramienta para filtrar datos, pero en ciertas ocasiones resulta limitada. En muchos de esos casos podemos utilizar Filtro Avanzado.




En una nota anterior en este blog he mostrado uno de los usos de Filtro Avanzado: extraer una lista de valores únicos.

En esta nota veremos otros usos de Filtro Avanzado. Empecemos por considerar esta lista de nombres con sus respectivas edades



Como pueden ver hemos dejado algunas líneas en blanco por encima de la lista. Esto es necesario para permitir introducir los criterios con los cuales queremos filtrar la lista.

Supongamos que queremos filtrar la lista de manera que vemos todas las personas mayores de 40 años o menores de 30 años. El primer paso consiste en copiar los encabezamientos de las columnas en la fila 1; luego escribimos los criterios en las celdas B2 y B3



Ahora abrimos el menú Datos—Filtro--Filtro Avanzado y señalamos la tabla de datos y el rango que contiene los criterios



Apretamos aceptar y Excel filtrará la lista



Para volver a mostrar todas las líneas usamos el menú Datos—Filtro—Mostrar todo



Al escribir los criterios en distintas líneas estamos indicando a Excel que queremos usar el operador O (OR). Si queremos usar el operador Y (AND) tenemos que poner los criterios en la misma línea. Por ejemplo, si queremos mostrar solo aquellos cuyo nombre empieza con la letra R y son mayores de 30 años






Nótese que usamos R* como criterio.

También podemos combinar operadores Y (AND) y O (OR)






También podemos usar fórmulas como criterio. Para esto deben cumplirse dos condiciones:
1 - que den como resultado un valor VERDADERO o FALSO.
2 – el encabezamiento del rango de criterios debe ser distinto del encabezamiento de la columna de datos

Por ejemplo, queremos mostrar sólo aquellos nombres cuya edad sea menor que la edad promedio de la lista. En el rango de criterios ponemos esta fórmula

=B6<PROMEDIO($B$6:$B$15)






Otro ejemplo sería mostrar aquellos nombres que aparecen más de una vez. Para eso usaremos la fórmula

=CONTAR.SI($A$6:$A$15,A6)>1






Otra gran ventaja de Filtro Avanzado es que nos permite copiar la lista filtrada a otra ubicación en la hoja. Volviendo sobre el ejemplo anterior, marcamos la posibilidad "Copiar a otro lugar", por ejemplo a D1






Como podemos ver, Filtro Avanzado permite filtrar listas de maneras que no serían posibles con Autofiltro.



Technorati Tags:

110 comments:

Gilberto 13 marzo, 2007 18:58  

Hola recibe un codial saludo.
Necesito saber como evitar que cuando en una celda de excel se tenga una formula para dividir una celda por otra, si la correspondiente al divisor tiene como valor cero(0)me aparezca #DIV/0. Necesito que me aparezca cero(0)

Jorge L. Dunkelman 13 marzo, 2007 20:52  

Hola Gilberto,
tienes que usar la función SI para condicionar el resultado. Por ejemplo, si divides celdas en la columna A por las celdas correspondientes en la columna B, usas la fórmula =SI(B1=0;0;A1/B1).
Una fórmula más sofisticada es
=--SI(B1;A1/B1). Una explicación sobre esta fórmula puedes leer en esta nota.

darío,  20 junio, 2007 09:37  

sólo doy las gracias por el documento ya que, me ha sido de gran utilidad.
salu2 cordiales

José Patiño,  01 julio, 2007 00:05  

Hola, escribo poque tengo una lista de más d 3000 contactos en una hoja de Excel y necesito filtrarlos de tal manera que aparezcan solo las celdas que contienen una determinada palabra aunque dentro de la celda haya mas...... es decir quiero que me aparezcan las celdas que contienen la palabra "Academia" aunque dentro de la celda aparezca "Academia Morelos", esto se puede??? porque me urge

Jorge L. Dunkelman 01 julio, 2007 17:14  

Hola José,
tienes que usar Datos--Filtro--Autofiltro; en el campo indicado usas Personalizar--Contiene y en la ventanilla pones la palabra que aparece en las celdas a ser exhibidas.

Muhammad Aalam 26 septiembre, 2007 16:31  

Hola escribo porque necesito usar el filtro avanzado de acuerdo a los criterios de que cuando escoja la fecha comienzo y la fecha final, en la hoja me aparezcan los datos en el intervalo de estas dos fechas.

Jorge L. Dunkelman 04 octubre, 2007 22:02  

Hola Muhammad
para filtar datos de de acuerdo a un intervalo (de fechas) puedes usar también Autofiltro sencillo.

Anónimo,  29 noviembre, 2007 20:59  

hola. tengo la siguiente inquietud. en unas hojas tengo varias listas (estas pueden tener elementos repetidos) necesito en otra hoja un resumen de estas listas, teniendo solo los regitros una sola vez, sin repetir: Ejemplo:
pera 5 manzana 10
manzana 20 uva 4
uva 10 uva 6

y uqe en la otra hoja me quede:
Pera 5
Manzana 30
Uva 20


gracias por colaborarme

Jorge L. Dunkelman 30 noviembre, 2007 21:49  

Puedes usar tablas dinámicas con la opción rangos de consolidación múltiples, como muestro en esta nota

Silvana,  19 marzo, 2008 19:25  

Tengo un listado con varias ciudades y necesito filtrar solo aquellas ciudades que sean distintas a 3 en particular que me interesan. No se como poner la condicion de que sea distinta a esas ciudades usando filtro avanzado, podrias ayudarme?
Muchas gracias!

Jorge L. Dunkelman 19 marzo, 2008 20:39  

Hola Silvana
el operador para simbolizar distinto es "<>"
Para elegir todas las ciudades que no sean Buenos Aires, la condición sería

<>Buenos Aires

Tito 20 mayo, 2008 00:29  

Hola Como puedo filtrar datos que sean fechas?....por ejemplo

10/12/95
12/01/98
20/01/00
15/01/00
01/12/98
10/01/00

solo quiero que filtre aquellos q sean del año 2000 o 1998...sin importar de que mes o dia sean.......Gracias

Jorge L. Dunkelman 20 mayo, 2008 22:56  

Hola Tito

en tu caso hay que usar Filtro Avanzado. El tema de Autofiltro con fechas es "truculento" y le estaré dedicando una nota en breve.

Tito 23 mayo, 2008 18:47  

Hola otra vez...aun q eh intentado utilizar filtro avanzado ps nada..o derrepente no le estoy aplicando bien....de todas maneras gracias ...Jorge...

Martín 22 julio, 2008 20:13  

hola Jorge,

tengo una pregunta sobre el filtro avanzado: necesito filtrar por año en un campo fecha, es decir, tengo un campo donde almaceno fechas en formato dd-mm-aa, y necesito usar el filtro avanzado para obtener solo las que sean de un determinado año. Alguna sugerencia? Ah, no puedo agregar una columna más con el año...

Saludos,

Martín.

Jorge L. Dunkelman 24 julio, 2008 23:34  

Hola Martín
como está indicado en la nota, puedes usar fórmulas como criterio, a condición de que den como resultado VERDADERO o FALSO.
En tu caso, puedes usar la función AÑO (YEAR). Por ejemplo, si la fecha está en la columna A tienes que usar como criterio

=AÑO(A5)=2008

Mari,  07 octubre, 2008 21:25  

Muchas gracias por sus aportaciones Jorge, me han servido mucho.

Mi problema es: tengo dos columnas una con saldo actual y otra con saldo vencido. Lo que quiero es filtrar los datos que tengan el saldo vencido MAYOR al saldo actual.

puse la siguiente formula "=SI(AQ8:AQ3912>AO8:AO3912,VERDADERO(),FALSO())" en el criterio para usar el filtro avanzado no selecciono los saldos vencidos mayores.

Me podría ayudar???

Jorge L. Dunkelman 07 octubre, 2008 22:03  

Mari
suponiendo que en la columna AQ tienes los saldos vencidos y en AO los actuales, la fórmula a usar sería

=AQ98>AO98

La fórmula da VERDADERO o FALSO sin necesidad de usar la función SI. Tampoco tienes que usar todo el rango de la lista, sólo la primer fila de datos de la tabla.

Mari,  07 octubre, 2008 23:06  

Hola Jorge de nuevo yo...

Muchas gracias por su pronta respuesta.

cambie la fórmula como me indico, despues seleccione filtro avanzado, puse el rango de toda la base de datos y en criterio la celda donde puse la fórmula y aceptar.

en la barra de estado sale "se encontraron 3905 de 3905 registros".

y aún no consigo el resultado deseado.

Habrá otro método para conseguir el resultado deseado??

Gracias...

Mari,  07 octubre, 2008 23:19  

disculpe usted Jorge...

pero ya encontre mi error: al seleccionar el criterio, no incluía el rótulo del criterio, por eso no realizaba el filtro.

disculpe usted las molestias.

Y de nuevo gracias...

Mari.

Anónimo,  18 octubre, 2008 12:50  

MUCHAS GRACIAS ME ESTA ACLARANDO TODAS MIS DUDAS

Juan R Garces 04 noviembre, 2008 21:32  

Buen día. Abusando de su generosa ayuda, acudo a usted solicitando orientación en lo siguiente: Trabajo con Excel 2003 en español. Tengo una base de datos con nombres y otros datos. Algunos de los nombres se repiten 2 veces, otros 3, otros se repiten 5 veces, otros se repiten 10 veces y otros no se repiten sino que son unicos. Como hago para filtrar de esa base sólo los nombres que se repiten 2 veces o los que se repiten 5 veces o los que se repiten 4 veces, etc. Mil gracias de antemano.

Jorge L. Dunkelman 05 noviembre, 2008 17:28  

Usando la función CONTAR.SI en una columna auxiliar y filtrando de acuerdo a esa columna.
Suponiendo que la lista de nombres está en el rango A2:A100, se puede crear la columna auxiliar esta fórmula

=CONTAR.SI($A$2:$A$100;A2)

Esto permite filtrar la lista de acuerdo a la frecuencia de cada nombre.
Luego se puede usar filtro avanzado con la opción Valores Únicos.

Juan R Garces 05 noviembre, 2008 17:53  

Perfecto Sr. Dunkelman, mil y mil gracias !!!!

Anónimo,  05 noviembre, 2008 21:18  

Hola!!
Como puedo hacer lo siguiente: Tengo un rango de celdas por decir A2:Z100
En la columna C hay codigos de una clave por ejem. ATN23RC23
Tengo en la columna R solo 20 de las mismas claves, lo que quiero es que me filtre las filas que tengan los registros de la columna R igual a los de la columna C, sin tener que hacerlo con Autofiltro y tener que meter las 20 claves por que luego pueden cambiar. Muchas Gracias por su pronta Respuesta.

Jorge L. Dunkelman 06 noviembre, 2008 19:01  

Creando una columna auxiliar con una fórmula (lo mas corriente es con la función =O)qur de VERDADERO si el código de la celda evaluada existen en el rango de los veinte códigos.
Luego se filtra con un sólo criterio (VERDADERO) de esa columna.

Anónimo,  07 diciembre, 2008 20:31  

Buenos dias..
Gracias por la informacion que muestra...Es de gran ayuda.
Solo una duda, queria filtrar en una tabla, donde uno de los espacios es la fecha de nacimiento. Mi idea es filtrarla por ano (1995, 1980, etc) Pero no lo logro..
Como podre hacerlo??
Gracias de antemano

Jorge L. Dunkelman 08 diciembre, 2008 17:25  

Fijate en mi comentario del 24 de julio de este año en respuesta a la consulta de Martín

nikyneisa 05 enero, 2009 19:30  

holaaa
me parece muy bueno tu blog, te felicito
tengo un problemilla en excel no se como arreglarlo
resulta que trabajo practicamente con excel en todo y tengo algunos libros de excel en que al filtrar me cuenta por ejem cuantas coincidencias encontro (ejem: se encontraron 8 de 90 registros) sin embargo en otros libros no lo hace y tengo que estar contando uno por uno
como arreglo esto?? para que en todos los libros al hacer filtro me cuente las coincidencias (me ahorraria tiempo y trabajo con eso jeje) espero me puedas ayudar
un saludo muy cordial para ti

Jorge L. Dunkelman 05 enero, 2009 20:57  

Hola
lo que te sugiero es que uses la función SUBTOTALES. La puedes ubicar por encima de los encabezamientos de las columnas o al final de la tabla, dejando una fila en blanco.
Excel muestra un mensaje, al pie de la hoja en la parte izquierda; pero este desaparece en el momento que haces algún movimiento u operación en la hoja. Por eso lo más recomendable es usar SUBTOTALES.

Anónimo,  28 enero, 2009 21:09  

Jorge,
Hace un par de semanas que estoy consultando tu blog para conseguir nuevas formulas, te agradezco profundamente el aporte.
Te escribo para consultarte lo siguiente: quiero hacer que en una hoja2 me muestre solo las filas de una hoja1 (base de datos dinámica) que cumplan con cierto criterio, la forma rápida que se me ocurre para actualizar mi filtro de la hoja2 es hacer una tabla dinámica con referencia desref, pero no quiero aumentar el peso de mi archivo con una tabla dinámica. Estoy probando con un filtro avanzado referenciado con una función desref pero el filtro no se actualiza. ¿Existe alguna forma para que el filtro se actualice? O ¿Alguna fórmula que me recomiendes para solucionar mi problema?.
Saludos Cordiales
Rodrigo

Jorge L. Dunkelman 29 enero, 2009 12:10  

Podrías forzar la actualización con una macro, más precisamente programando un evento.

J.H.Project 04 febrero, 2009 14:46  

Hola, qué tal.

Estoy complicado con el uso de filtro avanzado, tengo 6 valores como criterios, y en mi base de datos en esa columna, los registros tienen esos valores, pero también existen otros, distintos a esos 6.

Entonces, lo que quiero es filtrar la base de datos para que me muestre sólo los registros que tengan valores distintos a los del criterio. Por ejemplo, probé con colocar <>55, en la siguiente fila de esa columna puse <>200, después <>100, y así con otros valores. Al final no me filtra nada, mostrándome toda la lista original.

Lo curioso es que cuando pongo sólo una condición, por ejemplo <>55 y nada más, ahí funciona y me muestra el listado con valores distintos a 55. Pero al colocar más criterios no funciona. ¿Qué estoy haciendo mal?

Espero puedan ayudarme con esto.

Saludos.

Anónimo,  04 febrero, 2009 21:32  

Hola, me llamo, david, me ha servido de mucho este blog, pero tengo una duda, quiero hacer un filtro avanzado sobre unos datos, por ejemplo tengo un listado de departamentos y sus sueldos. Quiero por ejemplo los ingenieros, pero de estos el que tiene el salario mas alto, pero no consigo que funcione... me puedes ayudar...

=B6>max($B$6:$B$15)


Gracias

Jorge L. Dunkelman 05 febrero, 2009 00:17  

La fórmula tendría que ser

=B6=max($B$6:$B$15)

Anónimo,  05 febrero, 2009 11:43  

Gracias, Jorge L. Dunkelman, me funciona siempre y cuando solo quiera mirar el salario maximo de todos, pero si le pongo otra condicion no me funciona, osea, esto: ingenieros y en otra columna la formula =B6=max($B$6:$B$15), hay solución ?? pq lo que necesito, son las dos condiciones...

Gracias por tu ayuda...

Anónimo,  05 febrero, 2009 18:49  

Hola Jorge como siempre muy buenos tus aportes para el aprendizaje de Excel. Tengo un problema con el filtro avanzado. Para el rango de criterios valide la celda mediante una lista, pero al cambiar el criterio no me actualiza la tabla, solo si voy hasta el menú datos filtro y filtro avanzado y selecciono nuevamente los rangos me muestra el cambio.
Filtro avanzado no permite que cuando se cambie el criterio automaticamente cambien los resultados, si no es así como podria hacerlo, muchas gracias Jorge.

Jorge L. Dunkelman 05 febrero, 2009 20:49  

Tendrías que programar un evento, de manera que cuando cambies algún parámetro de los criterios se dispera una macro que actualice el filtro

Jorge L. Dunkelman 05 febrero, 2009 23:41  

David
en la nota está esplicado como filtrar con más de una condición.

Jorge L. Dunkelman 06 febrero, 2009 08:45  

Estimado JH Project
el error consiste en que estás poniendo las condiciones una debajo de la otra en la mima columna, es decir que estan usando el criterio O cuando deberías estar usando Y.
Al filtrar la fila Excel mira la celda y compara si ésta cumple con los criterios. En tu caso si la celda contiene, digamos 55, Excel ve esta condición se cumple, pero la siguiente, <>100, no se cumple y por eso no filtra la fila.
Tienes que poner los criterios en celdas contiguas de la misma fila. Por ejemplo, si el rango de criterios está en las filas 1 y 2, en A1 y en A2 pones el nombre del campo a filtrar y en B1 pones <>55, en B2 <>100.
De esta manera Excel verá que la celda que contiene 55 no cumple con ninguno de los criterios y por lo tanto será filtrada.

Anónimo,  13 febrero, 2009 18:35  

Hola Jorge, muchas gracias por la respuesta, programé un evento para la celda validada, pero me surge un inconveniente, los datos filtrados están asociados con unos valores para los cuales necesito el promedio de los mismos, para ello utilicé la función subtotales, pero esta no calcula con filtro avanzado. Que debo hacer para que pueda calcular automaticamente?
Gracias

Jorge L. Dunkelman 14 febrero, 2009 19:18  

Tendría que ver tu archivo para poder hacerme una idea más precisa de tu problema.

marcosjesus 28 febrero, 2009 19:31  

hola soy marcos, mira te consulto ya que este si es un buen foro y veo que estan tocando el tema que me intereza... te pregunto como puedo hacer para que el filtro avanzado que cree en otra hoja del mismo libro de excel se actualice automaticamente si modifico algun dato en la otra hoja q no esta filtrada, se que haciendo una macro por medio de una tarea programada pero lo q no se, es como hacerla. muchas gracias por hacer un foro tan bueno.-

Jorge L. Dunkelman 28 febrero, 2009 22:47  

La única forma de lograr que un autofiltro se actualice autmáticamente es programando un evento. Puedes consultar mis entradas sobre eventos en el blog.

javier,  13 marzo, 2009 22:36  

Hola, Jorge.
Mi problema no es usando el filtro avanzado sino justo lo contrario: tratando de evitarlo. Tengo una hoja protegida y con ello quedan desactivadas muchas opciones de los menús, pero resulta que el Filtro Avanzado sigue activo y no sé como evitarlo porque me ha dado problemas con su uso indiscriminado (lo quiero quitar no sólo en mi PC sino en cualquiera que abra ests hoja).
¿Haya alguna forma sencilla de hacerlo o a menos no demasiado complicada?

Jorge L. Dunkelman 14 marzo, 2009 15:58  

Hola Javier
no conocía este problema. Estuve viendo la base de informaciónes de Microsoft y veo que la cuestión existe desde la versión 2000 de Excel. Estoy estudiando el problema y veré que remedio hay, si es que existe, a esta situación.
En cuanto tenga algo lo estaré publicando en el blog.

javier,  15 junio, 2009 22:09  

Hola de nuevo, Jorge.
Te comento un problema que he detectado con el Filtro Avanzado para ver si tienes alguna información de ayuda.
Yo uso mucho el Filtro Avanzado para hacer filtros personalizados en hojas protegidas (pongo un desplegable con los valores y lo enlazo a una macro que rellena las celdas de criterios y llama al Filtro Avanzado) y me ha funcionado perfectamente en Excel 2000 y 2002, pero al probarlo en PC's con Excel 2003 me han salido resultados muy raros y he visto que es debido a que Excel 2003 tiene un rendimiento muchísimo peor que los anteriores al quitar un filtro o cambiarlo. No se aprecia en tablas de pocas filas y sin muchas fórmulas pero en cuanto hay unos cuantos cientos y con fórmulas, lo que antes era instantáneo en 2003 se eterniza y muchas veces acaba por fallar (filtra mal) o la hoja se queda colgada.
Para borrar el filtro antes usaba el mismo filtro avanzado con criterios vacíos pero en 2003 esto va de pena.
Lo he solucionado de momento borrando siempre el filtro (con mostrar todo) antes de ejecutar otro, pero me gustaría saber si tienes noticias de este problema y alguna otra solución, y si sabes si en excel 2007 la cosa va como en 2003 o como antes.

En cualquier caso muchas gracias por tu blog.

Jorge L. Dunkelman 15 junio, 2009 23:14  

No estaba al tanto del problema. Veré si puedo investigar algo sobre el tema.

Anónimo,  19 septiembre, 2009 03:13  

bueno gracias por la pagina mucha me fue de gran utuilidad

Javier,  30 noviembre, 2009 12:31  

¡Hola, buenos dias!

Llevo un buen rato peleándome con Filtro avanzado y un gráfico y no logro llegar donde deseo, a ver si con su inestimable ayuda llego a buen ppuerto.
Tengo un cuadro combinado en el que selecciono un Producto; el resultado de esa selección está vinculado a una celda, que quiero utilizar, mediante filtro avanzado, para mostrar los datos que me interesan de un rango.
El problema está en que, si cambio la selección del cuadro combinado, me cambia el valor de la celda vinculada, pero no el resultado del Filtro Avanzado. ¿Hay alguna manera para que, a la que cambie el criterio, automáticamente, me cambie el Filtrado?

¡Muchísimas gracias!

Jorge L. Dunkelman 30 noviembre, 2009 22:00  

Javier,
para disparar el filtro avanzado al cambiar el valor de una celda tienes que programar un evento (macro). Si no estás familiarizado con el tema puedes hacer una búsqueda en el blog sobre el tema "eventos", bajo la etiqueta Macros.
Si necesitas más orientación, ponte en contacto conmigo por mail.

Javier,  01 diciembre, 2009 09:45  

Hola de nuevo,

tal como indicaste, grabé una macro haciendo los pasos que quería y me funciona perfectamente.

¡Muchas gracias!
Javier

ANGEL,  03 diciembre, 2009 00:47  

NECESITO AYUDA..... URGENTE....

TENGO UNA TABLA CON PAIS, CIUDAD, HOMBRES Y MUJERES.

NECESITO PLANTEAR UN CRITERIO PARA TENER SOLO CIUDADES DE ARGENTINA Y NO HOMBRES, MUJERES Y DEMAS.

ES DECIR SOLO FILTRAR LA COLUMNA CIUDAD.


AYUDAAAAAAAAAAAAAA

Jorge L. Dunkelman 03 diciembre, 2009 06:27  

Angel,
¿por que no usás Autofiltro en la columna de las ciudades? ¿O querés filtar sólo la columna dejando el resto visible? Esto último es imposible ya que al filtrar estás ocultando filas, no celdas de una columna.

Si necesitás ayuda URGENTE podés leer la nota en el enlace Ayuda en el encabezamiento del blog para ver como consultarme.

ANGEL,  03 diciembre, 2009 14:18  

hola gracias por querer darme una mano.....
el tema es el siguiente tengo una tabla con paises, ciudad, superficie, hombres y mujeres.

necesito solo con filtro avanzado, filtrar la columna ciudad, que coincida con pais argentina.

es decir que al momento de querer pegar el resultado del filtro (tercera opcion luego de seleccionar criterios), solo me muestre la columna ciudades de argentina y no el resto de las columnas.


agradezco ayuda.

Jorge L. Dunkelman 04 diciembre, 2009 18:36  

ängel, sigo sin entender dónde está tu problema. Autofiltro o Filtro avanzado actúa ocualtando filas, no columnas.
Si tenés una columna con ciudades y al lado otra con el país de la ciudad, al filtrar segun países ves sólo las ciudades de ese país.
¿Leiste lo que escribí en el enlace Ayuda?

ANDRES,  16 diciembre, 2009 02:53  

NECESITO UNA AYUDA, COMO PUEDO CONTAR EL NUMERO DE DECIMALES DE UN NUMERO EN EXCEL.

GRACIAS POR LA AYUDA.

Jorge L. Dunkelman 16 diciembre, 2009 07:03  

Hola Andrés,
con una combinación de las funciones DERECHA, HALLAR y LARGO. Tu consulta no está relacionada con el tema de la nota. Ten en cuenta que esto es un blog, no un foro.
Por favor, fijate cómo comunicarse conmigo en la pestaña Ayuda.

Ruben,  18 diciembre, 2009 00:39  

Hola estimado Sr., antes que todo, quiero dar las gracias por compartir sus conocimientos con todo el mundo, el blog es excelente !- Ahora la consulta: quiero filtrar con el método avanzado un rango por 2 condiciones, una de las cuales quiero que verifique solo que las celdas estén vacías. Ejemplo: Criterio 1: Columna Fechas de un mes en particular, Criterio 2: Columna Fechas del mes anterior y ademas otra Columna que estén vacíos. Se que con Autofiltro se puede filtrar x vacío, pero no se la manera con filtro avanzado. Gracias otra vez.

Jorge L. Dunkelman 18 diciembre, 2009 07:22  

Rubén,
en el rango de los criterios usamos la fórmula

=ESBLANCO(A5)

donde A5 es la primer celda de valores de la columna a evaluar. La fórmula la ponemos en A2 y dejamos A1 vacía. En Filtro avanzado definimos el rango de criterios A1:A2
Esto filtrará la lista dejando visibles sólo las filas donde la celdas vacías de la columna A.

Olvido,  30 diciembre, 2009 16:12  

Hola,

Tengo una lista de excel enorme, y quiero sacar sólo los correos electrónicos, pues en la misma columna tengo los datos de nombre, correo,.. pero sin criterio uno debajo de otro.
Gracias

Jorge L. Dunkelman 30 diciembre, 2009 17:21  

Olvido,

no te olvides !:) que uno de los principios básicos en el manejo de datos es "no mezclar la hacienda". Cada columna debe contener datos del mismo tipo.
Pero si ya te encuentras en esa situación puedes usar como criterio para filtrar la lista el símbolo @ (arroba) con la esperanza que sòlo aparezca en las direcciones de correos electrónicos.

Desayunos a domicilio "Anipa" 04 enero, 2010 20:53  

necesito sacar promedio de alumnos y hago la formula pero como hay celdas que contienen cero, por ejemplo tengo 10 notas, en algunos ramos solo tiene 6 notas ingresadas pero al sacar el promedio cuenta las 10 celdas y da mas bajo el resultado es ahi donde no puedo..... mi formula es esta =SI(C12:L12="";"";PROMEDIO(C12:L12)) ojala me ayuden gracias!

Rubén,  19 abril, 2010 23:26  

Hola Jorge:
Si filtro una columna a los efectos de eliminar un rango, por ej productos con cero de existencia, y los elimino, me elimina todas las filas intermedias, esto me pasa en el 2007; no me pasaba en el 2003, pero lo curioso es que a veces no lo hace.
¿De qué no me doy cuenta?
Gracias
Rubén

Jorge L. Dunkelman 20 abril, 2010 09:20  

Se trata de un problema específico de Excel 2007 cuando se aplica autofiltro seleccionanado los encabezados de las columnas. Puedes fijarte en este artículo publicado por Microsoft.
Estaré publicando una nota sobre el tema.

Rubén,  20 abril, 2010 16:12  

Jorge
Como siempre muy atento y certero.
Muchísimas gracias

Rubén

carlos,  21 abril, 2010 00:58  

HOla.. quisiera saber q criterio poner en un rango de fechas (filtro avanzado)... por ejemplo: cuya fecha de compra fue entre el 1 de Enero del 2000 hasta 27 de febrero del 2000..


gracias de antemano ^^!..

Jorge L. Dunkelman 21 abril, 2010 07:19  

Filtrar una lista usando fechas tiene ciertas peculiaridades. Estaré publicando una nota con los detalles.

Anónimo,  04 mayo, 2010 22:33  

Hola quisiera saber como es el operador en Excel para filtrar datos (filtro avanzado. Necesito que me muestre determinados valores entre un determinado ran de numeros, por ejemplo de una lista que solo me muestre las personas comprendidas enter 20 y 30 años de edad. Desde ya muchas gracias

Anónimo,  21 junio, 2010 23:16  

hola me gustaria saber como usar el filtro avanzado en una tabla de datos de varias filas y columnas, donde cada celda es un numero (entre cero y cien),para que NO me muestre los ceros en ninguna columna (conservando todos los valores de las columnas adyacentes al filtrar los ceros)

Jorge L. Dunkelman 22 junio, 2010 06:17  

Filtro Avanzado (o Autofiltro) oculta filas, no celdas individuales. Lo que puedes hacer es usar formato personalizado de números que no muestre el cero o cambiar la opción Ver-Valores cero en Herramientas-Opciones (Excel 2003) o Opciones de Excel-Avanzadas (Excel 2007)

Anónimo,  23 junio, 2010 00:16  

Muchas gracias Jorge por tu comentario, tenia la esperanza que hubiera algun truquillo para que no escondiera las filas sino las celdas...gracias igual, Gabriela.

Guillermo,  02 julio, 2010 18:08  

Estimado Jorge muchas gracias, tenia un problema similar al de J.H.Project, 04 febrero, 2009 14:46, con tu respuesta logre solucionarlo


Guillermo

Anónimo,  19 julio, 2010 20:16  

Hola me gustaria saber como realizo lo siguiente:

Tengo una lista de estudiantes, y deseo filtrar aquellos que su apellido aparece mas de una vez.... es decir que aparescan solo los estudiantes con apellidos repetidos mas de una ves.......

POr favor ayudenme

Jorge L. Dunkelman 19 julio, 2010 20:33  

Tu caso es exactamente lo que muestro en el ejemplo de la nota. Por favor, lee la nota con atención

Anónimo,  28 julio, 2010 17:06  

Hola.
Estoy usando filtros avanzados en combinación con listas desplegables y macros, todo esto para tener un efecto dinámico de reportes, ahora mi pregunta. Hay alguna manera que el resultado del filtro este en una hoja, mientras mi macros este en otra?

Jorge L. Dunkelman 28 julio, 2010 18:58  

No me queda clara tu consulta. Las macros no están en una hoja específica sino en un módulo del editor de Vb.¿Tal vez te refieres a un evento programado en el módulo de una página específica?
Estás invitado a consultarme directamente por mail (fijate las condiciones en el enlace Ayuda en la parte superior del blog).

ElProfe 31 julio, 2010 06:10  

Saludos Jorge:

Por favor disculpa que mi inquietud que no se relaciona exactamente con el tema expuesto en este aparte, pero la traigo a colación por lo de los filtros y es la siguiente:

-En la "Hoja1" tengo un ComboBox1 (cuadro combinado del cuadro de controles) que ofrece para escoger al usuario 100 nombres de negocios.
-Seleccionado el nombre de un negocio, una función BUSCARV() localiza el nombre seleccionado y devuelve el código de la actividad empresarial del negocio, en la "Hoja2"
-En la "Hoja3" esta la base de datos de las 100 empresas, con un Autofiltro en la columna F (que contiene los códigos de actividad empresariale).
Ahora bien, ¿se puede conseguir que con solo seleccionar el nombre del negocio en la "Hoja1", un código ComboBox1_Change(), active automaticamente el Autofiltro de la "Hoja3", usando como único criterio el código empresarial devuelto en la "Hoja2"?

Como siempre, gracias anticipadas a ti y a tus lectores por la atención que les merezca mi nota.

Cordial saludo,

ElProfe

Jorge L. Dunkelman 31 julio, 2010 11:03  

Si. Habría que programar un evento (macro) que al cambiar el valor en la combobox dispare una macro que active el autofiltro.

Luis F Repper 02 septiembre, 2010 21:50  

Hola, buen día.

Existe la manera de filtrar una columna, por lo que es formula y lo que es texto???

Muchas gracias.

Jorge L. Dunkelman 02 septiembre, 2010 23:52  

Luis,
se puede pero primero hay que crear una UDF (función definida por el usuario) que de VERDADERO si la celda contiene una fórmula. Luego podemos usar esa función para crear un criterio lógico que filtre todas las filas donde las celdas de la columna correspondiente contienen fórmulas.

Anónimo,  05 septiembre, 2010 09:25  

hola tengo una lista de nombres y me piden que solo aparezza la ultima letra a por ejemplo tengo a a JHOANA, JUANA y a OTILIA pero como hago para que solo aparezca OTILIA

Jorge L. Dunkelman 05 septiembre, 2010 09:40  

Necesito que seas un poco más explicito. ¿Necesitas extraer el último nombre de la lista en orden alfabético o todos los nombres que empiezan con la última letra, en orden alfabético, en la lista?

Edwin,  06 septiembre, 2010 17:03  

Hola a todos. Favor su colaboracion. Tengo en una columna el numero de un documento (Pedido) que puede repetirse varias veces, en otra columna hay un valor(vencimiento) que varia. Requiero filtrar o identificar el numero mayor de cada pedido. Es decir el pedido 1508 tiene vencimientos 4, 5 y 6, el pedido 1510 tiene vencimientos 20, 15, 35 y 22, requiero que del 1508 solo se visualice el 6 y del pedido 1510 solo se visualice el 35. Gracias por su ayuda.

Edwin.,  06 septiembre, 2010 18:19  

Hola de nuevo. Encontré la solucion, es para idenficar el valor maximo de un conjunto de datos, la posteo por si a alguien le sirve. Suponiendo que el numero del pedido está en la columna C, el valor a evaluar en la D y los datos van de la fila 6 hasta la 500:
=MAX(INDIRECTO("D"&FILA()-CONTAR.SI.CONJUNTO(C$6:C8,C8)+1&":"&"D"&FILA()-CONTAR.SI.CONJUNTO(C$6:C8,C8)+1+CONTAR.SI.CONJUNTO(C$6:C$500,C8)-1))
Esta formula es el ejemplo de la fila 8.
Saludos.

Jorge L. Dunkelman 06 septiembre, 2010 20:01  

Edwin,
esto es un blog, no un foro. Te será más productivo dirigir tu consulta a uno de los muchos y buenos foros de Excel que hay en la red.
En cuanto a tu consulta, una buena solución sería usar una tabla dinámica con la operación MAX en el área de los datos.
SI no estás familiarizado con el tema puedes ver las notas sobre tablas dinámicas en el blog.

Edwin,  06 septiembre, 2010 20:33  

OK., hice la consulta pensando en la relacion con los filtros que era el tema. Gracias de todas maneras.

Jorge L. Dunkelman 06 septiembre, 2010 21:03  

Edwin,
gracias por postear tu solución. Mencioné la de las tablas dinámicas por ser más sencilla, en mi opinión, y más flexible (por ejemplo, no requiere preocuparse por adaptar fórmulas a los rangos de los datos).

Edwin,  06 septiembre, 2010 23:16  

Efectivamente la tabla dinamica es más sencilla.
Gracias de nuevo.

Anónimo,  13 septiembre, 2010 21:34  

Hola, como puedo hacer para que excel me muestre la informacion donde en cada fila exista al menos una celda en blanco, o sea que tenga datos faltantes.

Gracias

Jorge L. Dunkelman 14 septiembre, 2010 06:44  

Con Filtro Avanzado puedes usar la técnica con fórmulas que mmuestro en esta nota. La fórmula sería =ESBLANCO(B5), suponiendo que B5 es la primer celda en el rango.

Anónimo,  27 septiembre, 2010 23:46  

soy mario
hola jorge, debo utilizar fitro avanzado; pero con una particularidad, no necesito ver todos los campos de la base de datos filtrada; es decir tengo una lista NOMBRE APELLIDO EDAD TELEFONO y lo que necesito es ver NOMBRE y TELEFONO, mi pregunta es si se puede hacer. Lo que consigo con el filtro avanzado es ver todos los datos.gracias

Jorge L. Dunkelman 28 septiembre, 2010 05:30  

Mario,
tenés que usar la opción "copiar a otro lugar". En el rango donde querés obtener los resultado copiás los encabezamientos de los campos requeridos.
En tu caso si suponemos que la base de datos está en el rango A5:D1000, empezar por poner NOMBRE en F5 y TELEFONO en G5. Después definís el filtro con "copiar a" = F5:G5

Anónimo,  18 octubre, 2010 21:41  

Hola a todos,
Tengo una duda sobre una consulta que intento hacer con un filtro avanzado.
Tengo una lista, donde se repiten las iniciales de algunas celdas,por ejemplo:
AP
AP1
AP11
---- Actualmente, si en la consulta le digo que me muestre los datos de la fila AP, me muestra los datos de todas las filas que comienzan por AP, es decir, me muestra los de AP, AP1, ,,, ¿Sabeis alguna forma de hacer que solo aparezca la fila de AP solo?

Muchas Gracias

Jorge L. Dunkelman 19 octubre, 2010 06:29  

Una solución es usar Autofiltro en lugar de Filtro Avanzado.
Si usamos filtro avanzado hay que hacer un pequeño truco. Supongamos que la lista está en el rango A4:A100. Dejamos en blanco la celda A1 y en la celda A2 ponemos esta fórmula

=A5="AP"

(la celda A4 contiene el título de la columna)
Esta fórmula da como resultado o VERDADERO o FALSO.
Ahora aplicamos el filtro avanzado definiendo el rango de los criterios como A1:A2

Anónimo,  19 octubre, 2010 12:41  

Hola Jorge,

Estuve viendo el caso planteado por el anónimo del 13 de septiembre en el que quería filtrar celdas en blanco de cualquier fila y tu respuesta con el uso de ESBLANCO(B5) (si B5 es la primera celda del rango).
La cuestión es que esto funciona sólo para encontrar blancos en la misma columna ya que en este caso la referencia relativa B5 se desplaza sólo por fila pero no por columna. Una celda en blanco que se hallara en las columnas C, D, etc. no las localizaría y por lo tanto no las filtraría.
Una manera de resolverlo sería (si no hay muchas columnas) algo así:
=O(ESBLANCO(B5);ESBLANCO(C5);ESBLANCO(D5))
Habría que pensar en otra alternativa si fueran muchas las columnas a evaluar.
Un abrazo,
Sergio

Jorge L. Dunkelman 19 octubre, 2010 15:15  

Si tienes muchas columnas lo más fácil sería agregar una columna auxiliar a la tabla con la fórmula =CONTAR.BLANCO(A5:Z5)>0 (suponiendo que la tabla va de la columna A a la columna Z).
Si hay alguna celda en blanco en la fila, el resultado es VERDADERO y sólo las filas con celdas en blanco quedarán visibles.

Anónimo,  19 octubre, 2010 22:10  

Sí, es mucha mejor solución que usar la función O, que tiene un carácter limitado para esto.
Gracias

Anónimo,  11 noviembre, 2010 12:07  

Quisiera que un filtro avanzado se ejecutara automáticamente, esto es, que cuando cambie el dato en la celda que contiene la condición, ejecute directamente el filtro.

¿Es posible?

Jorge L. Dunkelman 11 noviembre, 2010 15:31  

Tendrías que usar un evento (macro). En el blog hay varias notas sobre el uso de eventos.

Anónimo,  18 febrero, 2011 07:17  

Hola Jorge, he estado leyendo las consultas y de verdad te felicito por tu trabajo.

Mi duda es la siguiente: quisiera filtrar 5 columnas que contienen códigos numéricos, sin embargo estos aparecen en diferentes orden en cada fila, por ejemplo:

12 25 30 45 10
25 12 30 10 45

quisiera obtener la frecuencia de aparición de cada combinación sin importar el orden en el que estén. Lo intenté con tablas dinámicas pero me fue imposible.

Agradecería inmensamente la ayuda

Saludos,

Mariana

Jorge L. Dunkelman 19 febrero, 2011 07:42  

Mariana,

no tango claro a que te refieres con "cada combinación". Te sugiero que te pongas en contacto conmigo por mail privado (fijate en el enlace Ayuda).

Anónimo,  29 marzo, 2011 19:18  

hola que tal, tengo una duda tengo una base de datos con diferentes columnas donde hay diferentes criterios, ejemplo: edad, nombre, sexo, deporte.
como hago si despues de hacer el filtro quiero que me bote solamente los nombres y no toda la informacion

Jorge L. Dunkelman 29 marzo, 2011 19:59  

Usando la opción "Copiar a". Supongamos que tu tabla usa el rango A5:D200 (las primeras cuatro filas contienen los criterios).

En la celda F5 ponés el el título del campo (columna) que te interesa, en tu caso "nombre".
En "Copiar a" ponés F5. En la columan F aparecerán sólo los nombres que cumplen con el o los criterios.

Armando,  26 abril, 2011 03:21  

Que tal Jorge, me gustaria limitar mi cantidad de resultados con una fórmula pero la verdad me esta costando trabajo hacerlo me podrías ayudar?
Mi idea es usar una fórmula parecida al CONTAR.SI que utilizas para que te muestre valores que aparecen mas de una vez. En tu ejemplo (si quiero 10 resultados) seria algo asi =CONTARA($A$6:$A$15)<10 pero no funciona. La solución sería usar una columna auxiliar pero me gustaria hacerlo con una formula y un filtro avanzado

Jorge L. Dunkelman 26 abril, 2011 15:59  

Armando,
no se puede limitar la cantidad de resultados con fórmulas, de la misma manera que no se puede hacer cambios en la hoja con fórmulas. Con fórmulas se puede sólo una cosa: calcular.
Así que, como dices, la solución es usar una columna auxiliar, lo cual en mi opinión no tiene ninguna desventaja.
Otra posiblidad es usar tablas dinámicas, donde tienes la posiblidad de mostrar los n mejores o n peores (mejores y peores en el sentido numérico).
Esta posiblidad también existe en el Autofiltro de Excel 2007.

Ale TOMA,  27 julio, 2011 21:07  

Sr. DunKelman

Felicidades por su vocación de enseñar. Tengo una duda sobre filtro avanzado cuando el encabezado tiene dos filas y por tanto hay celdas combinadas. Al aplicar el filtro, deja información sin aplicarlo.

Gracias

Jorge L. Dunkelman 28 julio, 2011 06:33  

Hay que evitar el uso de celdas combinadas tanto como sea posible (es decir, casi siempre). Te sugiero que leas esta nota sobre el tema.
Hay que poner los encabezados en una única celda. Para separar líneas dentro de la celda puedes usar Alt+Enter o usar la opción Ajustar texto en Formato de celdas-Alineación.

Publicar un comentario

Google+ Followers

Seguidores

Google+ Badge

Términos Legales

  © Blogger template On The Road by Ourblogtemplates.com 2009

Back to TOP