lunes, abril 09, 2007

Excel y años bisiestos

Si queremos construir una tabla que muestre el primer y último día de cada mes como ésta



usamos estas fórmulas:

en la celda B4 ponemos =FECHA(B1;1;1), que nos da el primero de Enero del año que aparece en la celda B1

en la celda B5 ponemos =FECHA(AÑO($B$4);MES(B4)+1;1) y la copiamos a todo el rango B6:B15

en la celda C4 ponemos =FECHA(AÑO(B4);MES(B4)+1;0) y la copiamos a todo el rango C4:C15.

Para calcular el último día del mes podemos usar también =EOMONTH(B4;0), si tenemos instalado el Anaysis Toolpak.

Si cambiamos el año en la celda B1 veremos que Excel toma en cuenta los años bisiestos para calcular el último día de Febrero.

Excel usa el calendario gregoriano para los cálculos que involucran fechas. De acuerdo al calendario gregoriano, cada año que es divisible por 4 es un año bisiesto. Pero como la duración del año solar es 365,25635, existe un pequeño error que hay que corregir. Para esto agregamos a la regla que un año que es divisible por 100, es bisiesto sólo si también es divisible por 400. Por este motivo el 1800,1900 o 2100 por ejemplo, no son años bisiestos.

Podemos establecer si un año es bisiesto o no, usando esta fórmula:

=SI(O(RESIDUO(B1;400)=0;Y(RESIDUO(B1;4)=0;RESIDUO(B1;100)<>0));"Año Bisiesto"; "Año no bisiesto")

Podemos agregar esta fórmula a nuestra tabla para enriquecer la información que presenta:



Descarga del ejemplo: bisiesto

Fuente: XL: Método para determinar si el año es bisiesto





Technorati Tags:

viernes, abril 06, 2007

Nuevos términos en Excel.

En el blog Juice Analytics leo una nota sobre nuevos términos para Excel. La idea de la nota, escrita en tono obviamente irónico, es generar una serie de términos "profesionales" para crear una impresión de autoridad. Algo así como las frases en latín de los abogados o los términos médicos.
Uno de los ejemplos que menciona la nota es el "chartjunk" (gráfico basura), popularizado por Edward Tufte, un guru de la presentación gráfica. Este término describe un gráfico, no necesariamente generado con Excel, que incluye elementos innecesarios o que no aportan nada a la comprensión de los datos que el gráfico analiza.

La nota invita a los lectores a aportar nuevos términos que describan una serie de situaciones. Los aportes de los lectores han sido realmente ingeniosos y graciosos. Por ejemplo:

- presentación que busca distraer la atención sobre la falta de contenido o evidencia: "flufferpoint" (cruza de fluffer y Powerpoint, y también "clipterfuge", resultado de "clip" y "subterfuge" (subterfugio).

- un archivo de datos con más de 65536 filas, lo que lo hace imposible importar a una hoja de Excel en versiones anteriores a Excel 2007: "spreadalanche", cruza de "spreadsheet" y "avalanche".

- una hoja Excel que ha crecido de tal manera que se ha vuelto incomprensible para todos aparte del autor: "frankensheet" (Frankenstein y Spreadsheet).


Evidentemente el inglés goza de esa ventaja de generar palabras "cruzando" términos existentes. Será posible generar términos semejantes en español?
Por ejemplo, el "chartjunk" de Tufte podría ser "grafura", el "frankensheet" podría ser "monstruoja".

Invito a mis lectores a aportar nuevos términos a estas situaciones o cualquier otra que se les ocurra.


Technorati Tags:

lunes, abril 02, 2007

Comentarios en celdas de Excel – algunos trucos

No creo que exista algún usuario de Excel que desconozca el uso de comentarios en las celdas. Esta funcionalidad permite agregar notas textuales a la celda y, como veremos más adelante, también imágenes.
Para agregar un comentario a una celda, simplemente seleccionamos la celda y pulsamos el menú Insertar—Comentarios



También podemos usar el menú contextual seleccionando la celda y pulsando el botón derecho del mouse



Otra forma, menos conocida, es usar la barra de herramientas Revisión



El uso de la barra de herramientas Revisión es conveniente si tenemos que agregar varios comentarios en la hoja. Esta barra tiene botones que nos permiten agregar o editar un comentario, pasar el comentario siguiente o al anterior, mostrar el comentario de la celda seleccionada o todos los comentarios y también borrar un comentario.

El comentario aparece cuando pasamos con el mouse sobre la celda. El comentario es un cuadro de texto y podemos hacer con él todo lo que es posible con cualquier cuadro de texto.
Para cambiar las características del comentario tenemos que mostrarlo y luego, señalando el borde del cuadro con el mouse, abrir el menú de Formato de Comentario.






Este menú nos permite cambiar casi todas las características del comentario, por ejemplo el tamaño de la fuente y el fondo del cuadro



También podemos cambiar la forma del cuadro que contiene al comentario. Por ejemplo, para lograr este efecto



mostramos el comentario, seleccionamos el borde y en la barra de dibujo apretamos el botón Dibujo;



elegimos la opción Cambiar Autoforma y elegimos una de ellas.

Otro efecto interesante es agregar imágenes a los comentarios. Por ejemplo, supongamos que tenemos una lista de nombres y queremos que cada vez que señalamos un nombre, aparezca la imagen de la persona.

Agregamos un comentario a la celda con el nombre y señalando el borde abrimos el menú Formato de Comentario. Abrimos la pestaña Colores y Líneas y en Efectos de Relleno abrimos la pestaña Imagen. Pulsamos el botón Seleccionar Imagen y elegimos la imagen que queremos que aparezca



Apretamos Aceptar en los dos diálogos. Al pasar con el mouse por sobre la celda, aparece la imagen de Luis



Para imprimir el contenido de los comentarios Excel nos ofrece dos alternativas en el menú de Configuración de Página: imprimir el texto como en la hoja o al final de la hoja.



Para imprimir todos los comentarios de una hoja en forma ordenada, podemos copiarlos a otra hoja, en forma de lista, usando esta macro que aparece en el sitio Contextures:


Sub showcomments()
'posted by Dave Peterson 2003-05-16
   Application.ScreenUpdating = False

   Dim commrange As Range
   Dim mycell As Range
   Dim curwks As Worksheet
   Dim newwks As Worksheet
   Dim i As Long

   Set curwks = ActiveSheet

   On Error Resume Next
   Set commrange = curwks.Cells _
     .SpecialCells(xlCellTypeComments)
   On Error GoTo 0

   If commrange Is Nothing Then
     MsgBox "no comments found"
     Exit Sub
   End If

   Set newwks = Worksheets.Add

   newwks.Range("A1:D1").Value = _
     Array("Dirección", "Nombre", "Valor", "Comentario")

   i = 1
   For Each mycell In commrange
     With newwks
       i = i + 1
     On Error Resume Next
       .Cells(i, 1).Value = mycell.Address
       .Cells(i, 2).Value = mycell.Name.Name
       .Cells(i, 3).Value = mycell.Value
       .Cells(i, 4).Value = mycell.Comment.Text
     End With
   Next mycell

   Application.ScreenUpdating = True

End Sub


Esta macro copia todos los comentario en una lista que muestra la dirección de la celda que contiene el comentario, el nombre de la celda (si lo tiene), el valor y el texto del comentario.





Technorati Tags: