Nos adentraremos, un poco al menos, en el mundo de los filtros avanzados. Son útiles, en especial, cuando estamos trabajando con bases de datos en Excel; si bien conviene recordar que Excel es una Hoja de cálculo y no un gestor de Bases de datos, como lo podría ser Access.
Supondremos que tenemos una Base de datos en nuestra hoja de cálculo, y que pretendemos aplicarles, para encontrar o filtrar algunos de sus registros, un filtro; en aquellas ocasiones en que los Autofiltros se quedan 'cortos' para lo que pretendemos obtener, aplicaremos los Filtros Avanzados, donde desaparecerán las restricciones o limitaciones que tenía el Autofiltro.
En primer lugar recordaremos desde donde activamos esta herramienta avanzada; si utilizamos Excel 2003 navegaremos por el Menú Datos > Filtro > Filtro avanzado; si nos decidimos por la versión Excel 2007 iremos al Menú Datos > Ordenar y Filtrar > Avanzadas.
Para poder aplicar esta herramienta avanzada debemos saber que además de nuestra Base de datos, necesitamos un rango de celdas a parte donde indicar cuáles son los criterios de filtro, es decir, dos rangos: Rango de la lista y Rango de criterios.
Otra ventaja que tenemos al aplicar este filtro avanzado es que podemos optar bien por filtrar sobre la misma base de datos, al igual que el Autofiltro, o bien realizar un copiado con los registros filtrados que cumplan las condiciones o criterios dados en el lugar que seleccionemos.
De nuestra base de datos necesitamos conocer qué registros cumplen la condición que el número de productos vendidos, campo 'unidades del producto', sea menor de 56 o que sea mayor de 79 y menor de 96 (trabajaremos en nuestro ejemplo con desigualdades estrictas para facilitar el trabajo).
Para poder aplicar nuestro 'Filtro Avanzado' construimos en otro lugar de la hoja de cálculo un rango de criterios, en el cual deberemos incluir la cabecera o título del campo sobre el que queremos aplicar el filtro. De forma similar a como aplicabamos las restricciones en la funciones de bases de datos, actuaremos con estos Filtros avanzados, es decir, teniendo presente que las condiciones dadas en una misma fila indicarán el cumplimiento simultáneo (i.e., equivale a un operador Y), y que las condiciones en distintas filas indicarán un cumplimiento adicional (i.e., equivale a un operador O).
En nuestro ejemplo, el rango de criterios quedará entonces:
Ejecutando la herramienta de Filtro avanzado, y seleccionando el Rango de la base de datos, y el Rango de criterios, así como la opción de Copiar el resultado a otro lugar:
obtendremos el siguiente resultado de registros que cumplen las condiciones dadas:
Debemos saber que el filtro avanzado, al igual que el Autofiltro, respeta el orden de los registros de la Base de datos original; que no existen restricciones o limitaciones en cuanto a número de condiciones sobre un mismo campo (recordemos que con el Autofiltro no podíamos aplicar más de dos condiciones al tiempo sobre un mismo campo). Y muy importante conocer la forma de aplicar estas distintas restricciones; siempre que las condiciones estén en la misma fila, independientemente del campo que sea, estamos forzando el cumplimiento simultáneo, mientras que si se encuentran en distintas filas forzamos todas las condiciones alternativamente.
Por ejemplo, podríamos haber necesitado extraer aquellos registros que cumplieran, además de la anterior condición, cuya fecha de operación es anterior al 31/12/2009, para lo que tendría que haber dado como rango de criterios:
es decir, filtramos aquellos registros que cumplan al tiempo que su número de productos vendidos sea mayor de 79 y menor de 96 y que además su fecha de operación sea anterior o igual al 31/12/2009, por otro lado buscamos también aquellos registros cuyo número de productos vendidos sea inferior a 56 y además su fecha de operación sea igual o menor a 31/12/2009.
Supondremos que tenemos una Base de datos en nuestra hoja de cálculo, y que pretendemos aplicarles, para encontrar o filtrar algunos de sus registros, un filtro; en aquellas ocasiones en que los Autofiltros se quedan 'cortos' para lo que pretendemos obtener, aplicaremos los Filtros Avanzados, donde desaparecerán las restricciones o limitaciones que tenía el Autofiltro.
En primer lugar recordaremos desde donde activamos esta herramienta avanzada; si utilizamos Excel 2003 navegaremos por el Menú Datos > Filtro > Filtro avanzado; si nos decidimos por la versión Excel 2007 iremos al Menú Datos > Ordenar y Filtrar > Avanzadas.
Para poder aplicar esta herramienta avanzada debemos saber que además de nuestra Base de datos, necesitamos un rango de celdas a parte donde indicar cuáles son los criterios de filtro, es decir, dos rangos: Rango de la lista y Rango de criterios.
Otra ventaja que tenemos al aplicar este filtro avanzado es que podemos optar bien por filtrar sobre la misma base de datos, al igual que el Autofiltro, o bien realizar un copiado con los registros filtrados que cumplan las condiciones o criterios dados en el lugar que seleccionemos.
De nuestra base de datos necesitamos conocer qué registros cumplen la condición que el número de productos vendidos, campo 'unidades del producto', sea menor de 56 o que sea mayor de 79 y menor de 96 (trabajaremos en nuestro ejemplo con desigualdades estrictas para facilitar el trabajo).
Para poder aplicar nuestro 'Filtro Avanzado' construimos en otro lugar de la hoja de cálculo un rango de criterios, en el cual deberemos incluir la cabecera o título del campo sobre el que queremos aplicar el filtro. De forma similar a como aplicabamos las restricciones en la funciones de bases de datos, actuaremos con estos Filtros avanzados, es decir, teniendo presente que las condiciones dadas en una misma fila indicarán el cumplimiento simultáneo (i.e., equivale a un operador Y), y que las condiciones en distintas filas indicarán un cumplimiento adicional (i.e., equivale a un operador O).
En nuestro ejemplo, el rango de criterios quedará entonces:
Ejecutando la herramienta de Filtro avanzado, y seleccionando el Rango de la base de datos, y el Rango de criterios, así como la opción de Copiar el resultado a otro lugar:
obtendremos el siguiente resultado de registros que cumplen las condiciones dadas:
Debemos saber que el filtro avanzado, al igual que el Autofiltro, respeta el orden de los registros de la Base de datos original; que no existen restricciones o limitaciones en cuanto a número de condiciones sobre un mismo campo (recordemos que con el Autofiltro no podíamos aplicar más de dos condiciones al tiempo sobre un mismo campo). Y muy importante conocer la forma de aplicar estas distintas restricciones; siempre que las condiciones estén en la misma fila, independientemente del campo que sea, estamos forzando el cumplimiento simultáneo, mientras que si se encuentran en distintas filas forzamos todas las condiciones alternativamente.
Por ejemplo, podríamos haber necesitado extraer aquellos registros que cumplieran, además de la anterior condición, cuya fecha de operación es anterior al 31/12/2009, para lo que tendría que haber dado como rango de criterios:
es decir, filtramos aquellos registros que cumplan al tiempo que su número de productos vendidos sea mayor de 79 y menor de 96 y que además su fecha de operación sea anterior o igual al 31/12/2009, por otro lado buscamos también aquellos registros cuyo número de productos vendidos sea inferior a 56 y además su fecha de operación sea igual o menor a 31/12/2009.
Amigo muy buenas necesito una gran ayuda suya, resulta que tengo una coleccion de datos de 4 columnas y 200 filas, la necesidad es que 1 de las columnas que representa fecha, se pueda filtrar pero mediante un rango, osea en una celda ubico fecha inicial y en otra fecha final, y mediante eso me filtre mi colexion de datos. Desde ya gracias por tu ayuda
ResponderEliminarHola CrIsToFeR,
ResponderEliminarpara hacer sencilla la solución, creo que lo mejor sería aplicar un Filtro Avanzado sobre tu colección de datos. Si sigues las indicaciones de este mismo post, podrás construir el filtro avanzado adecuado.
Supongamos que tus columnas de datos son A:D con nommres de campo Column1(Fecha), Column2, Column3 y Column 4 y tantos registros como sean 8en tu caso 200).
Puesto que deseas filtrar tus registros por fecha entre dos valores dados, lo primero que haría sería definir un rango de criterios 'dinámico', quiero decir, si en las celdas I1 y I2 tienes las fechas inicial y final, en un rango aparte F1:G2 creamos lo que será el rango de criterios para nuestro filtro avanzado; en el cual pondremos en la primera fila F1:G1 el nombre del campo a filtrar (Column1 = Fecha), en la celda F2 =">"&I1 y en la celda G2 ="<"&I2
Sobre esto podrás aplicar la opción de filtro avanzado...
Espero haber dado algo de luz a tu consulta.
Slds
Una pregunta... ¿En los filtros avanzados se necesitan mínimo tres filas vacías por encima de los datos para establecer los criterios de filtrado?
ResponderEliminarMuchas gracias por la ayuda.
Hola,
ResponderEliminarsi, es correcto. Debe existir un espacio mínimo (suele ser esas tres filas que comentas) entre el rango de criterios y la tabla de datos a filtrar para aplicar el Filtro Avanzado. el motivo es para que esta herramienta sepa distinguir entre criterios y datos. En todo caso, lo habitual es no ponerlos encima uno de otro, si no más bien al lado de la tabla de datos.
Slds
quiero aplicar filtros en una tabla dinamica
ResponderEliminarHola, buenos días
ResponderEliminarprueba a leer esta entrada, quizá te sea útil:
http://excelforo.blogspot.com/2010/08/tablas-dinamicas-ocultar-registros-sin.html
Un saludo y gracias
Estimados amigos, tengo una necesidad con una tablita, necesito crear una lista desplegable condicionada ejemplo
ResponderEliminarDEPARTAMENTOS: SAN SALVADOR, LA UNION, SANTA ANA, LA LIBERTAD.
(dentro de cada Departamento, tengo varios municipios)
Ya hice la lista para que me aparezcan los departamentos, pero no se como condicionar cuando salga el departamento de La Libertad, me aparezcan en otra columna una lista desplegable de los municipios que corresponden a ese departamento es especifico.
Si me ayudan se los agradecere mucho.
Hola,
ResponderEliminarpara realizar una validación de celdas, en función de otra previamente validada, echa un vistazo a
http://excelforo.blogspot.com/2010/02/validacion-de-celdas-con-lista-o-tabla.html
o también a
http://excelforo.blogspot.com/2009/10/ejemplo-de-doble-validacion.html
En estos dos ejemplos se da solución a tu cuestión.
Un saludo
Hola:tengo un problema con una columna de numeros a la hora de hacer filtros.Estos numeros en realaidad responden a un criterio que paso a describir: supongamos que tengo el numero 123645 este numero para mi significaria segun el valor previo que le he dado el siguiente:1=prenda de señora. 2=invierno 36=abrigo 45=proveedor "pepito".De modo que puedo una serie de prendas de señora de invierno que son abrigos y que son de otros proveedores ademas de pepito.Igualmente podrian ser jerseis. o pantalones etc. y tendrian su codigo respectivo en los digitos centrales.
ResponderEliminarA la hora de hacer un filtro avanzado para saber el numero de abrigos que tengo comprados de todos los proveedores que tenga no me permite hacer nada en la opcion avanzada que dice que empiece por... Comolo podria solucionar. Agradezco la ayuda.
Hola,
ResponderEliminarprueba a añadir como criterio o condición el comodín '?'. Por ejemplo, si quieres filtrar por el proveedor 'pepito', código 45, entonces pondrías ????45.
Estamos suponiendo que todos los códigos tienen el mismo número de dígitos. Si no es así, habría que probar con *45
Espero haberte ayudado.
Slds
Gracias excelforo por las respuesta pero ya lo habia intentado y no obtengo la respuesta adecuada y creo que debe ser por ser numeros ya que si antepongo o postpongo una letra a cada celda el filtro si funciona.La duda la tengo ahora para anteponer a las 5000 celdas un letra de modo cojunto y no de una en una.Hay alguna soolucion?. Gracias.
ResponderEliminarHola de nuevo...
ResponderEliminares algo raro lo que me comentas, ya que los criterios de filtro operan de igual forma.
Para tu otra cuestión, añadir una letra (supongo por ejemplo al principio de cada número) podrías construir en una columna anexa a la tabla una fórmula con CONCATENAR; algo como CONCATENAR("a";A1) y arrastrar las 5000 filas (suponiendo los datos a filtrar estén en la columna A). Luego si quieres, puedes filtrar sobre esta nueva columna de datos, o bien copiar y pegar valores sobre la vieja columna sólo de números.
Espero te sirva.
Slds
Gracias excelforo.Lo que me pasa es extraño aunque yo pensaba que al no ser caracteres alfanumericos sino solo numericos era por eso. Respecto a la otra solucion si pudiera explicarme un poco mas detallado lo que hay que hacer se lo agradeceria mucho(no soy experto en estas cosas ni en otras)¿donde colocar la funcion? como se hace los de arrastrar las 5000 filas?acaso es copiar y luego pegar?.Ya le digo solo manejo lo mas elemental de este programa.
ResponderEliminarGracias por toda la ayuda.
Hola!!
ResponderEliminarbien, por partes.
Añadir una columna con la siguiente fórmula a la derecha (por ejemplo) de donde finalice tu tabla.
Supongamos tu tabla de datos ocupa las columnas A:D, siendo la columna A donde se encuentran los códigos; y pongamos que en la fila 1 aparecen rótulos con nombres de campos.
Bajo este supuesto escribimos en la columna E, en la celda E2, la función =CONCATENAR("a";A1); una vez validada esta primera celda, la copiamos y pegamos a esas 5000 restantes filas de esa columna E...
Para trabajar sobre la 'nueva' base de datos seleccionamos todo el rango A:E y aplicamos los filtros oportunos, esta vez sobre nuestra columna E.
Si tienes algún problema con las indicaciones, envíame un fichero a
excelforo@gmail.com
Un saludo
Un ejemplo de filtro avanzado
ResponderEliminarAmigo Aki arriba lo tiene.
Eliminarhola soy nuevo y tengo una duda sobre una hoja de calculo donde anoto
ResponderEliminarasientos contables de clientes y proveedores, es lo que se llama un fichero plano en excel y a la hora de anotar las facturas tanto de proveedores como de clientes el formato de hoja es el siguiente:
Fecha Nº.fra. Base 4% IVA 4% Base 8% IVA 8% Base 18% IVA 18%
estas serian las cabeceras y los datos se introducen en las celdas de abajo de las cabeceras, como puedo hacer para que si yo anoto en horizontal debajo de las cabeceras y es una factura con tres tipos de iva me coloque una linea en horizontal por cada tipo de iva de la misma factura y fecha.
gracias y espero haberme explicado
Hola,
Eliminarsi he entendido bien podrías emplear la herramienta subtotales; de tal forma que una vez incluidos todos los registros en la base de datos, ejecutaras hasta en tres veces la herramienta Subtotal; la primera de ellas sumando los campos Base 4% IVA 4%; después los campos Base 8% IVA 8% y por último Base 18% IVA 18%, siempre para cada cambio en el campo Nºfra.
Asi conseguirías el efecto que buscas sin necesidad de macros, de manera rápida y sencilla en tres pasos.
Espero te sirva.
Slds
hola e gustaria que me ayudes tengo una tabla de datos de 500 filas y 5 columnas quiero filtararlas a otra ohjas dentro del mismo libro eso sii lo iso pero aca viene el problemac que si yo ingro un nuevo dato en esta tabla no me lo jala a la hoja dnede genere el filtro
ResponderEliminarHola,
Eliminares normal, ya que el filtro es algo estático, esto es, una vez ejecutado no actualiza nuevos valores...
quizá te interese más trabajar con una tabla dinámica simulando el filtro de datos realizado, de esta manera te asegura que nuevos regitros en el origen, se mostrarán en el resultado filtrado.
Slds
GRACIAS
ResponderEliminarPERO ME PODRIAS DAR UN EJMEPLO POR FAVOR
cordial saludo
ResponderEliminarcomo hago para realizar un filtro, teniendo el rengo pero de la columna, es decir no los valores de la celda si no el valor de la columna,1,2...500, y realizar el filtro con otra hoja pero esta si con los valores de la celda
Hola,
Eliminarlos filtros sólo son aplicables por columnas, es decir, con rótulos y registros por filas; daría igual qué tuvieras en la primera fila si rótulos o valores.
Lo que no entiendo es la última parte de la cuestión, ¿realizar un filtro con otra hoja?. Los Autofiltros sólo se pueden ejecutar sobre la hoja con la que trabajas...
Slds
holas buenos dias.
ResponderEliminarquisiera saber si me podrian ayudar con un problemita q tengo me piden
extraer d una base d datos
tipo 2 o sea masculino
como haria para extraer eso.
muchas gracias.
Hola Paul,
Eliminarno das muchos datos de cómo tienes estructurada la base de datos, pero supongo que se tratará de extraer una serie de registros en base al elemento 2 (masculino) de un campo llamado 'Sexo'.
Lo más facil sería aplicar sobre la base de datos un Autofiltro, para luego sobre el campo en cuestión desplegar sólo el elemento deseado.
Espero haberte orientado en algo.
Un saludo
Acabo de adquirir el Excel 2007, pero tengo problemas con el “autofiltro”, al intentar copiar y pegar "lo filtrado" me copia incluso lo q no esta filtrado... ¿sabrás como puedo resolver esa situación?. Con el excel antiguo trabaja muy bien.
ResponderEliminarHola,
Eliminarla solución sería que mostraras en la Barra de herramientas de acceso rápido el botón para el Comando Seleccionar celdas visibles.
Cuando tengas el filtro aplicado, marcas el área y presionas Seleccionar celdas visibles, copias y ya puedes pegar donde quieras...
Slds
Hola,tengo un hoja de calculo en exel donde tengo 5 columnas y 1868 filas donde se repiten codigos que se ubican en la columna b, las descripsiones se ubican el lacolumna c, en la columna d su unidad del material y las de mas culumnas restantes solo tienen su titulo, ¿como podria hacer un registro unico con el filtro avanzado para lograr a si ver solo un codigo y descripsion, sin repetision?. Porfavor se le Agradeceria por tada su vida si logra ayudarnos... n.n
ResponderEliminarHola,
Eliminarpara conseguir los registros únicos, sin repetición, de tu base de datos de 5 columnas, empleando la herramienta de Sólo Registros únicos del Filtro avanzado, tendrías que seleccionar exclusivamente los campos 'código' y 'descripción' en el Rango de Lista, y luego, por ejemplo marcar la Acción de 'Copiar a otro lugar', y listo, te mostrará sólo esos dós campos con la combinación de registros sin repetición.
Espero haberte orientado.
Slds
Hola, me gustaría saber como realizarías el filtro si necesitaras por decir la fecha de operación entre agosto de 2009 y diciembre de 2009, llevo un rato tratando de hacer una avanzado con intervalo de fecha y nada que puedo, gracias
ResponderEliminarHola,
Eliminarcomo quieres aplicar un criterio Y, tienes que poner en la misma línea ambas condiciones, así que pones en dos columnas el campo Fecha, y en una de ellas '>=01/08/2009' y en la otra '<=31/12/2009'.
Parecido al ejemplo de esta entrada con el campo 'Unidades del producto' (última imagen).
UN cordial saludo
Hola, ahora si me dio la fecha entre rangos como me explicaste, muchísimas gracias, llevaba todo el día varada en eso, saludos! :)
ResponderEliminarhola, me aprovecho de tus conocimientos. tengo una base con estas columnas: Codigo, Nombre, Cantidad, Valores, Mercado(5 Mercados distintos). La base tiene 5000 lineas.Por lo que uso Filtro Avanzado y genero 5 hojas (una por cada Mercado).El problema que tengo es que Filtra perfecto, pero no puedo SUMAR las lineas de un mismo Codigo que se vende en un mismo Mercado ¿me entiendes?. ¿como podría sumar en el Filtro Avanzado?. Gracias
ResponderEliminarHola Ivan_10,
Eliminarbueno, el asunto es que realmente la herramienta de Filtro (Autofiltro o Filtro avanzado) sólo está pensada para obtener un listado de registros que cumplan ciertas condiciones.
Si pretendes obtener una suma acumulada para un mismo código de producto tendrás que aplicar una función SUMAR.SI.CONJUNTO aplicándo condiciones sobre el campo 'Código' y 'Mercado', o bien trabajar con tablas dinámicas.
La otra opción, si por algún motivo sólo es posible trabajar con Filtros, sería aplicar una vez realizado el filtro, una SUMA a esos registros obtenidos.
Un saludo
Desde ya, gracias por tu tiempo y respuesta.Use la opción Filtro avanzado, ya que, como mencione, de una "gran sabana de datos",hago 5 hojas individuales donde la abro en 5 hojas individuales, pero ya sumados los productos.¿me puedes sugerir una opcion?, ¿Me podrías guiar o ejemplificar tu frase: "la funcion SUMAR.SI.CONJUNTO aplicándo condiciones sobre el campo 'Código' y 'Mercado'". Gracias nuevamente
ResponderEliminarMe refería a que si sólo necesitas obtener la suma acumulada de toda esa 'gran sábana de datos', quizá te sea más útil emplear la función SUMAR.SI.CONJUNTO.
EliminarPor ejemplo, quieres conocer el acumulado de la CANTIDAD, para un MERCADO y un CODIGO determinado; si es el caso, aplicas la función:
=SUMAR.SI.CONJUNTO(rangoCANTIDAD; rangoMERCADO; "mercado1"; rangoCODIGO; "codigo25")
siendo rangoCANTIDAD la columna donde se encuentre el campo CANTIDAD con sus 5000 líneas; igual con rangoMERCADO y rangoCODIGO, y "mercado1" y "código25" son los valores para esos campos sobre los que quieres obtener el acumulado...
y todo sin necesidad de hacer filtros.
Espero lo veas más claro... si no envíame el fichero a
excelforo@gmail.com
Un saludo
Estimado Excel Foro, que pasa si tengo el filtro avanzado ya creado en una base con una macro, si agrego mas datos a la macro como puedo modificarla sin ingresar a la programacion, tengo que grabar una macro nueva y al grabarla como puedo darle un rango de base de datos standar es decir, que pueda aumentar o disminuir datos???
ResponderEliminarHola,
Eliminarpara programación con rangos variables, tipo tablas, donde hay una continuidad de datos, merece la pena trabajar empleando la propiedad CurrentRegion.
Por ejemplo, una tabla que comienza en A1 y no sabes donde termina, podrías referenciarla en tu macro como
Range("A1").Currentregion
Slds
Hola mi consulta es cuantos caracteres caen en una celda, por ejemplo necesito copiar el siguiente numero hacia abajo y que vaya cambiando el ultimo numero al darle un copiar.
ResponderEliminarla idea es que al darle arrastrar la celda vaya cambiando
309659281000041461
309659281000041462
Hola!,
EliminarLo primero y fundamental que debemos saber a la hora de trabajar con Excel es que la precisión en cuanto a numéros es de 15 dígitos, por lo que lo trabajar con un número tan alto como el que planteas es complicado con Excel.
Sin embargo, si esa secuencia de valores 309659281000041461, 309659281000041462, etc es algo visual,y no necesitas trabajar sobre esos datos puedes optar por un formato de celda personalizado tipo: "3096592810000"0, con lo que podrás incluir los últimos valores de los dígitos 41461, 41462, etc y visualizarlos con la máscara completa... claro está que pierdes la integridad del valor.
Espero te sirva.
Slds
muchas gracias
ResponderEliminarHola
ResponderEliminaruna consulta?
tengo mis datos en 5 colunna: 1fecha, 2Kg ,3Propietario, 4Corral y 5 Nro de caravana, de las 5 columna tengo que buscar cuando se registra salida por Nro e caravana, y quisiera saber algun metodo mas rapido, por que estoy haciendo actualmete filtro y despues copio imprimo y busco por nro de carbana.
aguardo su ayuda
desde ya gracias
Hola,
Eliminarpodrías aplicar un Filtro avanzado que te permite copiar el resultado del filtro directamente donde quieras.
Para ello necesitas tener un rango donde colocar los criterios de filtro (Nro y Caravana), que podrás ir cambiando según necesites...
Slds
Hola! Una pregunta no me deja filtrar a otra hoja dentro del mismo libro. Me dice que solo se puede a la hoja activa. Hasta intente asignando nombre al rango a donde quiero copiarlo, pero no me deja...
ResponderEliminarGracias!
Hola,
Eliminarcorrecto. Para aplicar el filtro avanzado desde otra hoja, debes activar la herramienta en la hoja destino, no desde donde estén los datos.
Si permite seleccionar rango de datos y de criterios en otra hoja, pero no Copiar datos en.
Slds
Hola,
ResponderEliminarTengo una lista de datos (Rango A:D) con encabezados (Fecha,Factura,Importe,Referencia)y una macro que funciona como un filtro avanzado. Estoy intentado filtrar los datos en funcion de un criterio de fechas (desde-hasta) y para ello he seguido los comentarios de tus posts (08/01/11 y 01/07/12) pero no consigo que funcione. ¿Puedes sugerirme alguna alternativa?
Gracias.
Hola,
Eliminarno me queda claro qué no te funciona, ¿los criterios o que incorpore los nuevos registros?.
Debo entender que lo que no te funciona es la agregación al rango de los nuevos registros, si es así, y trabajas con Excel 2007/2010, podrías convertir tu rango en una tabla, y en tu código indicar el rango origen como Range(Tabla1).
Es difícil concretar más, lo siento.
Slds
Intentaré ser más concreto:
ResponderEliminarSi programo la macro como un AutoFiltro, funciona el filtrado de fechas pero no me permite realizar más filtrados:
Sub filter()
Dim desde As Long, hasta As Long
desde = Range("A2")
hasta = Range("A3")
Range("data").AutoFilter field:=1, Criteria1:=">=" & desde, _
Operator:=xlAnd, Criteria2:="<=" & hasta
End Sub
Y si programo la macro como un Filtro Avanzado, me permite realizar filtrados simultáneos pero no por fechas:
Sub filter()
Range("data").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Range("A1:D3"), CopyToRange:=Range("A6:D6"), Unique:=False
End Sub
¿Se puede combinar un Filtro Avanzado con un AutoFiltro?
Gracias anticipadas.
Hola,
Eliminarno es posible combinar filtro avanzado y autofiltro, pero si es posible trabajar con el filtro avanzado como si fuera un autofiltro.
Respecto al código
Sub filter()
Range("data").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Range("A1:D3"), CopyToRange:=Range("A6"), Unique:=False
End Sub
parece correcto, con la mínima corrección del CopyToRange.
Si en el rango de criterios A1:D3 están correctamente definidas las condiciones funciona perfectamente...
Revisa que tus condiciones cumplen con las formas que se requieren... echa un vistazo a este mismo post del blog.
Slds
Hola de nuevo,
EliminarCon la modificación de CopyToRange:=("A6") solo me filtra los datos de la columna A.
Por lo demás, el problema sigue siendo que si en los criterios pongo p.e. A2=2-Abr-12 y en A3=5-Abr-12 filtra los datos de los días 2-Abr y 5-Abr pero no los días intermedios (3 y 4).
¿Como sería el código para que el Filtro Avanzado trabajase como si fuera un AutoFiltro?
Saludos.
Ummm...
EliminarCopyToRange indica la celda a partir de la cual empieza a pegar el resultado del filtro.
Si has leído algo del post, te habrás dado cuenta que para aplicar el criterio entre dos datos, tienes que indicarlo con los signos de mayor y menor, en tu caso:
A2: >=2-Abr-12 y en A3: <=5-Abr-12
Slds
¿Como puedo incluir en el código del Filtro Avanzado los criterios ">=" y "<=" para que la selección sea automática, como un AutoFiltro?
EliminarGracias
No puedes, en el código del filtro avanzado sólo puedes incluir el rango de criterios en la hoja de cálculo.
EliminarTienes que centrarte en una de las dos herramientas, o Filtro avanzado o Autofiltro, las dos a la vez no es posible.
Ummm, he encontrado una manera muy simple de que funcione:
EliminarFechadesde = Range("A2")
Fechahasta = Range("B2")
Range("A2") = ">=" & Fechadesde
Range("B2") = "<=" & Fechahasta
Range("datos").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"A1:D2"), CopyToRange:=Range("A6:D6"), Unique:=False
End Sub
¿Como se puede hacer que la macro actualice los datos cada vez que modifique un criterio sin necesidad del botón comando?
Gracias por tu consejo!
Hola,
Eliminarincluye tu código en un procedimiento con evento _change:
Private Sub Worksheet_Change(ByVal Target As Range)
'tu código
End Sub
incluido no en un módulu, si no en la hoja que sea dentro del explorador de proyectos.
Slds
Hola de nuevo,
EliminarAhora tengo el código de la siguiente manera:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A2:E2")) Is Nothing Then
Fechadesde = Range("A2")
Fechahasta = Range("B2")
Range("H2") = ">=" & Fechadesde
Range("I2") = "<=" & Fechahasta
Range("Datos").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Range("H1:L2"), CopyToRange:=Range("A6:D6"), Unique:=False
End Sub
Los criterios son varios (Fecha/Factura/Importe/Nombre) y tengo el problema de que la macro realiza el filtrado con el criterio Fecha (desde/hasta) y actualiza los datos al realizar cualquier modificación, pero no permite filtrar más que este criterio, pues si a Fecha le añado otro criterio no lo tiene en cuenta y si busco con un criterio que no incluya Fecha tampoco funciona.
¿Que se puede hacer para que el filtrado se permita cualquiera de los criterios, por separado (Fecha, Factura, Nombre, etc.) o en combinación (Fecha desde-hasta, Fecha-Factura, Factura-Nombre, etc.)?
Gracias.
Hola, como te he indicado en comentarios anteriores, tu problema es entender el funcionamiento de los filtros.
EliminarQue es:
criterios en al misma fila, implica la condición Y (es decir, se cumplen al tiempo).
criterios en diferentes filas implica la condición O (esto es, se cumplen además del resto de criterios).
Si quieres que se verifiquen otras condiciones además de la de las fechas, deberás añadir más filas con condiciones (según los campos Factua, Nombre, etc) en el rango de criterios.
Slds
Para entenderlo mejor, ¿me puedes facilitar un ejemplo?
Eliminar¿Has leído esta entrada???
Eliminar¿se puede hacer el filtro en una hoja diferente?
ResponderEliminarHola, que tal?
Eliminarsi es posible, para ello debes ejecutar la herramienta filtro avanzado desde la hoja destino, no desde la que tenga la base de datos.
Slds
Hola,
ResponderEliminarTengo una tabla con 7 columnas referentes a Codigo, Artículo, Precio, Proveedor, F. Pedido, F. Entrega y Cantidad. Me piden utilizar autofiltro para obtener solo artículos, fecha de pedido y cantidad correspondientes a dos proveedores llamados Gemesa y Papelsa... lo he hecho pero me salen para todas las columnas y sólo quiero los campos mencionados. A ver si me podéis ayudar. Gracias
Hola,
Eliminarcon el Autofiltro sólo es posible filtrar, según condiciones, por filas; si quieres que muestre sólo esos campos, yo apostaría por ocultar el resto de columnas que no quieres ver.
No hay otra opción.
Slds
Antes que nada, felicitarte por tu blog.
ResponderEliminarTengo un problema con la condición en el filtro avanzado. Quiero que un de los criterios para filtrar, sea un valor superior a un valor en otra celda. Ejemplo:
En la celda D6 tengo un valor numérico producto de una formula, y quiero que uno de los criterios de filtrado avanzado sean valores superiores a la celda D6. He intentado poniendo en la celda de filtrado algo así:
=">"&D6
Pero al ejecutar el filtrado no devuelve ningún dato. Si escribo en la celda de filtrado el valor de la celda D6 manualmente, si se ejecuta correctamente. ¿Cuál crees que pueda ser el error?
Un saludo,
Hola, muchas gracias!!
EliminarBueno, la forma en que has construido el valor de la celda parece correcto.
En primer lugar me aseguraría (supongo es así) que la celda superior a =">"&D6 aparece con el rótulo correspondiente. Si es así, lo segundo que miraría es qué tipo de formato tienes los elementos de ese campo en la Tabla, en ocasiones, podemos pensar que estamos trabajando con valores numéricos, pero sin embargo, el formato que tienen es de tipo Texto y dar problemas como el que me planteas.
Confirma estas dos cosillas, y si te sigue dando el mismo problema, envíame el fichero a
excelforo@gmail.com
Slds
He revisado tus sugerencias, y continua el problema. Te envío el archivo.
ResponderEliminarGracias
OK,
Eliminarlo estoy revisando, pero el problema está en la macro, ya que si lo ejecutas 'manualmente' funciona bien.
Te digo algo.
Slds
He utilizado tu macro, y funciona perfectamente ¡¡¡.
ResponderEliminarMuchas gracias por tu colaboración y tiempo.
Esta claro que dominas este tema … yo nunca hubiese encontrado el problema en la interpretación de comas y puntos.
Saludos,
Gracias a ti
EliminarCordiales saludos
ESTA BIEN
ResponderEliminarhola,
ResponderEliminartengo una tabla con estos campos EJEMPLO
poblacion,hectareas,nombre poblacion,fecha evento,descripcion evento
y en una poblacion ocurren varios eventos el mismo dia,EJEMPLO FECHA:10/12/2031 DESCRIPCION:concierto, FECHA:10/12/2031 DESCRIPCION:cabalgata, como haria para que estos me aparecieran separados mediante algun filtro o funcion buscarv o validacion de datos
de antemano muchas saludos
Hola,
Eliminarno acabo de comprender adecuadamente la composición de tu problema, necesitaría concretar más la estructura de datos, ya que no veo claro si esa variedad de registros para una misma población se da en diferentes registros (líneas de la tabla)...
¿Podrías enviarme un fichero con el ejemplo a excelforo@gmail.com? y si es posible cómo lo querrías...
Un saludo
Hola ExcelForo!
ResponderEliminarMe gustaría conseguir mediante un filtro avanzado los 10 mejores resultados de una serie de datos que están en una columna, ¿qué tendría que poner en criterios?
Gracias y felicidades por la web!
Luo
Hola Luo, muchas gracias!
Eliminarentiendo que son resultados numéricos. Suponiendo el rango sea A2:A8, entonces en el rango de criterios añadiríamos la fórmula (por ejemplo en C2):
=A2>=K.ESIMO.MAYOR($A$2:$A$8;3)
Recuerda que en este caso debes seleccionar como rango de criterios como C1:C2).
Cordiales saludos
Buenas!
EliminarGracias por la respuesta, pero lo he intentado y me sigue sin salir.. verás, la cosa es que la columna con los datos está en otra hoja (llamada Resultados), entonces yo pongo como condición una cosa así:
Resultados!C7>K.ESIMO.MAYOR(Resultados!C7:D7;9)
¿En qué puede fallar?
Gracias ;)
Luo
Hola Luo,
Eliminarpara aplicar un filtro avanzado en hojas diferentes tienes que ejecutarlo todo desde la hoja destino, no es tanto el problema de la fórmula, si no que estás ejecutando el filtro en la hoja origen.
Slds
Si, me sitúo en la hoja de destino y ahí aplico la fórmula que te puse como criterio.
EliminarVerás, te concreto más:
· En la hoja destino escribo en unas celdas (A64:A65) las condiciones:
NOTA MEDIA (cabecera)
Resultados!C7>K.ESIMO.MAYOR(Resultados!C7:D7;9)
· Celdas A67:B67 pongo las cabeceras de la hoja 'Resultados': Apellidos y Nombre (que es lo que quiero que se muestre)
· Aplico filtro avanzado:
1)Rango de la lista: el nombre que le di a la tabla de la hoja 'Resultados'.
2)Rango de criterios: $A$64:$A$65
3)Copiar a: $A$67:$B$67
Gracias,
Luo
¿Me envías mejor el fichero a excelforo@gmail.com?
EliminarMe ha encantado el tutorial. SUPER util, pero tengo un problema.
ResponderEliminarMe funciona perfectamente excepto con las fechas.
Tengo una columna con las fecha y hora, y tengo que filtrar por dia.
He generado un criterio=>que una fecha y otro <fecha. El filtro funciona bien, pero cuando lo intento automatizar con macro no funciona. De hecho cada vez me da un problema diferente...Ayuda pleaseee!!
Hola, muchas gracias!
EliminarTrabajar con macros los filtros avanzados, como has podido ver, es muy delicado...
Me imagino en tu código tendrás algo de este estilo:
Range("Datos").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Range("H1:L2"), CopyToRange:=Range("A6:D6"), Unique:=False
cambialo por
Range("Datos").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Range("H1:L2"), CopyToRange:=Range("A6"), Unique:=False
en principio no debería fallar, ojo con las fechas...mejor trabaja con la función FECHA(año;mes;día).
Slds cordiales
Como hago para filtrar una serie de datos (servicios con sus respectivas características) que están en una misma columna, de tal manera que en el filtro aparezcan los servicios y de ahí se desprendan las características, como por ejemplo cuando uno filtra fechas, que aparece el año y de ahí se desprenden los meses.
ResponderEliminarHola, buenas tardes, ¿cómo estás?.
EliminarLo que comentas de los filtros de fechas es una funcionalidad estándar de Excel y es exclusiva para las fechas...
Para aplicarlo a tu caso, en esta herramienta, tendrías que definir el árbol con sus ramas par que aparecieran como quieres, y esto es imposible.
Lo siento.
Saludos cordiales
Muchas gracias por tu respuesta.
ResponderEliminarHola, tengo una matriz que crece continuamente y debo filtrarla con diferentes criterio, al utilizar filtro avanzado me pide el "rango de lista", pero como este crece no se como definirlo. Ej $A$1:$K$n , donde " n " es la variable creciente, es porque se van agregando registros.
ResponderEliminarHola Martín,
Eliminarpara estos casos de rango variable lo mejor es trabajar sobre una Tabla, es decir, crear con el rango $A$1:$K$10 (el que tengas en este momento) una Tabla, llámala como quieras, por ejemplo 'Datos', y luego usa ese nombre en el rango de Lista... de esta manera el filtro se adapatará al número de registros que tengas en cada momento.
Slds
tengo una base de datos en excel,nombres, telefonos me piden hallar que el quinto caracter del telefono sea 8 con filtro avanzado como elaboro mi criterio. gracias
ResponderEliminarHola, que tal?
Eliminardebes emplear los caracteres comodines:
el ? para representar un único caracter
y el * para representar un número indefinido de caracteres
Si quieres que el quinto caracter sea un 8, tendrás que aplicar sobre el campo que sea el criterio:
????8*
Slds
mi pregunta es la siguiente, tengo varias tablas dinámicas con el mismo filtro de tabla dinámica. necesito que al digitar el valor del filtro, automáticamente se cambie en las otras tablas. es eso posible. Seria com asignarle al filtro de la tabla dinámica una formula
ResponderEliminarHola,
Eliminarsería posible aplicando macros, de tal forma que al seleccionar y aplicar un elemento (diltrando) sobre un campo de una de las TD, la macro recoja dicho cambio y lo aplique al resto de TD...
Slds
Hola Ismael,
ResponderEliminarYo otra vez...bueno con respecto a este tema me surgió una idea hace un tiempo mientras estaba en el trabajo, y se trata de realizar una especie de filtro avanzado que vaya filtrando la información mientra escribe el criterio y que vaya reduciendo simultáneamente mientras terminas de escribir el criterio de filtro, he visto este tipo de consultas instantáneas en sql y plataformas de visual studio...sabes de algún método aplicado en excel para el caso que te comento?
Saludos.
Hola Yuri!!
Eliminarel problema que veo, es sólo mi opinión, es que en Excel neceistas validar la celda (presionando Enter o similar) para que admita el valor introducido.. por lo que no creo sea posible tal planteamiento desde la hoja de cálculo.
Quizá desde un UserForm o un control ActiveX se pudiera actuar de manera parecida... pero supongo habría que filtrar siempre sobre el mismo campo, con un mismo tipo de datos (texto, fecha, numérico...)
Slds
Hola Ismael,
EliminarTe comentaba de esto porque estoy pensando en hacer una especie de pequeño sistema de facturación y control de inventario y a veces es necesario hacer consultas rápidas, así que me di la libertad de enviarte un archivo a tu correo de gmail, estuve pensando y consultando la misma ayuda de office y la verdad no sé ni cómo llegué a hacer eso pero a ver si le das una ojeada porque salió algo interesante.
Me das tus observaciones luego.
Saludos
Hola Yuri...
Eliminarla idea es la misma que tenía en la cabeza.
Realmente lo que haces con esa macro (a mí me falla bastante, a tí no?), es aplicar un filtro avanzado cada vez que cambias el texto en el TextBox... es decir engañas al ojo del usuario con el efecto que según escribes en el TextBox se muestra en el ListBox o en la hoja de cálculo el refresco de datos.
Pero con un par de líneas más, quedaría 'resultón'.
Podrías añadir al principio y al final
Application.ScreenUpdating = False
....
Application.ScreenUpdating = True
Podrías borrar el rango cada vez que escribas algo nuevo, justo antes de que vuelvas a aplicar el Filtro
Sheets("Hoja1").Range("E20", Range("G" & Rows.Count).End(xlUp)).Clear
Lo del ListBox no entiendo para qué sirve, qué utilidad le das....
Está muy bien
;-)
Slds
malisimo el foro, no entendi nada de nada, prefiero yahoo respuestas.
ResponderEliminarnecesito ayuda:
ResponderEliminarA1: AD
A2: AD
A3: A
A4: A
A5: D
A6: AD
LUEGO FILTRO AD, PARA CAMBIARLES DE NOMBRE A AGUA Y DESAGUE, LOS DESPLAZO, Y EL A3, A4 Y A5 SUFREN LAS MODIFICACIONES, CUANDO YO SOLO QUIERO QUE LAS CELDAS FILTRADAS SE CAMBIEN, ES UN EJEMPLO NADA MAS, PORQUE LO QUE REALMENTE QUIERO ES DESPLAZAR FECHAS, PERO ESTAS SE COPIAN AUTOMATICAMENTE EN LAS CELDAS OCULTAS DE LOS FILTROS, POR FAVOR ALGUIEN ME PUEDE AYUDAR CON ESTE PROBLEMA M I CORREO ES JR2910@HOTMAIL.COM
Hola,
Eliminarpara evitar esto emplea, una vez aplicado el filtro, la herramienta Seleccionar celdas visibles
http://excelforo.blogspot.com.es/2011/09/la-herramienta-seleccionar-celdas.html
Slds
Quiero filtrar registros cuya penultima letra del nombre sea la letra "O", el ejercicio dice
ResponderEliminar"mostrar las personas nacidas en lima, que tengan hijos y que el penultimo caracter de su apellidos sea la O!
Hola que tal Amparo!, espero te encuentres bien.
EliminarPara aplicar el filtro que indicas utiliza los comodines, en tu caso sería:
*O?
es decir caracteres indeterminados pero el segundo por la derecha debe ser O (el penúltimo caracter).
Un cordial saludo
GHola
EliminarQue sucederia si la ultima letra es O (Roberto, Diego, Sandro, Pedro)
Gracias por su respuesta
Hola Luis,
Eliminarcon ese filtro *O? estamos diciendo que la penúltima (no la última) letra sea una O.. por lo que ninguno de esos nombres (Roberto, Diego, Sandro, Pedro) aparecerían en el resultado filtrado...
Si quieres ver los nombres que acaben en o, pondríamos simplemente *o
Saludos
Hola Ismael:
ResponderEliminarResulta que tengo un problema quiero hacer un filtro "no autofiltro" que sea macro Tengo
en la columna B6 hasta B3000 con fechas en la hoja2 y las demas columnas datos referentes a las fechas son fechas unicas.
En la hoja1 quiero escribir en la celda L7 una fecha y me filtre la fecha y traiga los datos
de la columna EJ: C , H , F , I , K de la hoja2
Como hago para que traiga el dato de la columna C y lo pege en la celda B:17 de la hoja1 y de la columna F traiga el dato y lo pege en la celda B20 de la hoja1
Lo que busco es hacer que yo le ponga en donde quiera que se pegen los datos filtrados en las celdas que desee
Muchas gracias de antemano
Hola,
ResponderEliminarmi recomendación sería que grabaras con el asistente de grabación el empleo de un Filtro avanzado, para luego personalizar las variables...
La ventaja del filtro avanzado es que puedes copiar donde quieras el resultado del filtro aplicado, además de los campos que consideres... (pero siempre contiguos).
Otras opciones (para tu caso quizá sirva) sería hacer un recorrido don un bucle FOR....NEXT por el rango B6:B3000 que vaya evaluando cada Fecha con u nIF.. THEN.. y cuando cumpla la condición copie y pegue donde tu le digas.
Espero haberte orientado.
Saludos cordiales
Hola:
ResponderEliminarTengo una planilla en la cual tengo la nomina de alumnos de un colegio con sus respectivas asignaturas y docentes. Cada alumno esta identificado con un codigo unico, al igual que cada asignatura tiene un codigo que es unico. en otra hoja, tengo el listado de asignaturas,(con sus codigos) y los horarios de dichas asiganturas (algunas de ellas tienen clases mas de una vez a la semana, por lo que aparecen repetidas tantas veces como clases hay en la semana). Lo que pretendo hacer es una macro que me permita ingresar el codigo del alumno a partir del cual puedo con filro avanzado buscar sus asignaturas, y en base a ese resultado puedo aplicar otro filtro avanzado y buscar el horario de esas asignaturas......el problema es que no todos los alumnos tienen la misma cantidad de asignaturas por lo que no se como definir el rango de criterios para hacer el 2do filtro.....manualmente funciona, pero para hacer la macro ¿que coloco el rango de criterio del 2do filtro, si no se cuantas asignaturas tendrá el alumno?....he probado y si en el rango es mayor al numero de asignaturas del alumno, me tira todo el listado de horarios....¿me puedes ayudar? gracias
Hola,
Eliminarno sé si comprendí bien (y quizá necesitaría saber cuál y como construyes los filtros).. pero para indicar como condición a ese 2do filtro puedes insertar una función de conteo (CONTAR.SI.CONJUNTO), que te indique el número de horas por asignatura y alumno...
que me parece es lo que necesitas.
Espero haberte orientado.
Slds
Excelente Foro!!!, con algo tan simple y bien explicado como presentaste lo de poner criterios ordenados en diferente columna pero en la misma fila con el mismo encabezado para lograr hacer un filtro con lógica Boleana ("Y") y en diferente fila ("O") para los filtros avanzados me ayudo enormemente.
ResponderEliminarGracias de nuevo
;-)
Eliminargracias a ti!
Saludos
Buenos días, tengo un inconveniente con una hoja de calculo la cual quiero coger los valores superiores a cero, pero en el momento de realizar el filtro avanzado me esconde todas las celdas, que puede ser ??
ResponderEliminargracias
Hola,
Eliminarlo primero sería comprobar que no es un problema del formato de esos valores.. podría ser que fueran todos valores positivos.. pero por algún tipo de formato parecieran negativos!!.
Otro caso, quizá más probable es que a la hora de aplicar el Filtro (supongo avanzado) estés tomando alguna fila vacía en el rango de criterios.. lo que te llevaría a mostrar todos los registros (positivos o negativos)...
Es difícil decir sin tener delante el ejemplo..
Si no es ninguno de los casos comentados puedes enviarme el ejemplo a
excelforo@gmail.com
Un saludo
ok, ya te envío al correo.
ResponderEliminarte agradezco
tu correo rebota, por favor me regalas otro. gracias.
ResponderEliminar??
Eliminarexcelforo@gmail.com
es el correo correcto... recibo unos cuantos a diario sin probelma..
lo siento pero no hay otro
Prueba de nuevo, quizá sea un problema puntual
Hola mi nombre es Edgar, deseo aplicar filtro avanzado o filtro común no se cual, tengo la misma tabla con datos en libros direfentes las mismas cabezeras de columna pero con otros valores numericos, como hago por ejemplo para extraer al registro con el nombre Juan con todos sus datos, si tengo tres tablas, juan debe de mostrarse tres veces..... puedes ayudarme
ResponderEliminarA lo mejor no sea filtro sino la combinacion de algunas funciones de busqueda y de referencia..... necesito un ejemplo para aplicarlo....
ResponderEliminarHola Edgar,
Eliminarpuedes aplicar un Autofiltro en cada una de las tres tablas aplicando la condición 'igual a Juan' en el campo correspondiente...
o bien aplicar un Filtro avanzado de forma similar e ir copiando el resultado en otro lugar.
En ambos casos tendrías que hacerlo manualmente las tres veces...
Otras opciones pasan por programación.
Saludos cordiales
Buenas tardes. Si alguien me puede ayudar. Tengo una tabla dinamica con muchos valores menores a 500.000, y varios conceptos. Como se puede hacer en la tabla dinamica para que sume esos valores menores de 500.000 en un solo registro.
ResponderEliminarHola Marquez,
Eliminardependiendo de la configuración/ diseño de la tabla dinámica podrías aplicar una agrupación..o quizá algún campo calculado con un condicional....
Habría que ver la información (origen de datos) y diseño.
Un saludo
Buenas Tardes. Tengo una tabla (T1) con código, nombre y descripción. Por otra parte tengo una fila (F1) con solo códigos. Necesito saber que códigos en F1 NO ESTÁN en la tabla T1. Muchas Gracias!!
ResponderEliminarHola Carol,
Eliminaren la fila inferios a la Fila1 aplica una función
=BUSCARV(codF1;rango Tabla1;1;0)
aquellos que devuelva #N/A serán códigos que no existen en la Tabla.
Al revés, puedes aplicar en tu Tabla1 una función
=BUSCARH(codigo;Fila1;1;0)
aquellos que devuelva #N/A serán códigos que no existen en la fila.
Saludos
hola no le puedo entender Quiero saber qué departamentos de 1 dormitorio tienen un costo entre $360.000 y $410.000. ¿Cómo tendría que escribir el criterio para aplicar un filtro avanzado?
ResponderEliminar2) Quiero ver todas las propiedades que están vendidas y todas las que están alquiladas. ¿Cómo tendría que escribir el criterio para aplicar un filtro avanzado?
3) Quiero ver los monoambientes y departamentos de 1 y 2dormitorios que están alquilados. ¿Cómo tendría que escribir el criterio para aplicar un filtro avanzado?
4) Quiero ver los departamentos de 1 dormitorio que se hayan vendido por más de $390.000, y los de 2 dormitorios que hayan sido vendidos por más de $570.000. ¿Cómo tendría que escribir el criterio para aplicar un filtro avanzado?
Hola Nicole,
Eliminarte contesto la primera para que te hagas una idea.
El rango de criterio sería:
NumDormitorios_Costo________Costo
1______________>=360.000___<=410.000
Saludos
Hola! ¿Qué operador y cuál sería el rango para la pregunta Nº2?
EliminarSaludos!
Hola
EliminarTipo________________Departamentos
Monoambientales_____departamento 1
Monoambientales_____departamento 2
Saludos
Perdón, contesté la tercera pregunta.
Eliminarla segunda sería:
Propiedad
Vendida
Alquilada
Saludos
Este comentario ha sido eliminado por el autor.
ResponderEliminarhola! cuales serian los criterio para el 3 y el 4? gracias! saludos
ResponderEliminarHola,
Eliminarla cuarta:
NumDormitorios______PrecioVenta
1__________________ >390.000
2__________________ >570.000
la tercera pregunta está solucionada más arriba.
Saludos
Quiero saber qué departamentos de 1 dormitorio tienen un costo entre $360.000 y $410.000. ¿Cómo tendría que escribir el criterio para aplicar un filtro avanzado?
ResponderEliminarHola Laury,
Eliminarque tal estás?, espero te encuentres bien igualmente...
La cuestión está contestado unos comentarios más arriba.
Un cordial saludo
Hola Ismael,
ResponderEliminarutilice tu guía para el Filtro Avanzado y genial. He solucionado gran parte de mi problema, pero me gustaría 'afinar' un poco más. Te cuento:
- Recibo una hoja diaria con unas 200 filas (pedidos) y 12 columnas por fila.
- en una de esas columnas aparece (al principio, en el medio o al final de la celda) una palabra 'clave' en concreto (existen 25 palabras clave diferentes, una por cada comercial que ha hecho la venta)
- con el filtro avanzado que enseñaste, discrimino los pedidos que no son de ningún vendedor en concreto (es decir, no contienen ninguna de las palabras clave) y me quedo con las filas (pedidos) que pertenecen a algún comercial y lo imprimo con una Combinación de Correspondencia como un parte de trabajo para la preparación del pedido y la posterior entrega por parte del comercial.
El caso es que como el filtro en excel no modifica el orden de las filas, los partes de trabajo que me quedan (unos 80 folios cada día) me salen con el mismo orden en que se registraron los pedidos y, por lo tanto, me tengo que poner a hacer montoncitos de papeles: los pedidos de Juan, los pedidos de Pedro, los pedidos de Ana,..
La cuestión es que me gustaría poder añadir, (después de realizar el filtrado y antes de mandarlo a la combinación de correspondecia), una columna donde excel me escribiese la palabra clave que ha tenido en cuenta para el filtrado en cada caso, y luego ya ordeno según esa columna y listo.
Espero haber sabido explicarme con claridad. Gracias.
Hola luanferas,
Eliminartal cosa no es posible con la herramienta de Filtro, en todo caso habría que desarrollas una macro a medida que hiciera lo que planteas...o quizá trabajándolo bastante con una combinación de fórmulas
:(
Saludos
Me temía que no debía ser fácil, y la verdad es que lo de las macros se escapa a mi conocimiento (no sabría ni por donde empezar).
EliminarTambién fui probando con HALLAR, ENCONTRAR y luego EXTRAER a partir del número de carácter dado, pero solo dejan buscar por una palabra (no por un rango donde haya varias palabras)
Gracias por la rapidez.
:(
Eliminarya te digo, con programación se podría lograr.. pero llevaría su tiempo
Saludos
Hola, estoy intentando organizar por medio de filtros avanzados un listado de 51 filas y dos columnas. La primera con datos , la segunda con números.
EliminarHe seguido los pasos que aparecen en el inicio de este blog pero no consigo resolverlo.
Se trata de seleccionar las filas que tienen un número entre 14 y 16 y copiarlas en una nueva posición.
El rango de lista es $A$1:$B$51
El rango de criterios $F$1:$G$1 donde F1 es >14,00 y G1 es <16,00
Lo que ocurre al aplicar este filtro es que copia de nuevo todas las filas del listado en otro lugar.
¿Alguna idea de como resolverlo?
Una vez resuelto me gustaría crear otro .filtro para seleccionar las filas donde se nombra la palabra TELEFONO.
Gracias de antemano.
Hola Fernando,
Eliminaren el rango de criterios, en su primera fila, se debe incluir (como aparece en la imagen del post) el mismo encabezado que existe en el origen; en tu caso (no lo indicas) pero tu rango de criterio podría ser en F1:G2
números_________números
>14_____________<16
Saludos
Muchisimas gracias Ismael.
ResponderEliminarFunciona a la perfección.
Felicidades por el blog y por la ayuda que prestas!
Saludos
Eliminar;-)
Hola, como hago el filtro de que la tercera letra sea "a"
ResponderEliminarHola Steff,
Eliminarel filtro sería:
??a*
Saludos
Estimado Ismael :
EliminarTengo el mismo caso de Steff y hace varias horas vengo aplicando exactamente el mismo filtro que le indicaste a ella. ¿Por qué no me sale la respuesta esperada?
Saludos.
Ernesto Valdivia
Hola Ernesto,
Eliminarsi aplicas un autofiltro sobre tu base de datos, simplemente selecciona el campo en cuestión y escribe el filtro comentado, empleando los comodines...
Si empleas un Filtro avanzado debes escribir en el rango de criterios el nombre del campo y debajo lo expuesto.
??a*
el comodín ? especifica UN solo caracter, y el comodín * un número indeterminado de caracteres...
Saludos
Hola:
ResponderEliminarTengo una tabla donde en la columna A se repiten determinados valores (ej.: A, B, A, C...) y donde en otra columna hay una fecha para cada campo de la columna A.
Pues bien, desearía que mediante una tabla dinámica se ordenasen por valores de columna A (A,A,B,C...) y por fecha (de más recientes a más antiguos) –hasta aquí he llegado yo- y se filtrasen de forma que de los registros repetidos de la columna A sólo se extrajera aquel que esté más próximo a la fecha actual y, obviamente, se extraiga también aquel registro de la columna A que es único y por tanto es el más próximo a día de hoy
Tabla original Ordenada Final
A 11/11/2015 A 11/11/2015 A 11/11/2015
F 31/08/2015 B 13/11/2015 B 13/11/2015
H 12/11/2015 B 05/09/2015 C 04/11/2015
B 05/09/2015 B 05/09/2015 D 05/10/2015
C 04/11/2015 C 04/11/2015 E 25/07/2015
D 05/10/2015 D 05/10/2015 F 31/08/2015
E 25/07/2015 E 25/07/2015 H 12/11/2015
B 13/11/2015 F 31/08/2015
F 01/01/2015 F 01/01/2015
B 05/09/2015 H 12/11/2015
Hola Mitxel,
Eliminarpuedes aplicar un filtro especial para que te muestre le valor más alto.. en este caso la fecha mayor o más reciente.
Saludos
para filtrar mas de una tabla hermano con filtro avanzado
ResponderEliminarHola que tal?
Eliminarespero te encuentre bien.
No es posible filtrar más de una tabla a la vez con filtro avanzado...
tendrías que reordenar de alguna manera todas tus tablas en una sola.. o bien aplicar alguna macro.
Saludos
Hola que tal Ismael
ResponderEliminarQuisiera saber como puedo hacer un filtro se manera que me arroje los mismos datos determinada cantidad de veces. tengo una tabla de tipos de trabajo con sus materiales y cantidades y cuando quiero ver una orden de pedido a veces tiene 2 tipos de trabajo iguales entonces quiero que me arroje 2 veces la misma lista.
Gracias
Hola Jordany,
Eliminarlo primero que deberíamos saber es dónde quieres te arroje esas listas.. hablamos de impresión o de llevar los datos a una hoja de cálculo??.
En todo caso, entiendo el proceso debería realizar primero un conteo de esos tipos de trabajo (quizá con una función CONTAR.SI.CONJUNTO), para tomar ese dato como variable y luego emplearlo para imprimirlo o pegar el rango en otro lugar...
Hacerlo manualmente es otro opción, empleando el filtro avanzado, y siendo tú quien tras ver el primer resultado pegado en otro lugar, decida si copiarlo de nuevo...
Saludos
hola buenas
ResponderEliminarfavor si me puedes ayudar con una macro que tengo,
el problema es el siguiente, tengo un filtro avanzado en una columna al cual le aplico dos criterios (no contiene) , y me funciona bien, el problema es cuando trato de agregarle un tercer criterio,
ActiveSheet.Range("$A$1:$FE$61044").AutoFilter Field:=70, Criteria1:= _
"<>*caño*", Operator:=xlAnd, Criteria2:="<>*tabla*"
como se puede hacer para que me filtre por mas de esos 2 criterios
se agradece cualquier ayuda
Hola!,
Eliminarel problema de trabajar con la herramienta Autofiltro (Autfilter) es que estamos limitado a un máximo de dos criterios por campo...
para aplicar más criterios tenemos que emplear el Filtro Avanzado y un rango de criterios auxiliar
Entra aquí para ver algunos ejemplos de filtro Avanzado (con o sin macros):
http://excelforo.blogspot.com.es/search/label/Filtros
Saludos
Buenas noches si me pueden ayudar.necesito la fórmula para calcular el promedio de notas de un boletín,pero que me calcule solo aquellas materias que tengan notas.ejemplo:
ResponderEliminar15
13
00
16
15
00
11
00
13
09
14
Promedio:13,25
Solo las materias que tienen notas.
Hola Carlos,
Eliminarla función que buscas es:
=PROMEDIO.SI(A1:A12;"<>0")
Saludos
Gracias Ismael por tu pronta ayuda.
ResponderEliminarHOLA tengo un problema... quiero usar los datos de un filtro y que cuando por ejemplo filtre mexico me arroje el total de méxico como le hago???
ResponderEliminarHola,
Eliminarpara esto mejor emplea simplemente un Autofiltro y añádale la fila de totales incluyendo la función suma en el campo que desees ver ese total.
Saludos
hola, para resolver esto como tendria que hacer? Quiero saber qué departamentos de 1 dormitorio tienen un costo entre $360.000 y $410.000. ¿Cómo tendría que escribir el criterio para aplicar un filtro avanzado?
ResponderEliminarHola Heidi,
Eliminarpor favor, revisa los comentarios anteriores en este post, esta misma pregunta está resuelta.
Un saludo
Este comentario ha sido eliminado por el autor.
ResponderEliminarhola....tengo una tabla y necesito filtrar una columna por las palabras que comiencen por f,l y m pero en el filtro solo me da la opcion para filtrarlo por dos, me puede ayudar...gracias!
ResponderEliminarHola,
Eliminarpara estos casos deberías emplear el Filtro avanzado con esos tres criterios.
El rango de criterio debería ser el encabezado del campo y en las filas de abajo
f*
l*
m*
con eso obtendrás lo que necesitas...
Un saludo
Hola podrian indicarme cómo se representa el operador O en los filtros avanzados? Gracias
ResponderEliminarHola Mirian,
Eliminarpuedes optar por escribir en filas diferentes (y seguidas) de la misma columna, debajo del rótulo del campo en el rango de criterios...
Fíjate en la tercera imagen (columna J) del post de arriba.
Saludos
2) Quiero ver todas las propiedades que están vendidas y todas las que están alquiladas. ¿Cómo tendría que escribir el criterio para aplicar un filtro avanzado?
ResponderEliminarayuda por favor
Hola, qué tal?
Eliminarun placer saludarte.
En el rango de criterios, bajo el nombre del campo, en dos filas distintas: Vendidas y Alquiladas.
De esta forma:
Situación (nombre del campo)
Vendidas
Alquiladas
Saludos cordiales
Hola, soy estudiante de psicologia y me fue dado un trabajo práctico en el que se me pide filtrar con filtros avanzados cuántas personas han respondido con un puntuaje de 10 a las preguntas que se les hicieron.
ResponderEliminarAl intentar filtrar los datos sólo los toma cuando el criterio está aplicado a una sola persona de 5, cuando lo aplico a todas directamente no me filtra nada. ¿Qué puedo estar haciendo mal?
Hola Soledad,
Eliminarasegúrate que en el rango de criterios el nombre del campo es igual al que existe en el origen de datos, debajo deberías poner:
>10
Saludos
Podrias indicarme como se representa el operador O en filtros avanzados?
ResponderEliminarHola!
Eliminartal como se indica en el post:'y que las condiciones en distintas filas indicarán un cumplimiento adicional (i.e., equivale a un operador O)'
esto es, debes situar una condición debajo de otra
;-)
Saludos
Buenas tardes
ResponderEliminarQuisiera saber como hacer para que al momento de uno hacer un filtro y que el valor que arroje aparezca tambien en otrs hoja, ejemplo tenemos todos los paises del mundo y cuando yo filtre y solo me aparezca información de Colombia, esa misma información me aparezca en otra hoja.
Hola,
Eliminarcreo este post te puede ayudar y dar la idea que buscas:
http://excelforo.blogspot.com.es/2016/03/vba-macro-de-un-filtro-avanzado.html
Saludos
Buenas tardes Ismael.
ResponderEliminarRecién entre a este nuevo trabajo, donde el control sobre la información se lleva bien, pero todo es manual, requiere tiempo del que se podría invertir en otras actividades.
Aquí se rentan trailers a otras empresas, y cada viaje se registra con un folio. Cada que se hace pago por quincena, se busca manualmente el folio para subrayarlo y ponerle que ya se pagó.
Lo que quiero es que al momento de ingresar el folio, este se elimine automáticamente, o se remarque como pagado, sin tener que hacerlo manualmente.
Esto es posible con filtros y/o comandos?
Hola,
Eliminarse podría realizar una búsqueda de la base de datos original sorbe la secundaria donde se registran/ingresa el folio.. quizá un BUSCARV o similar, para que localiza automáticamente si aparece o no el folio.
Esa podría ser una idea, sin ver estructura de datos es difícil precisar más.
Saludos
hola, tengo que filtrar los datos de una tabla con por ejemplo las columnas f,g,h,i,j pero solo quiero que muestre las columnas g y h, como podria hacerlo con un filtro avanzado? muchas gracias, saludos
ResponderEliminaraclaro que la condicion del filtro esta en la columna "j"
EliminarHola Franco,
Eliminarpuedes echar un vistazo a esta otra entrada:
http://excelforo.blogspot.com.es/2013/02/algo-mas-sobre-filtros-avanzados-en.html
Saludos
Hola estimado!! necesito ayuda. La lógica de lo que debo hacer es la siguiente:
ResponderEliminarHoja de cálculo 1 con la QUERY
Hoja de cálculo 2 donde se reordenan los datos
En la hoja 1 la query toma datos en linea desde SQL a partir de una base de datos que se actualiza minuto a minuto. En esta query hay columnas que me sirven como criterio para poder extraer el nombre de todas las personas que cumplen la condición según la cual necesito ordenarlas. Para ser mas especifico, seria algo así:
BUSCAR EN BASE DE DATOS SEGÚN LA FECHA, SEGÚN EL CRITERIO 1, CRITERIO 2, CRITERIO 3 Y CRITERIO 4. Lo que busco es que todas aquellas personas que cumplen todas esas condciones se copie el nombre en la hoja 2, considerando que cada nombre tiene asociada una variable que identifica a esas personas (es una nota o calificación de cada persona).
No logro que se realice esta copia, ya que probe con usar "SUMAR.SI.CONJUNTO" para que buscara el valor de la calificación que cumple los 4 criterios + la fecha y le agregue un "CONCATENAR" para que me buscara el nombre de la persona asociada a esa calificación, sin embargo no me toma todas las personas que cumplen las condiciones, ya que siempre toma la ultima de toda la lista de datos.
¿Qué puedo hacer?
De antemano gracias.
Hola,
Eliminarsi necesitas aplicar un filtro Avanzado solo añade a tu Rango de Criterios las condiciones que necesites, como en el ejemplo del post.. no haría falta incluir funciones (SUMAR.SI.CONJUNTO, CONCATENAR, etc.)
Te devolverá todos los registros que verifiquen esos criterios.
Espero haber entendido qué necesitas
Saludos
Hola me gusto mucho tu video,Tengo una duda estoy tratando de filtrar,una base de datos
ResponderEliminarcon dos criterios uno con la clave de un articulo y otro para que busque el precio minimo de dicho articulo peo no funciona
Criterios
IGUAL(H6,"IM02413") I6>MIN($I$6:$I$6283)
Base de datos
CVE_ART PREC
IM02413 488.600000
IM02413 510.600000
IM02401 419.000000
IM02401 401.000000
IM02442 553.900000
IM02442 530.000000
IM02410 450.000000
IM06009 1574.200000
IM02413 488.600000
Hola,
Eliminar?has tenido la precaución de marcar la fila superior vacía sobre las celdas donde insertaste las fórmulas
IGUAL(H6,"IM02413") I6>MIN($I$6:$I$6283)
??
En todo caso para buscar el precio mínimo de ese artículo escribe
I6=MIN(SI($H$6:$H$6283="IM02413";$I$6:$I$6283))
y ejecuta matricialmente (presiona Ctrl+Mayusc+Enter)
Debería funcionar
Saludos
Gracias Jorge a nivel formula si me sirvio,pero al usar esta formula Matricial como Criterio(dejando la fila superior vacia)
Eliminaren un filtro no funciono
ya se me hizo reto saber si =min junto con otro criterio funciona
he encontrado en internet personas que tienen la misma duda
pero no he encontrado ni la solucion ni nadie que diga si es posible usar este criterio(=min) con otro
Hola 20021957,
Eliminarindicarte que mi nombre es Ismael ;-)
Prueba lo siguiente (probado y funciona).
Crea un nombre definido (llámalo minimo):
minimo =MIN(SI(Hoja1!$H$6:$H$14="IM02413";Hoja1!$I$6:$I$14))
Luego en tu celda de criterio añade:
=I6=minimo
(te aseguras que la celda de arriba esté vacía (y la seleccionas como parte del criterio).
Ejecuta el filtro avanzado y obtendrás lo que necesitas
Saludos
Funciono Perfecto Muchas Gracias
EliminarQuiero saber qué departamentos de 1 dormitorio tienen un costo entre $360.000 y $410.000. ¿Cómo tendría que escribir el criterio para aplicar un filtro avanzado?
ResponderEliminarHola Roxana,
Eliminarque tal estás?, un placer saludarte igualmente.
Si lees con atención el post, y los comentarios anteriores de otros usuarios verás que la respuesta la tienes a tu disposición.
Un cordial saludo
Buenas tengo una tabla con una lista de nombres y apellidos quisiera con filtros avanzados filtrar sólo los apellidos que terminen en la letra "o"
ResponderEliminarHola Juan,
Eliminaren el rango de criterios, debajo del campo de apellidos, inserta la condición:
*o
Saludos
Hola
ResponderEliminarfíjate que tengo 4 columnas pero necesito los nombres de los nombres que perdieron clases
Hola,
Eliminarno tengo información suficiente para darte una respuesta...
habría que ver la distribución de datos y cómo reconocer esos que perdieron datos...
Slds
Muy bueno el tutorial!!
ResponderEliminarTengo una base de datos de visitas mensual a clientes de rutas de distintos ejecutivos, en ella tengo algunos clientes visitados más de una vez en diferentes fechas del mismo mes, cómo puedo filtrar y que me de como resultado la fecha más reciente y con ella extraer toda la información de dicha visita.
Hola Denny,
Eliminarlee este post:
http://excelforo.blogspot.com.es/2011/10/encontrar-fechas-con-matriciales.html
Creo que te dará la solución para obtener la fecha que buscas..
Saludos cordiales
1) Quiero saber qué departamentos de 1 dormitorio tienen un costo entre $360.000 y $410.000. ¿Cómo tendría que escribir el criterio para aplicar un filtro avanzado?
ResponderEliminar2) Quiero ver todas las propiedades que están vendidas y todas las que están alquiladas. ¿Cómo tendría que escribir el criterio para aplicar un filtro avanzado?
ResponderEliminar3) Quiero ver los monoambientes y departamentos de 1 y 2dormitorios que están alquilados. ¿Cómo tendría que escribir el criterio para aplicar un filtro avanzado?
4) Quiero ver los departamentos de 1 dormitorio que se hayan vendido por más de $390.000, y los de 2 dormitorios que hayan sido vendidos por más de $570.000. ¿Cómo tendría que escribir el criterio para aplicar un filtro avanzado?
Hola Luciana,
Eliminarrevisa por favor todos los comentarios anteriores, porque esas mismas preguntas ya están respondidas
Gracias
Buenas noches.
ResponderEliminarRealice un filtro avanzado en exls, en donde utilicé criterios de varias columnas, y con valores únicos
Para comprobar si estaba correcto, concatené las columnas utilizadas para el filtro avanzado, copie y pegué como texto, y le apliqué formato condicional, duplicar valores y me aparecen 5 registros repetidos.
Si alguien me puede ayudar, le agradezco inmensamente.
Hola María,
Eliminartrataré de subir un ejemplo que replique tu caso
Saludos
Estimados, estoy haciendo una macro con filtro avanzado pero me da error "El rango de extracción tiene un nombre de campo inexistente o no permitido" creo que se debe a que el rango de criterios es de 8 columnas la hoja en la que busca esos criterios es de 8 columnas y yo solo quiero mostrar luego del filtro 6 columnas, como puedo hacer?
ResponderEliminarHola Diego
Eliminarte has asegurado que las 6 columnas de destino indicadas tienen el mismo nombre?
Y en tu macro has marcado como destino ese rango concreto de seis columnas?
Saludos
Sería chévere que dieras el enlace para descargar el archivo del excel como ejemplo para nosotros mismo ir haciendo paso a paso. Gracias!
ResponderEliminarLo siento, pero no hay fichero que compartir
Eliminar:'(
Sigue los pasos y cualquier duda comentas
Saludos cordiales