Inicio > Microsoft Excel > javigo > A cerca de vincular filas celdas y columnas

A cerca de vincular filas celdas y columnas

Experto:
Usuario:
Fecha: 01/10/2004
Valoración: (5,00 sobre 5) Categoría: Microsoft Excel
30/09/2004
huelvalia, usuario preguntando en Microsoft Excel
Usuario
Tengo una tabla en Excel donde por columnas tengo los días del año y por filas 23 personas. Cada una realiza una tarea diaria que va indicada en la celda correspondiente. Las tareas van rotando mediante unas fórmulas que ahora no vienen al caso.

La cuestión es que quiero realizar otra hoja de caracter diario, es decir: En lla aparecerían todas las tareas a realizar en un día (son 23, igual que el número de personas). Pues lo que quiero lograr es que al introducir una fecha en un campo de esa nueva hoja se coloquen automáticamente las personas que reazan dichas tareas a la derecha de la misma. Si cambio la fecha cambiarían las personas a ejecutar dichas tareas. Es esto posible? En resumen lo que trato NO es darle un dato de fila (nombre de persona) y de columna (día del año) y que me devuelva la celda correspondiente (tarea), sino darle el dato de columna (fecha) y el de celda (tarea) y que me de como resultado el de fila (nombre de persona a realizar dicha tarea).

Estoy convencido que no debe ser muy difícil... pero no consigo encontrar un patrón para introducirlo en una fórmula.

Ayuda por favor.

Gracias anticipadas,

Juan Luis
30/09/2004
huelvalia, experto respondiendo en Microsoft Excel
Experto
Hola, efectivamente es posible, pero un poco enrevesado.

Suponemos que la tabla se encuentra en la hoja TAREAS
Las fechas están en el rango B1:IV1
Los nombres están en el rango A2:A24

En otra hoja vamos a poner la búsqueda, con la fecha en A1 y la tarea en A2.

La fórmula para buscar el nombre que realiza la taréa sería la siguiente:
=INDICE(TAREAS!A2:A24;COINCIDIR(A2;DESREF(TAREAS!$A$1;1;COINCIDIR(A1;TAREAS!B1:IV1;0);23);0))

Como dijo el Destripador, vamos por partes:

COINCIDIR(A1;TAREAS!B1:F1;0) nos da el número de columna donde está la fecha a buscar (que está en A1). Esto lo llamamos XXX

DESREF(TAREAS!$A$1;1;XXX;23) nos define el rango donde se encuentran las tareas. Esto lo llamamos YYY

COINCIDIR(A2;YYY;0) nos da la fila en la que se encuentra la tarea que buscamos (que está en A2). Esto lo llamamos ZZZ

INDICE(TAREAS!A2:A24;ZZZ;0) busca en el rango de nombres el que se encuentre en la misma posición que la taréa.

Todo esto combinado busca el rango de tareas según el día y luego busca el nombre asociado a esa taréa en la tabla.

Bueno, espero que te sirva, si necesitas cualquier aclaración, no dudes en continuar con la pregunta.

Un saludo,
Javi

PD No olvides finalizar
30/09/2004
huelvalia, usuario preguntando en Microsoft Excel
Usuario
Ante todo agradecerte el hecho de preocuparte por mi problema. Aún no he probado lo que me comentas pero estoy convencido de que funcionará.

Sólo te hago una pregunta:

¿es necesario especificarle el ranfo de fila (para la fecha) y de columna (para los nombres)? o también podría buscarlo por toda la página sin especificar rango hasta encontrar la coincidencia?

Esto tiene un motivo. El Excel me permite tener 256 columnas como máximo y esto me equivale a 8 meses... así que como no me cabe una tabla de dos años lo que he tenido que hacer es repetir la tabla en la misma hoja unas filas más abajo. Se me ocurren ideas un tanto chapuceras como poner varias celdas de entrada de datos cada una de ellas para cada rango... pero como te digo me resulta algo chapucero.

Aun así, si no fuera posible lo que te comento, lo cierto es que ya puedo solucionar el problema que tenía.

Estoy a la espera de tu respuesta.

Gracias adelantadas. Por supuesto que finalizaré la pregunta y con la mejor de las puntuaciones.

Juan Luis
30/09/2004
huelvalia, usuario preguntando en Microsoft Excel
Usuario
Ya he realizado pruebas pero hay cosas que no entiendo bien:

1º En la otra hoja (hoja de búsqueda) sólo quiero tener un campo para introducir datos y sería el de fecha. Las tareas las colocaría en una columna y al introducir la fecha se colocarían los nombres al lado de cada tarea. De esta manera tengo listadas todas las tareas con las personas al lado y no tendría que ir uno a uno.

2º No entiendo bien tu explicación. A veces confundo cuando te refieres a las tareas de la hoja "tareas" con las tareas de la hoja de búsqueda.

Te pediría por favor fueras más concreto en tu explicación (si, soy algo torpe) para que no me confunda.

Si me das tu correo podría adjuntarte un archivo ejemplo para que vieras qué es lo que quiero exactamente conseguir.

Si quieres el mío (huelvalia(arroba)telefonica(punto)net

Gracias de nuevo
Juan Luis
01/10/2004
huelvalia, experto respondiendo en Microsoft Excel
Experto
Hola de nuevo.

Creo que la mejor solución es que dividas el año en dos semestres. A continuación podemos emplear una función condicional que haga que si la fecha es del primer semestre busque en la primera hoja y si no, que busque en la segunda.

Si necesitas más años, es cuestión de modificar el nombre de las hojas y la condición, pero el núcleo de la fórmula es el mismo.

Te mando a tu dirección un ejemplo con el que yo he hecho las pruebas.

Salu2
01/10/2004
huelvalia, usuario preguntando en Microsoft Excel
Usuario
Estoy mjuy satisfecho y agradecido por tu dedicación. Muchisimas, muchísimas gracias
Enlaces patrocinados