miércoles, 8 de febrero de 2012

Un ejemplo de la función ES.IMPAR en Excel

Explicaré hoy otro uso de la función ES.IMPAR orientado a localizar ciertos valores en un rango de datos de nuestra Hoja de cálculo, este rango lineal tiene la peculiaridad de alternar los valores buscados con los valores a devolver:

...quisiera saber por favor si es posible una solución a lo siguiente :
Tengo la siguiente tabla :
fecha|valor|fecha|valor|fecha|valor (una misma fila con datos ordenados por fecha)
Lo que necesito hacer es, dada una fecha indicada en otra celda, encontrar el valor correspondiente, ordenadamente. Por ejemplo :

A B C D E F
01/02/12 | 1.000 | 01/03/12 | 3.000 | 01/06/12 | 5.555 |

Ingresando 01/03/12, el valor obtenido debería ser 3000
Ingresando 01/04/12, el valor obtenido debería ser 3000
Ingresando 01/05/12, el valor obtenido debería ser 3000
Ingresando 01/06/12, el valor obtenido debería ser 5555...

Veamos dispuesto en nuestra hoja de trabajo el problema:

Un ejemplo de la función ES.IMPAR en Excel


Nuestro trabajo consiste en localizar del rango A2:F2 sólo las celdas donde se encuentran los importes, en función de una celda dada donde hemos introducido una Fecha; la complicación está en que se debe localizar el Importe también para fechas que no están en ese rango, es decir, tenemos que encontrar Importes por aproximacción.
La función que resuelve esta tarea es la siguiente:
=INDICE(A2:F2;1;SI(ES.IMPAR(COINCIDIR(C9;A2:F2;1));COINCIDIR(C9;A2:F2;1)+1;COINCIDIR(C9;A2:F2;1)))
como podemos ver en la imagen:

Un ejemplo de la función ES.IMPAR en Excel


Analizaremos paso a paso esta función. Vemos que el fondo de nuestra fórmula es la ya conocida COINCIDIR(C9;A2:F2;1), en la que al definir el tercer argumento 'Tipo de coincidencia' como Menor que, nos estamos asegurando encontrar la Fecha buscada en C9 o la inmediatamente menor; es decir, si la Fecha buscada existe en el rango, COINCIDIR devuelve su orden en la fila y en caso de no existir, devuelve la celda a su derecha (esto es, la celda de Importe) que correspondería a la fecha buscada por aproximación. Por ejemplo, si buscamos la fecha 01/04/2012, al no existir esa fecha exacta, la función devolverá el orden de celda 4, por aproximación a la fecha deseada. De tal forma que con COINCIDIR obtendríamos sólo en caso de coincidencia exacta de fecha buscada con fechas del rango valores de ordenación dentro del rango IMPARES (en este ejemplo concreto, tal cual está planteado); en caso de aproximación obtendríamos valores de ordenación PARES.
Como realmente queremos obtener el valor 'Importe', esto es, el de la ordenación PAR correspondiente, evaluamos llo obtenido con la función lógica ES.IMPAR anidada en un condicional SI:
SI(ES.IMPAR(COINCIDIR(C9;A2:F2;1));COINCIDIR(C9;A2:F2;1)+1;COINCIDIR(C9;A2:F2;1))
de esta manera discriminamos y siempre nos dirigiremos, independientemente de si hallamos la fecha exacta o aproximada a la celda de los 'Importes'. En nuestro ejemplo, daría igual buscar las fechas 01/03/2012 (que existe en el rango) ó 01/04/2012 ó 01/05/2012, todas estas búsquedas nos llevarían, con esta fórmula, a la celda número 4, ordenada de izquierda a derecha.

Una vez localizado, el orden de la celda deseada, sólo nos queda obtener el valor 'Importe' correspondiente, lo que haremos anidando la fórmula anterior en la función INDICE, quedando finalmente:
=INDICE(A2:F2;1;SI(ES.IMPAR(COINCIDIR(C9;A2:F2;1));COINCIDIR(C9;A2:F2;1)+1;COINCIDIR(C9;A2:F2;1)))
que sobre el rango definido A2:F2 en el que se alterne 'Fecha' e 'Importe' conseguimos extraer el 'Importe' correspondiente, tal cual planteaba nuestro lector.

No hay comentarios:

Publicar un comentario en la entrada

Nota: solo los miembros de este blog pueden publicar comentarios.