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:

sábado, marzo 31, 2007

Suma condicional con errores en Excel

Si el rango de la función SUMA incluye valores de error, por ejemplo #N/A (valor no disponible), el resultado de la función será también #N/A.
Por lo general lo que hacemos es investigar la celda o celdas que generan esos valores de error y corregirlas.
Pero a veces el rango reside en una hoja remota o sencillamente no queremos corregir estas celdas ya que el resultado, a pesar de ser #N/A, es válido.
Para sumar un rango que incluye valores #N/A sencillamente usamos SUMAR.SI

Dado este rango, por ejemplo



La fórmula SUMAR.SI(A1:A12;"<>#N/A") da el resultado correcto, 408.

Supongamos ahora que en nuestro rango tenemos varios tipos de errores. Por ejemplo, #N/A y también #¡DIV/0!. Por ejemplo



Cómo hacemos para sumar los valores que no son error?

Ya vimos que SUMAR.SI no acepta más de un criterio. Por lo general para sumar, contar, con más de una condición usamos SUMAPRODUCTO o fórmulas matriciales.

actualización de la entrada, siguiendo la observación de Vicente
Pero en este caso, tampoco SUMAPRODUCTO o funciones matriciales pueden ayudarnos. Esto se debe a que al multiplicar los elementos de las matrices entre si, incluimos valores #N/A o #¡DIV/0! en la operación y el resultado es, obviamente, #error!


En un caso de rango "mixto" como el nuestro, la única solución que encuentro es podemos usar esta función matricial (sugerida por Vicente en su comentario)

={SUMA(SI(ESERROR(A1:A12);"";A1:A12))}

o escribir una función definida por el usuario (UDF).

En un módulo del editor de Visual Basic escribimos esta función

Option Explicit

Public Function Sum_Err(rng)
Dim cell As Range, Count


Count = 0
For Each cell In rng
If Not IsError(cell.Value) Then
Count = Count + cell.Value
End If
Next

Sum_Err = Count

End Function

Para usar la función podemos usar el asistente de funciones, seleccionando la categoría "definidas por el usuario"



Seleccionamos el rango que queremos sumar



Y obtenemos el resultado esperado



Technorati Tags:

domingo, marzo 25, 2007

Mejorar gráficos estándar de Excel

Hace un tiempo que leo el blog de BizViz de Jorge Camoes, que trata sobre visualización de información. Es un blog interesante, que recomiendo leer a aquellos que usen Excel para elaborar y presentar información. El blog está escrito en portugués, lo cual no representa una barrera para el lector de habla castellana.
En una de las últimas notas, Jorge Camoes da un ejemplo de cómo mejorar los gráficos estándar de Excel.

Veamos este ejemplo. Dada una tabla con dos columnas de datos, años y ventas, el gráfico de columnas que Excel construye es el siguiente:




Más que empezar a analizar los defectos de este gráfico, veamos como lo podemos mejorar, sin mucho esfuerzo

En primer lugar borramos la leyenda, que coincide con el título (tenemos sólo una serie)



Luego quitamos el fondo del área del gráfico y el borde



En ambos ejes, elegimos una fuente más pequeña y quitamos la marca de Autoescala. De esta forma también logramos que todos los puntos en el eje e las X tengan un rótulo.



En el menú de formato de líneas de división, elegimos una línea más delicada



Ahora es el turno de cambiar la escala del eje del eje de las Y



Finalmente, podemos cambiar el color estándar de Excel a uno de nuestro agrado. El resultado final



Si estamos satisfechos del resultado, podemos guardar el gráfico como tipo personalizado definido por el usuario. De esta manera, no tendremos que volver sobre el proceso de mejorar el gráfico estándar de Excel, cada vez que queramos producir un gráfico de columnas.
Seleccionamos el gráfico y abrimos el menú de Tipo de Gráfico. En la pestaña Tipos Personalizados señalamos Definido por el Usuario y pulsamos Agregar




En el diálogo que se abre definimos un nombre y una descripción para el gráfico



A partir de ahora tendremos en la pestaña de Tipos Personalizados, un nuevo modelo de gráfico que podremos elegir.






Technorati Tags: