Cómo Crear una Lista Dinámica en Excel Basada en Criterios (3 Maneras)

  • Compartir Este
Hugh West

Hoy voy a mostrar cómo crear una lista dinámica basada en uno o varios criterios en Excel.

Descargar el cuaderno de prácticas

Lista dinámica basada en criterios.xlsx

¿Qué es una lista dinámica en Excel?

Una lista dinámica es una lista que se crea a partir de un conjunto de datos y se actualiza automáticamente cuando se modifica cualquier valor del conjunto de datos original, o cuando se añaden nuevos valores al conjunto de datos original.

En la imagen dada, tenemos una lista de los nombres de todos los estudiantes que obtuvieron notas superiores a 60 en el examen.

Ahora si cambias las marcas de Jennifer Marlo de 68 a 58 y añade un nuevo estudiante llamado Ross Smith con las siguientes notas 81 en la tabla, la lista se ajustará automáticamente.

Esto se denomina lista dinámica.

3 Formas de Crear una Lista Dinámica en Excel Basada en Criterios

Aquí tenemos un conjunto de datos con el valor Carnés de estudiante, Nombres, y Marcas de algunos alumnos de una escuela llamada jardín de infancia Girasol.

Nuestro objetivo hoy es hacer una lista dinámica basada en criterios a partir de este conjunto de datos. Hoy utilizaremos criterios simples y múltiples.

1. Uso de las funciones FILTRO y OFFSET (para las nuevas versiones de Excel)

En primer lugar, utilizaremos una combinación del FILTRO , OFFSET y COUNTA funciones de Excel.

En FILTRO está disponible en Office 365 Así que esto es sólo para aquellos que tienen un Oficina 365 suscripción.

Caso 1: Basado en un único criterio

Intentemos hacer una lista dinámica de los alumnos cuyas notas medias sean superiores o iguales a 60 .

Puedes utilizar esta fórmula:

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)

Como puede ver, tenemos una lista de todos los estudiantes que obtuvieron más de 60 .

Y, obviamente, se trata de una lista dinámica. Se cambia cualquier valor en el conjunto de datos o se añade cualquier nuevo valor en el conjunto de datos.

La lista se ajustará automáticamente.

Explicación de la fórmula:

  • COUNTA(C:C) devuelve el número de filas de la columna C que no están en blanco, por lo que COUNTA(C:C)-1 devuelve el número de filas que tienen valores sin el carácter Cabecera de columna ( Nombre del alumno en este ejemplo).
  • Si no tiene el Cabecera de columna Utilice COUNTA(C:C)
  • OFFSET(C5,0,0,COUNTA(C:C)-1,1) parte de la celda C5 (Nombre del primer alumno) y devuelve un rango con los nombres de todos los alumnos.
  • En OFFSET en combinación con la función Función COUNTIF se ha utilizado para mantener la dinámica de la fórmula. Si se añade un alumno más al conjunto de datos, la fórmula COUNTA(C:C)-1 aumentará en 1 y el OFFSET función incluirá al alumno.
  • Del mismo modo, OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60 devuelve TRUE para todas las marcas que sean mayores o iguales que 60 .
  • Por fin, FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60) devuelve una lista de todos los estudiantes que obtuvieron notas superiores a 60 .
  • Si se añade un nuevo alumno al conjunto de datos, COUNTA(C:C)-1 aumenta en 1 y el FILTRO actualiza el cálculo incluyéndolo.
  • Así, la fórmula siempre permanece dinámica.

Nota:

Si desea obtener las marcas junto con los nombres de la lista, sólo tiene que cambiar el quinto argumento del primer comando OFFSET función de 1 a 2 .

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,2),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)

Caso 2: Basado en criterios múltiples

Probemos esta vez con varios criterios.

Intentaremos hacer una lista dinámica de los alumnos que obtuvieron notas superiores o iguales a 60, pero cuyos ID son inferiores o iguales a 200 .

Puedes utilizar esta fórmula:

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200))

Como puede ver, tenemos una lista de todos los estudiantes que obtuvieron notas superiores a 60 y tienen ID s inferior a 200 .

Y no hace falta decirlo, esta es una lista dinámica.

Si cambia algún valor o añade algún nuevo alumno al conjunto de datos, la lista se ajustará automáticamente.

Explicación de la fórmula:

  • Aquí hemos multiplicado dos rangos dinámicos de criterios, (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200)
  • Si tiene más de 2 multiplicar todos los rangos de criterios de la misma manera.
  • El resto es igual que en el ejemplo anterior (de criterio único). El OFFSET en combinación con la función COUNTA para mantener el dinamismo de la fórmula.

Nota:

Si desea ver todas las columnas de la lista ( Columnas B, C, y D en este ejemplo), cambie el primer argumento del primer OFFSET a la primera columna ( B5 en este ejemplo), y el quinto argumento al número total de columnas ( 3 en este ejemplo).

=FILTER(OFFSET(B5,0,0,COUNTA(C:C)-1,3),(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*

(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200))

Read More: Excel Crea Lista Dinámica desde Tabla (3 Maneras Fáciles)

2. Utilización de INDEX-MATCH con otras funciones (para versiones antiguas)

Los que no tienen un Office 365 suscripción no puede utilizar la fórmula anterior.

Estoy mostrando una forma más compleja para aquellos, que utilizan la versión anterior de Excel, utilizando el INDEX-MATCH, OFFSET, SMALL, IF, ROW, COUNTIF, y CONSEJOS de Excel. Tenga en cuenta que estas fórmulas son fórmulas de matriz. Por lo tanto, para aplicarlas en versiones anteriores de Excel, debe pulsar Ctrl+Mayús+Intro en lugar de sólo Intro.

Caso 1: Basado en un único criterio

La fórmula para crear una lista dinámica de los alumnos que han obtenido más o igual a 60 será:

=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60,

OFFSET(D5,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIF(D:D,">=60")))),OFFSET(D5,0,0,COUNTA(D:D)-1,1),0),1)

Como puede ver, hemos vuelto a obtener los nombres de todos los estudiantes que han obtenido más o igual a 60 .

Esta vez nos hemos puesto en orden ascendente de los números.

Y sí, la lista es dinámica. Añada un nuevo alumno al conjunto de datos o cambie las notas de cualquier alumno del conjunto de datos.

La lista se ajustará automáticamente.

Explicación de la fórmula:

  • Aquí C:C es la columna de la que queremos extraer el contenido de la lista ( Nombre del alumno en este ejemplo). Utiliza el tuyo.
  • D:D es la columna en la que se encuentra el criterio ( Notas medias en este ejemplo). Utiliza el tuyo.
  • C5 y D5 son las celdas desde las que se han iniciado mis datos (justo debajo del Encabezados de columna Usa el tuyo.
  • ">=60" es mi criterio (Mayor o igual que 60 en este ejemplo). Utiliza el tuyo.
  • Aparte de estos pocos cambios, mantenga el resto de la fórmula sin cambios y utilícela en su conjunto de datos. Obtendrá una lista dinámica según el criterio que desee.

Caso 2: Basado en criterios múltiples

En INDEX-MATCH La fórmula para la lista dinámica basada en múltiples criterios es un poco más compleja. Aún así, la muestro.

La fórmula para obtener los nombres de los alumnos que han obtenido notas superiores o iguales a 60 pero tienen ID s inferior a 200 será;

=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF((OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*)

(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200),OFFSET(D5,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIFS(B:B,"=60")))),OFFSET(D5,0,0,COUNTA(D:D)-1,1),0),1)

Explicación de la fórmula:

  • Aquí C:C es la columna de la que queremos extraer el contenido de la lista ( Nombre del alumno en este ejemplo). Utiliza el tuyo.
  • B:B y D:D son las columnas donde se encuentran los criterios ( Identificación del estudiante y Notas medias en este ejemplo). Utiliza el tuyo.
  • B5, C5, y D5 son las celdas desde las que se han iniciado mis datos (justo debajo del Encabezados de columna Usa el tuyo.
  • Aquí he multiplicado dos criterios: (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200) Si tiene más de dos criterios, multiplique en consecuencia.
  • He vuelto a utilizar los dos criterios dentro de este CONSEJOS función: COUNTIFS(B:B,"=60") . Utiliza las tuyas en consecuencia.
  • Mantenga el resto de la fórmula sin cambios y utilícela en su conjunto de datos. Obtendrá una lista dinámica con múltiples criterios.

Read More: Cómo hacer una lista dinámica de validación de datos utilizando VBA en Excel

3. Crear una lista desplegable dinámica basada en criterios utilizando la herramienta de validación de datos

Ahora hemos creado la lista dinámica. Si lo desea, puede crear una lista desplegable dinámica en cualquier celda de la hoja de cálculo.

  • Para crear la lista desplegable dinámica, seleccione cualquier celda de la hoja de cálculo y vaya a Datos> Validación de datos> Validación de datos bajo el Herramientas de datos sección.

  • Obtendrá el Validación de datos En el cuadro de diálogo Permitir Opción, seleccione Lista Y bajo el Fuente introduzca la referencia de la primera celda de la hoja de cálculo en la que se encuentra la lista junto con un HashTag (#) ( $E$5# en este ejemplo).

  • A continuación, haga clic en OK Obtendrá una lista desplegable en la celda seleccionada como ésta.

Read More: Cómo crear una lista desplegable dinámica utilizando VBA en Excel

Cómo Crear una Lista Única Dinámica en Excel Basada en Criterios

En esta sección, mostraremos cómo crear una lista única en Excel basada en criterios. Utilizaremos una combinación de ÚNICO y FILTRO Modificamos el conjunto de datos y añadimos los juegos favoritos de cada alumno. Ahora, queremos saber el nombre de los juegos eliminando los duplicados con criterios. Los criterios son las notas medias de los alumnos deben ser superiores a 60 .

📌 Pasos:

  • Ponga la fórmula basada en la combinación de ÚNICO y FILTRO funciones en Célula G5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60)))

Obtenemos una lista única basada en criterios.

Explicación de la fórmula:

  • FILTER(E5:E25,(D5:D25>60)

Esto filtra los valores de Gama E5:E25 con la condición de que la nota media sea superior a 60 .

Resultado: [Tenis, Voleibol, Rugby, Tenis, Fútbol, Rugby, Rugby, Fútbol].

  • UNIQUE(FILTRO(E5:E25,(D5:D25>60))

Esto devuelve todos los valores únicos del resultado anterior.

Resultado: [Tenis, Voleibol, Rugby, Fútbol].

Conclusión

Con estos métodos, puede crear una lista dinámica basada en uno o varios criterios en cualquier conjunto de datos en Excel. Eche un vistazo a nuestro sitio web ExcelWIKI y danos tus sugerencias en el cuadro de comentarios.

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.