Fórmula para buscar y listar de una tabla de excel.

Tengo una tabla en la hoja 2 donde anoto los estudiantes que han pasado la prueba. En la columna "a" almaceno el nombre del alumno en la "b" su calificación y en la "c" con la función si coloca "acredito", "No acredito" según su calificación. En la hoja 1 en celda a1 coloque "NO ACREDITO" quisiera una fórmula que me busque de la tabla los nombres de los alumnos que no acreditaron la prueba y los ordene.. ¿se podrá?

1 respuesta

Respuesta
1

H o l a:

Con una fórmula no es posible, podría ser con varias fórmulas, tendrías que poner una fórmula por cada alumno que tengas en la hoja2, es decir, si en la hoja2 tienes 50 alumnos, en la hoja1 tendrías que poner 50 fórmulas.

No mencionaste cómo los quieres ordenados, y qué dato o datos quieres que se pasen de la hoja2 a la hoja1.

Lo más práctico sería realizar una macro y que con un botón te ponga la información de la hoja2 en la hoja1.

Si quieres te creo la macro, pero de preferencia explícame con imágenes cómo tienes la información en la hoja2 y cómo la quieres en la hoja1.

s a l u d os

Buen día, no me importa que haya muchas fórmulas, quisiera que siempre estuvieran actualizada la lista, la fórmula creo que me ayudaría porque la lista se actualizaría siempre y no cada que pulse un botón, (no se si esto sea cierto). Envío unas imágenes para ver si así me doy más a explicar. Gracias.

Por cierto, en hoja 1 en la celda f3 quisiera saber si es posible si al cambiar de Aprobar o No aprobar me actualizamos la lista. Saludos. 

Sólo por curiosidad, para qué lo necesitas en la hoja1, si en la hoja2, pones un autofiltro y en la columna C, filtras por Aprobado o por no Aprobado, tienes los datos.

Intento crearte la fórmula.

Ocurre que la hoja2 es la base de datos, de otro libro de excel por tal motivo si coloco el autofiltro al almacenar los datos, estos pierden el orden y se desordenan. 

H o l a:

Te anexo la fórmula matricial

=SI.ERROR(INDICE(Hoja2!$A$1:$A$7, K.ESIMO.MENOR(SI(Hoja2!$C$2:$C$7=$F$1, FILA()), FILA()-1)),"")

Antes de poner la fórmula tienes que poner especial cuidado de que los datos estarán de la siguiente forma.

En la hoja1 la fórmula debe empezar en la celda B2:

En la hoja2 los datos deben empezar en la fila 2:


Después de que acomodes tus datos, pon en la celda B2 la fórmula, cambia en la fórmula el número 7 por el número de fila del último nombre.

Por ejemplo si el último nombre está en la fila 53, la fórmula quedaría así:

=SI.ERROR(INDICE(Hoja2!$A$1:$A$53, K.ESIMO.MENOR(SI(Hoja2!$C$2:$C$53=$F$1, FILA()), FILA()-1)),"")

Después de que cambiaste el 7 por el 53 presiona Enter

Ahora copia la fórmula desde la B2 hasta la B53

Selecciona todas las celdas desde la B2 hasta la B53, presiona F2, sin salir de la edición de la fórmula, para aceptar la fórmula presiona al mismo tiempo las tres teclas:

Shift + Control + Enter

Notarás que la fórmula queda entre llaves { }

Todas las fórmulas quedarán iguales, pero el resultado será el que tienes en la celda F1 (Aprobo o No Aprobo).


Para la calificación, pon en la celda C2, la siguiente fórmula matricial

=SI.ERROR(INDICE(Hoja2!$B$1:$B$53, K.ESIMO.MENOR(SI(Hoja2!$C$2:$C$53=$F$1, FILA()), FILA()-1)),"")

Sigue los mismos pasos anteriores.


Va de maravilla, solo tengo una duda si aparecen mas alumnos con sus calificaciones entonces se puede usar en vez de Hoja2!$A$1:$A$53 así =Tabla1[SITUACION] para tablas o no funciona?  Muchas gracias.

Prueba.

R e c u e r d a   v a l o r a r   l a   r e s p u e s t a.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas