jueves, marzo 29, 2012

Calcular temporadas altas y bajas con Excel

La consulta que generó esta nota es:

[…si introduzco una fecha de entrada y una de salida a un hotel que devuelva un mensaje como temporada alta, media o baja.]

Hay varias formas de hacer el cálculo y si bien ninguna es demasiado complicada, la explicación excede el marco de un comentario (y el lector se merece una respuesta).

El asunto de las temporadas de turismo (alta, media o baja) no parece seguir ninguna regla establecida fuera de una muy elemental: cuando hay mucha demanda, la temporada es alta; cuando hay poca demanda es baja y en los demás casos es media. Así que las fechas de las temporadas dependen no sólo de las estaciones del año, sino del la ubicación geográfica y de la rama de la industria turística, por lo menos.

Dicho esto veamos cómo resolver la cuestión con Excel. Empecemos por el caso sencillo en que el año está dividido en dos temporadas: alta y baja. Podemos expresar las temporadas en esta tabla



Como vemos, las fechas en la matriz son calculadas con la fórmula

=FECHANUMERO("01/07/"&$C$2)

El número de año en la celda C2 lo calculamos con la fórmula =AÑO(B10)

Finalmente, en la celda C10 usamos la fórmula

=SI(Y(B10>=C5;B10<=D5);"Alta";"Baja")

Dado que nuestro modelo es simplista, toda fecha que no caiga dentro del intervalo 01-Jul-2012 a 30-Sep-2012 (la temporada alta), es temporada baja.

Pero, por supuesto, la realidad es más complicada y el año puede dividirse en varias temporadas altas, bajas y medias. En ese caso debemos usar otro modelo.

Nuestra primera aproximación es un modelo sencillo donde usamos una tabla de 366 días (para cubrir también los años bisiestos) y a cada día le asignamos la temporada correspondiente



En la celda A4 usamos nuevamente la función FECHANUMERO y en la subsiguiente =A4+1. Al copiar esta última en las próximas 364 filas, obtenemos el año. Luego ponemos en la columna B el nombre de la temporada.

En la celda F4 usamos =BUSCARV(E4;$A$4:$B$369;2;0)

Como en el caso anterior usamos =AÑO(E4) para extraer el año de la fecha investigada y el resultado lo usamos para armar la tabla anual.


Una solución más elegante es la siguiente



En el rango A5:A11 ponemos un texto con el día y mes de comienzo de la temporada, como 01/01/

En el rango B5:B11 usamos la fórmula =FECHANUMERO(A5&$B$2), que nos asegura obtenerla fecha con el año correspondiente.

En B4 volvemos a usar =AÑO(F4).

Finalmente, en G4 usamos =INDICE(C5:C11;COINCIDIR(F4;B5:B11))

Como usamos COINCIDIR con el argumento "Tipo_de_coincidencia" omitido, es importante que el rango B5:B11 esté ordenado en forma ascendente.

El cuaderno con los ejemplos puede descargarse aquí.

No hay comentarios.:

Publicar un comentario

Nota: sólo los miembros de este blog pueden publicar comentarios.