Sugerencias y ayuda para Excel en español. Ejemplos de funciones y fórmulas, gráficos, automatización con Vba, Power Query y PowerPivot
martes, agosto 29, 2006
Diagramas Gantt con Excel
Desde su introducción los diagramas de Gantt se han convertido en una herramienta básica en la dirección de proyectos de todo tipo, con la finalidad de representar las diferentes fases, tareas y actividades programadas como parte de un proyecto o para mostrar una línea de tiempo en las diferentes actividades.
Excel no cuenta con una herramienta propia para desarrollar diagramas Gant. Quien quiera desarrollar un diagrama Gantt profesional, con interdependencias entre actividades y demás elementos, debe usar una herramienta apropiada como MS Project, por ejemplo.
Pero si nuestras aspiraciones son menores y podemos contentarnos con un diagrama Gantt sencillo, podremos hacerlo con Excel.
Hay más de una forma de crear un diagrama Gantt en Excel. Los ejemplos de esta nota se encuentran en este cuaderno.
La más sencilla es ubicando los datos en un rango y luego crear el diagrama usando formato condicional.
Los pasos son los siguientes:
1 – Creamos una tabla con los datos (actividades, fechas de inicio y duración)
2 – Diseñamos un rango que contenga el diagrama Gantt. En nuestro ejemplo, la tabla con los datos ocupa el rango A1:D8. El rango para el diagrama ocupa el rango F1:S8. El rango F2:F8 contiene los nombres de las actividades; el rango G1:S1 contiene las fechas por semana (la primer celda se refiera a la celda B2, las restantes son el resultado de sumar 7 a la celda de la izquierda).
3 – Seleccionamos el rango G2:S8 y abrimos el menú de formato condicional.
En la ventanilla de Condición 1 usamos la opción Fórmula e introducimos esta:
=Y(G$1>=$B2,G$1<$D2)
4 – Para lograr el efecto de colores alternados podemos usar dos condiciones con las siguientes fórmulas:
para la primera condición (color azul) =Y(G$1>=$B2,G$1<$D2,RESIDUO(FILA(),2)=0)
para la segunda condición (color mora) =Y(G$1>=$B2,G$1<$D2,RESIDUO(FILA(),2)=1)
El efecto final es:
Otra alternativa es utilizar los gráficos de Excel para representar el diagrama Gantt. Para lograr esto usaremos el gráfico de tipo barras. Esta técnica requiere usar algunos "trucos".
Los pasos son los siguientes:
1 – Usamos la misma tabla de datos del ejemplo anterior
2 – Seleccionamos el rango A1:C8 (sin incluir la columna "Final"), abrimos el menú de gráficos y seleccionamos el tipo "Barras" subtipo "barra apilada"
3 – El primer truco consiste en hacer desaparecer la serie "comienzo"
Para lograr esto seleccionamos la serie "Comienzo" en el gráfico, abrimos el menú de formato de la serie y seleccionamos Borde--ninguno, Área--ninguna. Esto hará "desaparecer" la barra. También seleccionamos la leyenda y la borramos
4 – Seleccionamos el eje Y (donde aparecen las actividades) y en el menú de formato seleccionamos "Categorías en orden inverso" y "Eje de valores cruza en máxima categoría"
5 – Luego seleccionamos el eje X y lo adaptamos de manera que muestre un rango de fechas apropiado.
Como pueden ver, podemos introducir los valores en formato de fechas.
El formato final de nuestro diagrama es el siguiente
Como pueden ver, este formato es mucho más preciso que el anterior que estaba basado en formato condicional.
Fuentes y enlaces para esta entrada:
Gantt Charts in Microsoft Excel por Jon Peltier
Gantt Charts en MrExcel
Enlaces a notas sobre diagramas Gantt por Jon Peltier
Floating bars tutorial page de Tushar Mehta
Categorías: Graficos_, Varios_
Technorati Tags: Excel, Gantt en Excel
viernes, agosto 25, 2006
Importar lista de archivos a Excel
Una de estas funciones es ARCHIVOS. De acuerdo al archivo de ayuda:
Devuelve una matriz de texto horizontal con los nombres de todos los archivos que se encuentran en el directorio o en la carpeta especificados. Use ARCHIVOS para crear una lista de nombres de archivo sobre los que desea que actúe su macro.
La sintaxis es: ARCHIVOS(directorio)
donde "directorio" especifica los directorios o carpetas que contienen los archivos cuyos nombres se van a devolver.
Un lector del blog me consulta como se puede importar a una hoja de Excel una lista de los archivos de una carpeta.
Supongamos que quiero importar a una hoja de Excel los archivos
Esto la hacemos usando la macrofunción ARCHIVOS (FILES en la versión inglesa).
Los pasos son:
1 - definimos el nombre "Archivos" (Insertar--Nombres--Definir), que contiene esta formula: =ARCHIVOS($A$1).
Prestar atención a la referencia absoluta en la fórmula.
2 - En al celda A1 escribimos:
D:\My Music\Mercedes Sosa\Cantata Sudamericana \*.*
3 - En la celda B1 escribimos la formula: =INDICE(Archivos,FILA())
4 - Copiamos la formula hacia abajo (celdas B2, B3, etc) hasta que recibimos como resultado #REF.
El resultado es el siguiente:
Ahora, seleccionamos todo el rango de la columna B y hacemos Copiar--Pegado especial--Valores, para anular las formulas.
Si queremos usar la fórmula en otras hojas del cuaderno, en el diálogo de definición de nombres, borramos el prefijo Hoja1 en la ventanilla "se refiere a", cuidándonos de dejar el signo "!". De esta manera el nombre Archivos se referirá a la celda A1 de la hoja donde se encuentre, y a la hoja donde fue definido.
En esta entrada hay un enlace para descargar el archivo de ayuda en español.
Categorías: Funciones&Formulas_,
Technorati Tags: Excel
lunes, agosto 21, 2006
Algo más sobre macrofunciones XLM (Excel 4)
También señalamos la importancia de prestar atención al uso de referencias relativas.
En esa nota puse un enlace al archivo de ayuda con la lista de las funciones en inglés. Aquí se puede descargar el archivo con la lista en español (después de descargar el fichero, abrirlo y guardar el archivo Xlmcr8.hlp).
La función INDICAR.CELDA (GET.CELL en inglés) es, tal vez, la más útil en hojas de cálculo. Como vimos en la nota anterior, su sintaxis es INDICAR.CELDA(tipo, ref).
Tipo es un argumento que indica que información queremos recibir. En nuestro ejemplo usamos el número de argumento 63, que devuelve el color de llenado (de fondo) de la celda. El número 20 nos permitiría, en forma similar, sumar todos los números en un rango que estén en negrita.
Otro uso interesante es con el argumento 53. Este argumento da como resultado, con formato de texto, el contenido de la celda tal y como aparece en pantalla. De esta manera podemos evitar errores de redondeo que surgen dado que Excel efectúa los cálculos con todos los dígitos del número y no sólo con los exhibidos en la pantalla. Un ejemplo se puede ver en el excelente sitio JKP.
Categorías: Funciones&Formulas_
Technorati Tags: Excel
domingo, agosto 20, 2006
Algo mas sobre archivos residuo y Excel
Si queremos evitar que la aplicación vinculada se abra al hacer doble clic, todo lo que tenemos que hacer es borrar la fórmula INCRUSTAR que aparece en la barra de fórmulas cuando seleccionamos el objeto.
Al borrar la esta fórmula el objeto incrustado permanece como objeto gráfico solamente.
Categorías: Varios_
Technorati Tags: Excel
sábado, agosto 19, 2006
Archivos residuos y Excel
Según la base de conocimientos de Microsoft, un residuo es un archivo que se crea al arrastrar parte de un documento hasta el escritorio. Es decir, podemos seleccionar parte del documento, arrastrar la selección al escritorio de Windows y, más tarde, utilizarlo en otro documento.
Veamos un ejemplo:
Seleccionamos parte de una hoja de Excel y la arrastramos al escritorio de Windows (para lo cual Excel no tiene que estar maximizado)
Abrimos un nuevo cuaderno de Excel y arrastramos el icono del escritorio a nuevo documento
Como podemos ver, el resultado es una "imagen" de la información que seleccionamos, similar al recorte que hacíamos con la cámara fotográfica de Excel. Pero a diferencia de esta, si hacemos un doble clic sobre esta "imagen", se abrirá todo el documento original, incluyendo las fórmulas y los nombres, en un nuevo cuaderno.
El archivo residuo es un objeto OLE especial y no puede ser leído. Sólo podemos arrastrarlo del escritorio a otro documento.
Esta técnica es aplicable también a Word.
Categorías: Varios_
Technorati Tags: Excel
martes, agosto 15, 2006
Busqueda exacta en Excel
Supongamos ahora que queremos buscar la palabra "trato", no como parte de otra palabra sino exactamente "trato".
Usando el menú Buscar (Ctrl+B), da como resultado todas las celdas donde "trato" aparece de una u otra manera
Para que Excel señale únicamente la celda A2, es decir, realizar una búsqueda exacta, debemos hacer lo siguiente:
Pulsar el botón "Opciones" y en la ventanilla que se abre señalar la opción "Coincidir con el contenido de toda la celda"
Una vez hecho esto, Excel señalará sólo la celda que contiene exactamente la palabra "trato"
Categorías: Varios_
Technorati Tags: Excel
sábado, agosto 12, 2006
Usando funciones XLM (Excel 4) en hojas de cálculo.
Este lenguaje cuenta con una colección de funciones que pueden ser usadas en hojas de cálculo de Excel. Estas funciones nos permiten realizar cálculos que de otra manera sólo serían posibles utilizando Vba (Visual Basic for Applications, el lenguaje macro de Excel desde la versión 5).
Para utilizar estas funciones debemos incluirlas en nombres. Veamos algunos ejemplos.
Ejemplo 1 – Sumando de acuerdo al color de relleno de la celda
Fuente: JKP Application Development Services
Usamos la función XLM INDICAR.CELDA (Get.Cell en inglés) para extraer el número de índice del color del relleno.
Creamos el nombre Numero_de_Color que contiene esta fórmula: =INDICAR.CELDA(63,Hoja1!A2)
Copiamos el nombre a la celda B2 y al rango E2:E11. En la celda B3 introducimos esta fórmula: =SUMAR.SI($E$2:$E$11,B2,$D$2:$D$11)
Como puede verse, el resultado es la suma de todos los valores con color de relleno verde.
Dado que el cambio de color no fuerza a Excel a recalcular la hoja, debemos pulsar F9 para forzar a Excel a recalcular la fórmula cada vez que cambiemos el color en la celda B2.
Otro método es convertir a nuestra fórmula en volátil agregándole una función volátil que no afecte el resultado: =INDICAR.CELDA(63,Hoja1!A2)+AHORA()*0
Algunos otros parámetros de INDICAR.CELDA
14: da VERDADERO si la celda está bloqueada, o FALSO si no lo está
18: nombre de la fuente (font) usada en la celda
19: tamaño de la fuente, en puntos
48: da VERDADERO si la celda contiene una fórmula o FALSO si contiene una constante
62: da el nombre del cuaderno y la hoja activos en la forma
Al final de la entrada hay un enlace para descargar el archivo de ayuda con todas las fórmulas XLM.
Ejemplo 2 – Evaluar texto como fórmula
Fuente: aporte de KL en el foro Exceluciones
Supongamos el siguiente texto en la celda A1
Usaremos la fórmula XLM EVALUAR (Evaluate en inglés) para usar ese texto como fórmula.
Creamos el nombre LeerFormula que contiene la fórmula =EVALUAR(A1&T(HOY()))
Ponemos el nombre en la celda B1 y obtenemos el resultado
Como en el caso anterior, la expresión "&T(HOY()" fuerza a Excel a recalcular la fórmula.
Actualización - Algunas aclaraciones importantes de KL:
1 - Es ESENCIAL subrayar que antes de definir el nombre se debe seleccionar la celda [B1]. Es decir, estamos jugando con la relatividad de la referencia A1 (!!! sin el dolar) con respecto a la B1.
2 - Ademas, si se quiere usar el truco en todas las hojas del mismo libro, la formula deberia introducirse en el siguiente formato (o sea, precediendo la referencia de la celda de un signo de exclamacion): =EVALUAR(!A1&T(HOY()))
Aquí se puede encontrar información sobre el lenguaje de macros Excel 4.0 (XLM) y descargar el archivo con la lista de funciones.
Categorías: Funciones&Formulas_
Technorati Tags: NAMES
viernes, agosto 11, 2006
Listas personalizadas en Excel
veremos que Excel introduce en forma automática los meses subsiguientes: febrero, marzo, abril, etc.
Excel permite crear nuestras propias listas, listas personalizadas. Para hacer esto seguimos los siguientes pasos:
1 – Activamos el menú Herramientas--Opciones. En el diálogo de opciones pulsamos la pestaña "Listas Personalizadas"
2 – En esta ventana podemos agregar o eliminar listas. Listas pueden ser agregadas de dos maneras: introduciendo los valores manualmente en la ventanilla "entradas de lista", o copiándolas de un rango de alguna hoja.
Por ejemplo, si tenemos un rango de celdas con los días de la semana
Abrimos el la ventana de opciones en la pestaña "Listas personalizadas" y señalamos el rango en la ventanilla "importar". Al apretar "importar" los valores del rango aparecen en la ventanilla "entradas de lista" y todo lo uqe queda por hacer es apretar "Aceptar"
Categorías: Varios_
Technorati Tags: Excel
sábado, agosto 05, 2006
Métodos abreviados en MS Excel para aplicar bordes a celdas
Personalmente encuentro esto muy conveniente y siempre trato de recordar estos métodos y usarlos en mi trabajo diario.
Algunos de los atajos más populares son Ctrl+C para copiar, Ctrl+V para pegar, Ctrl+N para aplicar formato de negrita, Ctrl+G para guardar el cuaderno activo.
En Daily Dose of Excel, me encuentro con una entrada sobre métodos abreviados de teclado para aplicar bordes a celdas. Esta entrada me dirige al artículo de Microsoft sobre el tema.
El método consiste en abrir el diálogo de formato de celdas con el atajo Ctrl+1 y luego usar distintos atajos para aplicar bordes o desecharlos.
Este artículo tiene un serio problema para el usuario de Excel configurado en español. Las teclas del método abreviado son erróneas. El artículo al ser traducido automáticamente del inglés no se adapta a la configuración de Excel para trabajar en español. Por ejemplo, si usamos el atajo ALT+T propuesto para aplicar el borde superior, no ocurrirá nada.
Los atajos correctos son:
Categorías: Varios_
Technorati Tags: Excel
Enviar e-mail desde Excel
Así que el tema de las funciones quedará para más adelante, y en esta entrada hablaremos sobre este excelente complemento.
Paras los usuarios menos experimentados aclaremos que complementos (Add-Ins) son aplicaciones que permiten extender la funcionalidad de Excel. Así, por ejemplo, este complemento permite enviar rangos, hojas o todo un cuaderno directamente desde Excel.
El complemento desarrollado por Ron de Bruin y Norman Harper tiene dos versiones, una para Outlook u Outlook Express, y otra sólo para Outlook. Esta última tiene más posibilidades y funcionalidad.
Para utilizar este complemento lo primero que tenemos que hacer es descargarlo e instalarlo en alguna carpeta. La mejor forma de saber dónde guardarlo es abrir el el menú Herramientas--Complementos y apretar el botón Examinar, para ver dónde Excel busca los complementos. Alternativamente se puede guardar en cualquier carpeta y crear el vínculo con el botón Examinar.
Al intentar instalarlo podemos toparnos con algunos problemas, como este anuncio
Lo que tenemos que hacer es, simplemente, seguir las instrucciones:
Una vez instalado el complemento, veremos que en el menú Herramientas aparece un nuevo elemento "SendMail".
Este complemento es no solamente útil sino también muy intuitivo en cuanto a su uso. Las posibilidades son diversas, desde enviar cuadernos completos, hojas o rangos.
Se puede descargar también un manual de instrucciones (en inglés), en formato Word o PDF.
Categorías: Varios_
Technorati Tags: Excel
martes, agosto 01, 2006
Valores únicos en lista de Validación de Datos – Explicación de las fórmulas
Primero analizaremos las fórmulas en uso en las tablas auxiliares.
El rango en la columna C contiene la fórmula
=SI(CONTAR.SI($A$5:A5,A5)=1,A5,"")
En esta fórmula CONTAR.SI cuenta cuantas veces aparece el valor de la celda en la columna A en el rango. Si aparece una sola vez el resultado es el valor de la celda de la misma fila en la columna A. Si aparece más de una vez, el resultado es "blanco".
Con esta fórmula copiamos al rango en la columna C valores únicos de los valores que aparecen en la columna A.
El problema es que esta lista contiene celdas en blanco, y por lo tanto es poco "elegante" para ser usada como referencia para la lista de Validación de Datos.
Nuestra tarea ahora es reordenar la lista en la columna C de manera que los espacios en blanco aparezcan al final de la lista.
Para lograr esto utilizamos una nueva lista auxiliar en la columna D. Lo que queremos es dar un número de orden a las celdas en la columna C que contengan valores y dejar en blanco cuando la celda en la columna C no contenga ningún valor.
Para lograr esto usamos la fórmulas =SI(CELDA("contents",C5)="","",FILA(C5))
La función CELDA da como resultado el contenido de la celda analizada ("contents" es uno de los parámetros posibles; más información se puede obtener en la ayuda on-line de Excel). La función FILA da como resultado el número de fila de la celda. Si la función CELDA da como un resultado distinto de "blanco", el resultado de la fórmula será el número de fila. Este número nos ayudará a reordenar los valores en la lista auxiliar en la columna F.
En la columna F usamos la fórmula
INDICE($C$5:$C$25,COINCIDIR(K.ESIMO.MENOR($D$5:$D$25,FILA()-4),$D$5:$D$25))
La fórmula INDICE da como resultado el valor del miembro de la matriz indicada (en nuestro caso $C$5:$C$25) que ocupa el lugar indicado por el segundo argumento de la función.
Este segundo argumento utiliza la función COINCIDIR con la función (K.ESIMO.MENOR($D$5:$D$25,FILA()-4) como primer argumento.
Esta función devuelve el k-ésimo menor valor de un conjunto de datos. Una explicación sobre esta función se puede encontrar aquí.
La expresión FILA()-4, el segundo argumento de K.ESIMO.MENOR es la posición, dentro de la matriz de los datos que se van a devolver, determinada a partir del menor de los valores. Como empezamos nuestra lista de la fila 5, restamos 4 para obtener 1 en la primera celda del rango, 2 en la segunda y así sucesivamente.
De esta manera veremos aparecer en la lista en la columna F los valores de acuerdo a su aparición en la columna A.
Para evitar resultados #NUM! cuando la celda en la columna D está en blanco, anidamos la fórmula dentro de una función condicional SI, como explicamos en la entrada sobre el tema.
Categorías: Funciones&Formulas_, Varios_
Technorati Tags: Excel