domingo, junio 06, 2010

Más sobre del comando Ir A - Especial de Excel

El blog oficial del equipo de desarrollo de Excel está publicando una serie de notas sobre los atajos de teclado favoritos de sus miembros. Esto me trajo a la memoria una nota que escribí en los albores de este blog sobre el comando Ir A.

En esa nota me limitaba a mostrar cómo seleccionar fácilmente todas las celdas en blanco de un rango. Esto es muy útil cuando tenemos que llenar los vacíos en una columna de una tabla.

Por ejemplo, al importar datos de una base de datos o copiar los valores de una tabla dinámica es muy común tener esta situación (los datos son la base de datos Northwind incluida en las distintas versiones de Office)



Para poder usar estos datos en una tabla dinámica o totalizar con fórmulas u otras tareas por el estilo, tenemos que llenar las celdas en blanco con el nombre del país correspondiente. Lo hacemos fácilmente con Ir a (atajo: F5 o Ctrl+I). Primero seleccionamos todo el rango a rellenar (en nuestro caso A1:A24), luego apretamos F5 (o Ctrl+I) y apretamos el botón Especial



Elegimos la opción Celdas en Blanco y apretamos Aceptar



La celda activa ahora es A3. Apretamos "=" y seleccionamos A2 con el mouse



Finalmente apretamos simultáneamente Ctrl y Enter, obteniendo este resultado



Es recomendable seleccionar nuevamente el rango y convertir todas las referencias en constantes (Copiar-Pegado Especial Valores).

Pero, como podemos ver, hay en Ir A-Especial mucho más. Básicamente, Ir A-Especial nos permite seleccionar rangos de acuerdo a criterios. Veamos algunos usos:

1 – Eliminar todos los comentarios en un rango



En el rango A1:B7 tenemos cuatro comentarios como podemos apreciar por las señales rojas. Seleccionamos todo el rango y usamos Ir a Especial-Comentarios




Abrimos el menú contextual (botón derecho del mouse) y con Eliminar Comentario, quitamos todos los comentarios de una vez.





2 – Constantes/Celdas con fórmulas




En este ejemplo, Ir a Especial-Celdas con fórmulas-Errores, nos permite seleccionar todas las celdas del rango con resultado #N/A. Luego podemos reemplazar el valor de estas celdas con otro (vacío, cero, etc.) de una vez usando Ctrl+Enter.

3 –Diferencias entre filas/Diferencias entre columnas.

Estos comandos nos permiten seleccionar todas las celdas de una columna/fila cuyos valores son distintos de los de las celdas de referencia. La celda de referencia es la ceda activa del rango seleccionado. Veamos estos ejemplos aplicado al rango A1:C3




Después de seleccionar, la celda activa es A1, aplicamos Ir a Especial-Diferencias entre filas







En la fila 1 la celda seleccionada es B1, la única que contiene un valor distinto a la celda de referencia (A1).

En la fila 2 la celda de referencia es A2 y por lo tanto la celda seleccionada es C2.

En la fila 3 las celdas seleccionadas con B3 y C3, que contienen valores distintos a A3.

De la misma manera funciona Diferencias entre columnas





Al principio de la nota vimos como seleccionar todas las celdas en blanco en un rango. Con estos comandos podemos hacer lo opuesto, seleccionar todas las celdas no en blanco del rango. El truco consiste en que la celda de referencia este en blanco. Por ejemplo podemos agregar una fila y una columna en blanco al rango y usar Diferencias entre filas






martes, mayo 25, 2010

Gráfico dinámico que muestra los últimos n puntos de la serie

El origen de esta nota es la consulta de un lector que me pregunta cómo hacer un gráfico que muestre siempre los 12 últimos puntos de una serie.

Como en casi todo gráfico dinámico, el truco está en usar rangos dinámicos definidos en nombres. Por lo general, y en esta nota, lo haremos con la ayuda de la función DESREF.

Supongamos esta tabla de ventas que muestra los 12 meses de año 2009 y que hemos representado con un gráfico.



Queremos que el gráfico muestre siempre los últimos n meses, siendo n un número que el usuario defina. Por ejemplo, si agregamos los enero y febrero del 2010 queremos ver los datos desde marzo del 2009 a febrero del 2010.

Como ya hemos mostrado, vamos a reemplazar los rangos estáticos de la serie de datos y de los valores del eje de las categorías, por rangos dinámicos



Antes de definir los rangos dinámicos, definimos un nombre que cuente cuántos períodos (datos) hay en la tabla. Lo hacemos basándonos en la columna de los períodos (la columna B en nuestro ejemplo) ya que puede haber períodos sin datos

cntPeriodos = =CONTARA(dinamico!$B:$B)-1

Restamos 1 del resultado de CONTARA para eliminar la cuenta del título de la columna.

El próximo paso es elegir una celda donde ponemos el número de meses que queremos mostrar (en nuestro ejemplo H2, y no por capricho como ser verá luego). También a H2 le ponemos nombre, pmtMeses



Ahora definimos nombres dinámicos para el eje de la Y, grfY y para el eje de la X, grfX

grfX =DESREF(dinamico!$B$3;cntPeriodos-pmtMeses;0;pmtMeses;1)

grfY =DESREF(dinamico!$C$3;cntPeriodos-pmtMeses;0;pmtMeses;1)

Una vez definidos los nombres reemplazamos los rangos estáticos en la fórmula SERIES, cuidándonos de dejar el nombre del cuaderno incluido el símbolo !



La explicación de estas fórmulas es la siguiente:

dinamico!$B$3;cntPeriodos-pmtMeses calcula desde donde comienza el rango. Por ejemplo si tenemos 14 períodos en la tabla (calculados por cntPeriodos) y queremos mostrar sólo los últimos 12 (pmtMeses), cntPeriodos – pmtMeses da 2; por lo tanto nuestro rango comienza en B5 y se entiende por 12 celdas hasta B16.

Ahora podemos aprovechar la ubicación de H2 para crear un título dinámico para el grafico


Cuando reemplazamos el valor de la celda H2, el título cambia de acuerdo al contenido del gráfico.

El archivo se puede descargar aquí.

domingo, mayo 23, 2010

Hipervínculos en Excel - referencias absolutas y relativas

El tema de los hipervínculos en Excel sigue siendo uno de los más consultados por mis lectores. Las preguntas más frecuentes tienen que ver con la "dirección".

La dirección es la referencia al archivo, objeto o páginas Web que se abrirá al pulsar el enlace. Técnicamente la referencia es un URL (Uniform Resource Locator).

El URL puede apuntar tanto a una página WEB como a un archivo.

De acuerdo con Office Online los hipervínculos, es decir la referencia URL, pueden ser absolutos o relativos.

Un URL absoluto es aquel que contiene la dirección completa que se compone de cuatro partes: el protocolo (http, ftp, file), la ubicación física (el servidor Web, o el lugar en la red o en la máquina), el path y el nombre del archivo.

Un URL relativo es aquel en el que falta alguna o algunas de las partes mencionadas.

En Excel los hipervínculos son, por defecto, relativos al cuaderno que los contiene.

Como ejemplo supongamos que tenemos un cuaderno con hipervínculos a imágenes de productos. El cuaderno está guardado en la dirección D:\Catalogo. Las imágenes están en el directorio D:\Catalogo\Productos

Abrimos un cuaderno nuevo, agregamos la lista de productos (en nuestro ejemplo los números de catálogo) y creamos el hipervínculo para el primero de la lista




Nótese que la dirección es absoluta. Esto se debe a que aún no hemos guardado el cuaderno. Lo mismo puede apreciarse apuntando al enlace



Después de guardar el cuaderno, la dirección se vuelve relativa


Ahora copiamos D:\Catalogo a un CD (D:\Catalogo incluye, obviamente, la carpeta Productos). De esta manera podremos entregar copias del catálogo a nuestros clientes.

Cuando nuestro cliente abra el cuaderno, los enlaces apuntarán a la ubicación del cuaderno (en nuestro ejemplo, E :\)



La dirección ha cambiado en relación a la ubicación del cuaderno.

Si queremos forzar dirección del hipervínculo podemos hacer lo siguiente:

Abrimos el menú Propiedades del cuaderno
En Excel Clásico: Archivo-Propiedades-Resumen;
En Excel 2007: botón del Office-Preparar-Propiedades-Propiedades Avanzadas
En la ventanilla Base del Hipervínculo ponemos la referencia deseada, de manera.