Para encontrar qué agente estará en qué zona en determinada fecha podemos usar una fórmula como ésta
=INDICE(agentes,COINCIDIR(C12,fechas,0),COINCIDIR(C13,zonas,0))
dónde usamos los nombres
agentes =indice!$C$3:$F$9
fechas =indice!$B$3:$B$9
zonas =indice!$C$2:$F$2
Es decir, dados los valores de la fecha y la zona en la matriz, podemos encontrar el agente.
Pero la pregunta es, ¿cómo encontramos la zona sabiendo la fecha y el agente? Es decir, ¿en qué zona se encontrará Roberto el 04/09/2009? Es decir, tenemos que hacer una búsqueda “hacia arriba”.
Empezamos por agregar dos nuevos nombres para hacer más legible nuestra fórmula
tabla =zona!$C$3:$F$10
agente =zona!$C$4:$C$10
En la celda C13 ponemos la fecha, en la celda C14 el nombre del agente y en la celda C15 esta fórmula:
=DESREF(tabla,0, COINCIDIR(C14, DESREF(tabla,COINCIDIR(C13,fechas,0),0,1,COLUMNAS(tabla)),0)-1,1,1)
Para explicar esta fórmula veamos cuál es la función de cada uno de sus componentes.
Empezamos con
=DESREF(tabla,COINCIDIR(C13,fechas,0),0,1,COLUMNAS(tabla))
Si ponemos esta fórmula en un rango de una fila por cuatro columnas obtenemos los nombres que corresponden a la fecha en la matriz (nótese que entrado la fórmula como matricial)
La formula anterior es uno de los argumentos de
=COINCIDIR(C14, DESREF(tabla,COINCIDIR(C13,fechas,0),0,1,COLUMNAS(tabla)),0)
Si pegamos esta fórmula en una celda veremos que el resultado es 4
ya que el valor de C14 es “Mario” y este valor es el cuarto en el vector que hemos obtenido con la fórmula anterior.
Si reducimos ahora la fórmula en C15 a =DESREF(tabla,0,4) vemos que el “ancla” de DESREF la celda C3, con 0 filas des desvío y 4 columnas a la derecha.
Technorati Tags: MS Excel