lunes, enero 29, 2007

Usos de Autofiltro – Copiar a rangos no continuos

Hace unos días atrás, Rob van Gelder plantea el siguiente problema en Daily Dose of Excel:

tenemos una tabla con líneas en blanco que separan distintos grupos de datos. Queremos agregar una columna que contiene una fórmula, pero al copiar la fórmula a todo el rango se producen resultado "error". Esta imagen ejemplifica el problema:



La solución más inmediata es seleccionar las celdas con resultados erróneos y borrar el contenido.
Pero supongamos que se trata de una tabla con 1000 filas. Evidentemente la tarea llevaría muchísimo tiempo (1).
La misión es crear una selección lo continua de celdas en una columna dónde copiaríamos la fórmula.
Rob van Gelder propone una macro como solución. Nosotros mostraremo como hacer esto con Autofiltro.

Partimos de la tabla original, sin fórmulas en la columna E. Si aplicamos Autofiltro sin más trámite, Excel mostrará solamente los valores hasta la primer fila en blanco.
Para "obligar" a Excel a considerar toda la tabla, empezamos por seleccionar todo el rango de las columnas A hasta E y luego aplicamos Autofiltro



Ahora filtramos la tabla de acuerdo a la columna B, "no vacías"



Excel oculta las filas vacías



Seleccionamos el rango relevante en la columna E y aplicamos la fórmula



Todo lo que nos queda por hacer es anular el autofiltro



Obtenemos el mismo resultado, sin aplicar macros.

(1) En realidad podríamos seleccionar de una vez todas las celdas con resultado #DIV/0! usando Ir A --Especial, como ya hemos mostrado, y borrar el contenido en una sola operación. Si usamos alguna fórmula que no divida por una celda vacía no recibiremos resultado #DIV/0 y el método mostrado en esta nota sería el ideal.


Technorati Tags:

sábado, enero 20, 2007

Vinculos entre hojas Excel

Esta nota viene a colación de una pregunta de un compañero de trabajo sobre los vínculos entre hojas de distintos cuadernos en Excel.

Excel permite crear vínculos entre celdas de distintos cuadernos. Esto permite usar cuadernos de Excel en forma similar a una base de datos. Por ejemplo, en un cuaderno tenemos una lista de productos con sus respectivos precios; en una hoja de otro cuaderno manejamos el inventario de los productos. Podemos crear un vínculo en el cuaderno del inventario de manera que cada vez que actualicemos los precios, el valor del inventario se actualice.

Estos vínculos pueden funcionan también si el libro de origen (la lista de pecios en nuestro caso) está cerrado. Pero Excel también nos permite decidir si queremos que está actualización se haga en forma automática o no.

Veamos todo esto con un ejemplo. Supongamos esta lista de precios (de la base da datos NorthWind que viene con el paquete Office)



En una hoja de otro cuaderno tenemos una lista de inventario, como esta


Para crear vínculos a la lista de precios podemos:

1 – copiar el precio del producto y pegarlo en la lista de inventario con Pegar Vínculos


2 – o sencillamente seleccionar la celda dónde queremos crear el vínculo, en la barra de fórmulas introducir el signo "=", pasar al cuaderno de origen (Lista de precios), apuntar a la celda correspondiente y aceptar.

En ambos casos Excel crea un vínculo al cuaderno de origen, que aparece en la barra de fórmulas entre corchetes:


Cuando el libro de origen está cerrado, la referencia en la barra de fórmulas incluirá también la ubicación del archivo


La forma en que Excel maneja la actualización de los vínculos puede ser controlada a través del menú Herramientas—Opciones—Modificar


Si marcamos la opción Consultar al actualizar vínculos automáticos, cuando abramos el cuaderno que contiene el vínculo, veremos este mensaje


En caso contrario, Excel actualiza los vínculos automáticamente.

Cuando ambos cuadernos están abiertos, cambios en la celda de origen se reflejan inmediatamente en la celda que contiene el vínculo.

También podemos manejar los vínculos mediante el menú Edición--Vínculos


Por ejemplo, si queremos romper todos los vínculos en una sola operación, usamos el botón Romper vínculos. Al usarlo recibimos esta advertencia, ya que no es posible deshacer esta operación


Para romper el vínculo de una celda solamente, podemos usar Pegado Especial--Valores

Si esto sucede estando el cuaderno vinculado cerrado, al abrirlo recibimos un mensaje que el cuaderno no puede actualizarse


Si elegimos actualizar los vínculos, recibimos otro mensaje


Al apretar el botón Modificar se abrirá el diálogo de Modificar vínculos que nos permitirá crear el vínculo al archivo relevante.


Technorati Tags:

martes, enero 16, 2007

Autofiltro avanzado en Excel

Supongo que la gran mayoría de mis lectores conocen la funcionalidad Autofiltro de Excel. Autofiltro nos permite "filtrar" una lista de acuerdo a uno o más criterios que podemos aplicar a una o más columnas de una lista.
Para ejemplificar el uso he importado una de las tablas de la base de datos Northwind que viene con el paquete Office de Microsoft.



Si queremos filtrar la lista para que se vean sólo los productos clasificados como bebidas (Beverage), seleccionamos una de las celdas de la tabla, y en menú Datos seleccionamos Autofiltro



Para filtrar la lista seleccionamos de la lista desplegable el criterio requerido



El resultado es



También podemos filtrar usando criterios "personalizados". Por ejemplo, todos los productos cuyo precio por unidad sea superior a 20. Abrimos la lista desplegable y elegimos Personalizar



En el diálogo que se abre elegimos "es mayor que" y fijamos el valor 20 en la ventanilla correspondiente



y pulsamos Aceptar



Podemos extender el poder de esta funcionalidad combinando filtro de varias columnas. Por ejemplo todas las bebidas cuyo precio sea mayor a 20




Para eliminar la selección podemos pulsar la flecha de la columna filtrada (que aparece en azul) o usar el menú Datos—Autofiltro.

La posibilidad de personalizar el filtro nos provee de una gran flexibilidad para filtrar nuestras listas.
Supongamos que queremos, por algún oscuro motivo, filtrar la lista para que muestre sólo las filas donde la cantidad por unidad (la columna QuantityPerUnit) empieza con "12". Usamos Personalizar con este criterio



El resultado



Como ven, Personalizar en Autofiltro ofrece muchas posibilidades. De



hasta



También podemos aplicar "wildcards" como * o ?. Por ejemplo, mostrar sólo las filas que tengan el número 12 en la columna QuantityPerUnit en la posición 6 y7. Usamos Personalizar con 5 signos ?, el numero 12 y un asterisco



También podemos usar



Obtenemos



Por último (en lo que respecta a esta nota) podemos combinar criterios dentro de una misma columna usando las posibilidades Y y O del diálogo. Es de notar que sólo podemos combinar dos condiciones.
Otra limitación de Autofiltro es que sólo puede mostrar 1000 registros en las listas desplegables de los encabezamientos.





Technorati Tags:

sábado, enero 13, 2007

Cuadernos Excel compartidos

En la nota de ayer sobre control de cambios en cuadernos Excel vimos que para usar esta funcionalidad tenemos que convertir al cuaderno en compartido.
Un cuaderno (o libro) Excel compartido permite a varios usuarios introducir cambios en el cuaderno al mismo tiempo. También permite identificar quién y dónde ha introducido cambios y, como vimos ayer, guardar la historia de los cambios. Estas características hacen que un cuaderno compartido sea ideal para administrar listas de datos que aportan varios usuarios.
Un cuaderno Excel compartido debe guardarse, naturalmente, en una ubicación en la red a la cual tengan acceso todos los usuarios del cuaderno.
Al convertir un cuaderno Excel en compartido hay una serie de funcionalidades que quedan deshabilitadas:

celdas combinadas,
formatos condicionales,
validación de datos,
gráficos, imágenes y objetos (incluidos los de dibujo),
hipervínculos,
escenarios,
esquemas,
subtotales,
tablas de datos,
informes de tabla dinámica,
protección de libros y hojas de cálculo,
macros

Todas estas funcionalidades deben ser establecidas antes de convertir el libro en compartido.

Hay otras decisiones que debemos tomar al diseñar un libro compartido:

- Cantidad de cambios (en días) que queremos guardar. Cuantos más días guardemos, más grande será el tamaño del archivo. Esto, por supuesto, afecta al funcionamiento del cuaderno. Para establecer el intervalo de cambios a guardar usamos el menú Herramientas—Compartir libro




- Limitar o no el acceso de usuarios. Normalmente cualquier usuario de un libro compartido puede efectuar cambios en cualquier rango, quitar (desconectar) usuarios o convertir el libro en exclusivo (no compartido) quitando la señal en el menú correspondiente (l que, además, borra toda la historia de cambios guardada hasta el momento). Para evitar esto, hay que usar la funcionalidad Protección del menú Herramientas.
La protección se aplica en el siguiente orden: proteger la hoja, luego el cuaderno y finalmente proteger la funcionalidad (compartir y cambios). Este último cambio permite introducir una contraseña.




Uno de los puntos a tomar en cuenta es que si queremos introducir cambios en la estructura de un cuaderno Excel compartido, tenemos que convertirlo previamente en exclusivo. Al hacer esto se borrará toda la historia de cambios.
Otro punto importante es si bien Excel nos permite ver los cambios que los distintos usuarios van realizando, sólo veremos aquellos cambios que hayan sido guardados.

Una alternativa a los cuadernos Excel compartidos son las hojas de cálculo on-line, como Google Spreadsheets, IRows, NumSum y ZohoSheet





Technorati Tags:

viernes, enero 12, 2007

Control de cambios en cuadernos de Excel

Excel viene provisto con una herramienta que nos permite controlar los cambios que vamos haciendo en una hoja de cálculos. Es decir, un registro de los distintos cambios que hemos ido efectuando.
Esta funcionalidad existe para los libros compartidos (tema de una futura nota), pero podemos aplicarla también a libros no compartidos (que se convierten en compartidos).

Supongamos una hoja de Excel donde llevamos registro de la realización de ciertos proyectos



Si queremos llevar un registro de los cambios que vamos haciendo a la hoja, usamos el menú Herramientas—Control de Cambios—Resaltar cambios



En el diálogo que se abre marcamos "Efectuar control de cambios al modificar"



Al hacer esto el libro pasa a tener la característica "compartido"
En este mismo diálogo podemos determinar el valor de las distintas opciones (cuando, quien y donde).
Por ejemplo para el parámetro "cuando" podemos elegir entre estas posibilidades:



También podemos determinar si queremos que Excel resalte las celdas que han sido cambiadas marcando la opción.
Si pulsamos "aceptar" Excel nos preguntará si queremos guardar el cuaderno



Ahora hagamos una serie de cambios en la tabla y veamos como son registrados por Excel. Cambiamos los valores en las celdas B2, B4 y B6



Como pueden apreciar las celdas aparecen con un recuadro azul y una señal de mensaje. Además los encabezamientos de las filas y la columna aparecen en rojo.
Si apuntamos el mouse a una de las celdas veremos el mensaje sobre el cambio



Ahora volvemos a cambiar el valor de B2, esta vez a 42,000



Ahora el mensaje refleja el último cambio realizado. Para ver toda la historia de los cambios usamos el menú Herramientas—Control de Cambios—Aceptar o rechazar cambios.
Si queremos inspeccionar una celda determinada, por ejemplo la celda B2, señalamos esta celda en la ventanilla "donde" del diálogo y apretamos Aceptar



En la ventana que se abre podemos ver la historia de todos los cambios que hubo en la celda. En este mismo diálogo podemos aceptar o rechazar los distintos valores



En el menú Herramientas—Control de cambios—Resaltar cambios podemos marcar la opción "Mostrar cambios en una nueva hoja".



Al aceptar esta opción, Excel genera una hoja llamada Historial con todos los cambios realizados en el cuaderno


Al guardar el cuaderno, Excel elimina esta hoja.

Como se puede apreciar, esta funcionalidad nos da un gran control sobre los cambios hechos en el cuaderno. La contrapartida es que al convertir el cuaderno en compartido hay una serie de funcionalidades que no se pueden usar (hay que tener en cuenta que el objetivo original es compartir el libro con varios usuarios), como

Insertar o eliminar bloques de celdas
Eliminar hojas de cálculo
Crear o cambiar gráficos o informes de gráfico dinámico
Asignar, cambiar o quitar contraseñas

y más


En una futura nota ampliaremos sobre cuadernos compartidos en Excel.


Technorati Tags:

sábado, enero 06, 2007

Graficos Excel sin espacios en blanco

Supongamos un reporte de ventas para el mes de diciembre. Este informe muestra las ventas día a día. Los sábados y domingos no hay ventas y por lo tanto la tabla muestra celdas vacías para esto días



El gráficos (Líneas) resultante de esta tabla será el siguiente



Como pueden apreciar, Excel deja espacios en blanco para las fechas sin datos. Si queremos llenar estos espacios podemos aplicar una de estas diferentes técnicas

1 – Seleccionamos el gráficos y abrimos el menú Herramientas---Opciones. En la pestaña Gráfico, seleccionamos la opción "Interpolar"



El resultado será



2 – Eliminar los sábados y domingos de la tabla



El resultado es similar al anterior.



En este caso, el eje está definido como "escala de tiempo".



Existe también la posibilidad de definirlo como "categoría". En ese caso, los puntos aparecerán distanciados en forma pareja, sin tomar en cuenta el número de días transcurridos entre cada fecha



3 – Usar la función =NOD() (NA en inglés), en las celdas vacías





Technorati Tags: