viernes, mayo 23, 2008

Como determinar fechas de iniciación o fin de tareas con Excel

Cálculos de fechas es una de los temas sobre los cuales recibo muchas consultas. He tratado el tema en varias notas. Si pulsan el enlace Fechas y Hora podrán acceder a todas la notas sobre el tema en el blog.

Uno de los cálculos más triviales es determinar la fecha de conclusión de una tarea sabiendo la fecha de inicio y la cantidad de días requeridos. Esto se hace con una simple operación de suma. Si ponemos en la celda B1 la fecha de inicio (03/01/2008) y en la celda B2 los días requeridos para completar la tarea (35), en la celda B3 ponemos =B1+B2




Si queremos hacer el cálculo tomando en cuento sólo los días hábiles, tenemos que usar la función DIA.LAB (WORKDAY en la versión inglesa). Esta función está disponible sólo si hemos instalado el complemento Analysis Toolpak



Como pueden ver, la tarea será concluida en 49 días, dentro los cuales hay 7 sábados y 7 domingos.


Un lector me consultaba como hacer la cuenta a la inversa. Es decir, dados los días requeridos y la fecha de cierre, cuando debemos comenzar nuestra tarea?

En el caso de tratarse de días corridos (sin tomar en cuenta los feriados), sencillamente restamos los días requeridos de la fecha de cierra



Si queremos hacer el cálculo sólo con días hábiles, la solución también es sencilla, pero no tan intuitiva. Usamos DIA.LAB, donde el primer argumento es la fecha de cierre y el segundo los días hábiles requeridos pero expresados como número negativo



Nótese el signo "-" delante de B17.

Como habrán notado, esta función tiene un tercer argumento, opcional, que permite introducir una lista de días festivos.




Technorati Tags:

sábado, mayo 17, 2008

Gráficos de Barra en lugar de columnas

De toda la colección de gráficos que ofrece Excel, tal vez el de columnas sea el más usado. Si bien el gráficos de barras parece ser un gráfico de columnas volteado 90 grados, hay situaciones en las cuales su uso me parece más recomendable.
En mi blog sobre gráficos y presentación de datos puede leer una nota sobre por qué prefiero este gráfico de barras, a pesar del trabajo extra que requiere construirlo



a éste de columnas que Excel construye con solo dos clics del mouse





Technorati Tags:

jueves, mayo 08, 2008

Ordenando rangos por jerarquía con Excel – Reseña

La función JERARQUIA de Excel calcula la posición relativa de un valor dentro de una lista. En notas anteriores hemos mostrado como usar esta función, sus limitaciones y algunas formas de superarlas.
En la nota Construir con Excel una tabla con las 10 primeras posiciones mostramos como superar el problema el "empate". Allí dimos el ejemplo de esta lista de calificaciones de alumnos



En la columna C usamos la función JERARQUIA para determinar la posición de cada alumno de acuerdo a la calificación. Allí vemos que Perla y Cristina, que tienen la misma calificación, obtienen el mismo número de rango (1) y Carlos recibe el número 3. Para solucionar esta situación usamos la función JERARQUIA combinada con CONTAR.SI para "desempatar" entre alumnos con la misma calificación. La fórmula en la columna D es

=JERARQUIA(B2,puntaje)+CONTAR.SI($B$2:B2,B2)-1


Un lector me pregunta como hacer para que el alumno Carlos, que tiene la segunda mejor nota, aparezca con el número 2 ya que ocupa el segundo lugar y no con el número tres. Es decir, que cada alumno aparezca con el numero de posición que ocupa.
Para lograr esto tendremos que usar una fórmula desarrollada por Tushar Mehta. En nuestra tabla hemos agregado la columna D, que muestra el resultado deseado



La fórmula en la columna D es

={SUMA(1/SI($C$2:$C$25<C2,CONTAR.SI($C$2:C25,$C$2:$C$25),9.999999999E+307))+1}

Esta es una fórmula matricial. . Primero la introducimos la fórmula en la celda D2 pulsando CTRL+MAYUSCULAS +ENTER simultáneamente. Luego la copiamos al esto del rango (hasta D25 e nuestro ejemplo).
Algunos detalles a tomar en cuenta en esta fórmula:

# - La fórmula usa la columna C como columna auxiliar. Esta columna contiene la posición de cada alumno calculada con la función JERARQUIA.

# - La expresión CONTAR.SI($C$2:C25,$C$2:$C$25) calcula cuantas veces aparece un determinado valor en el rango, sólo si no se trata de la primera posición. Para determinar si el valor evaluado no es el de la primera posición, usamos la expresión $C$2:$C$25<C4.

# - La segunda parte la función SI, 9.999999999E+307 es un número expresado en forma exponencial y es el mayor número que Excel puede aceptar. Esto es necesario para evitar la división por cero cuando evaluamos el valor del primer puesto. La operación 1/9.999999999E+307 da como resultado 0.

Para ver como funciona esta fórmula, lo mejor es usar el botón Evaluar de la barra de auditoría de fórmulas.



Por ejemplo, seleccionamos la celda D5 y apretamos el botón Evaluar fórmula



Apretamos el botón Evaluar del diálogo y vemos la expresión que va a ser evaluada



Al volver a apretar Evaluar vemos el resultado de la operación



En nuestro caso, se genera una matriz con 4 resultados VERDADERO y el resto FALSO.
En el próximo paso, Evaluar nos muestra la matriz generada por CONTAR.SI



Ahora vemos que el resultado de CONTAR.SI es la matriz {2,2,1,1,1,9,99..9E+07…}



Al dividir los miembros de esta matriz por 1 obtenemos



Y al sumar la nueva matriz, nos da



Es decir, 4, la posición del valor en la lista.



Technorati Tags: