miércoles, 31 de mayo de 2017

Tres métodos diferentes para realizar la operación SUMAPRODUCTO en excel

Hola, hoy vamos a trabajar en la construcción de tres métodos diferentes con los que realizaremos la operación SUMAPRODUCTO en excel. Para los tres métodos, vamos a utilizar fórmulas de excel, revisando las bondades de cada uno.

Vamos a trabajar con un archivo que tiene la siguiente información:


Con estos datos, calcularemos el producto y la sumatoria de los mismos.

En nuestro primer método, vamos a calcular en una columna adyacente, el producto del Lote A y el Lote B:

martes, 23 de mayo de 2017

Extracción de Datos desde Páginas Web Usando Power Query de Excel

Hola, hoy vamos a escribir el primer post sobre extracción de datos. Iniciaremos con la opción de extracción de data de páginas web.

Power query ofrece muchas más fuentes para extraer datos, tales como: SQL Server, Oracle, facebook, listas de Share Point, archivos de Hadoop, MySQL etc. La lista es amplia y diversa y con seguridad suficiente para responder a la mayoría de las necesidades que tengamos.

En los próximos posts, trataremos la extracción de información desde archivos de excel, access, texto y xml.

Iniciemos por crear un nuevo archivo de Excel y vayamos al menú de Power Query:


En la parte izquierda del menú, tenemos las opciones para Obtener datos externos. La primera opción, es para traer datos desde tablas creadas en páginas web. Vamos a probarlo, utilizando la siguiente dirección web: https://msdn.microsoft.com/en-us/library/office/ff834966.aspx

Dicha dirección corresponde a la siguiente página de microsoft:


domingo, 21 de mayo de 2017

Iniciando a trabajar con Power Query en Excel (Business Intelligence - BI) - ¿Cómo Instalarlo?

Hoy vamos a dar inicio a una serie de posts en los que vamos a explorar las herramientas de Business Intelligence (BI) que Microsoft Excel trae y que nos van a permitir realizar análisis con enormes volúmenes de datos (incluso archivos de Hadoop - Big Data), con diversidad de fuentes y lo mas importantes, diseñadas por usuarios finales, sin necesidad de tener conocimientos en programación y sin tener que recurrir a un batallón de miembros de TI.

Las herramientas con las que trabajaremos son: Power Query, Power Pivot y Power View. Un poco más adelante, cuando ya tengamos dominadas estas herramientas, vamos a pasar a trabajar con Power BI, que incorpora estas tres últimas en una práctica e intuitiva solución para diseñar tableros de control de una manera rápida, sencilla pero poderosa.

¿Qué es Power Query? Básicamente se trata de un complemento para Excel, que nos va a permitir realizar procesos de extracción de datos desde múltiples fuentes, transformación de los mismos y cargue para uso final. Es lo que en el argot de las bases de datos se conoce como ETLs (Extract, Transform y Load). Solo que en esta oportunidad, Microsoft lo pone al alcance y al nivel de usuarios finales, no hace falta ser un técnico para poder utilizarlos.

Los datos que carguemos usando Power Query, los podemos cargar directamente a excel, en una tabla en una de las hojas que componen el libro, o podemos decirle que cargue el resultado del query en: El modelo de datos de Excel. Y ¿qué es eso? El modelo de datos es un motor de base de datos interno, que hace parte del archivo de excel y que se encarga de optimizar las operaciones que vamos a realizar con nuestros datos y con el almacenamiento de los mismos.

Veamos entonces, como instalar Power Query en nuestro Excel. Lo primero que vamos a hacer, es abrir excel desde cero y decirle que nos cree un nuevo libro de trabajo:

viernes, 19 de mayo de 2017

Proteger nuestro código de vba mediante el uso de una contraseña

Hoy vamos a ver ¿cómo proteger nuestras macros mediante el uso de una contraseña?. Muy útil para evitar que alguien altere nuestro código, o que tenga acceso a cadenas de conexión que incluyen nombres de usuario y claves de bases de datos o de otros sistemas.

Para hacerlo, abrimos un archivo que tenga una macro y llamamos el editor de vba: Alt + F11:


Damos clic derecho en el módulo que contiene la macro y del menú desplegable seleccionamos la opción: Propiedades de VBAProject...





domingo, 14 de mayo de 2017

Ejecutar una macro al momento en que abrimos nuestro archivo de excel - vba

Hola, hoy vamos a escribir un poco de código en vba. Lo que vamos a hacer es construir una macro que se ejecute en el mismo instante en que damos doble clic en un archivo de excel y este se abre. Esta funcionalidad puede ser muy útil para limpiar información de nuestro archivo, para iniciar algunas variables en el mismo, para guardar una copia del archivo etc. 

Todo depende del problema que estemos abordando. En mi caso, la voy a utilizar para que el usuario vea un msgbox.

Iniciemos entonces, llamando nuestro editor de vba con Alt + F11 e insertemos un nuevo módulo:


Vamos a dar doble clic en ThisWorkbook:


jueves, 11 de mayo de 2017

Práctico Resumen de Funciones de Texto de Excel

Hoy vamos a ver un corto pero práctico resumen de las funciones para tratamiento de textos que más suelo utilizar en excel.

Las funciones con las que vamos a trabajar son: IZQUIERDA( ), DERECHA( ), EXTRAE( ), ENCONTRAR( ), LARGO( ), MAYUSC( ) y MINUSC( ).

Vamos entonces a usar como ejemplo la cadena de texto= America. Que consta de 7 caracteres:


Espero les sirva. Hasta una próxima.

miércoles, 10 de mayo de 2017

Trabajando con los argumentos del método GetOpenFilename en vba

En el post anterior tuvimos nuestro primer contacto con el método GetOpenFilename. Hoy vamos a revisar los argumentos opcionales que podemos incluir cuando nuestra macro realice la llamada al método.

La siguiente es la estructura completa del método con sus argumentos:

Application.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)

Donde:

FileFilter: Es una cadena de texto que nos sirve para aplicar un criterio de filtrado.
FilterIndex: Es un número que funciona como indice para indicar cuál es el criterio de filtrado a usar.
Title: Sirve para personalizar el titulo del cuadro de diálogo. Si se deja en blanco, por defecto aparecera: Abrir.
ButtonText: Solo aplica para Mac.
Multiselect: Acepta el valor True (verdadero) o False (falso). True nos permite seleccionar más de un archivo a la vez. False solo nos permite seleccionar un archivo.

Recordemos que cuando llamamos el método sin ninguno de sus argumentos lo que tenemos es el siguiente cuadro:


Vamos a hacer el llamado pasando un valor para el argumento FileFilter: 

martes, 9 de mayo de 2017

Usando el método GetOpenFilename de vba en nuestras Macros

Hoy vamos a trabajar con el método GetOpenFilename del objeto Application en Excel

Dicho método, lo podemos utilizar en las macros que escribamos en vba, cuando necesitemos que el usuario tenga que interactuar con la aplicación y deba suministrar un nombre de archivo y una ruta para que la macro realice alguna operación con el mismo.

Ademas, al hacerlo de esta forma le vamos a dar un toque mucho más profesional a nuestra macro.


Cuando invocamos el método GetOpenFilename abre el siguiente cuadro de diálogo:



Este cuadro es familiar para todos los que trabajamos con Excel o con cualquier aplicación de Office. Basta con navegar en las distintas carpetas hasta encontrar el archivo que queremos, seleccionarlo y dar clic en el botón Abrir.

 Lo que vamos a hacer es escribir una sencilla macro como ven a continuación:



La primera linea, llama el cuadro de diálogo y asigna el valor de retorno del mismo a la variable arch. Este método nos devuelve una cadena de texto que contiene el nombre del archivo y la ruta en la que este se encuentra.


sábado, 6 de mayo de 2017

Trabajando con la función FORMULATEXTO( ) de Excel. Muy útil para documentar nuestros modelos.

Hace un par de años, leyendo un libro de Modelación Financiera encontré un código en vba muy útil para documentar los distintos modelos que tenemos que construir en nuestro trabajo y en la universidad. Dicho código lo que hacía era extraer la fórmula que teníamos en una celda determinada y dejarla visible al lado como una cadena de texto.

Hoy, excel ya cuenta con una función para realizar esta tarea y no necesitamos escribir código en visual basic ni crear una función personalizada.

Vamos a escribir una fórmula sencilla en una celda de un archivo de excel:


Esta función nos sirve para calcular la tasa nominal. En este caso, estamos calculando la tasa nominal equivalente para una tasa efectiva anual del 30%. Si quieren conocer un poco más sobre esta función no olviden leer este post: Calcular la tasa mensual equivalente a partir de la efectiva anual utilizando la función: TASA.NOMINAL( )

Vamos a continuar llamando en A2 la función: FORMULATEXTO( ) de la siguiente manera:


jueves, 4 de mayo de 2017

Trabajando con Transacciones en Microsoft Access - vba

Hoy vamos a trabajar con transacciones en Microsoft Access. Así es, esa pequeña base de datos, que en mi opinión es un gran caballito de guerra, también trabaja con transacciones. 

Vamos a empezar por definir que es una transacción, en la página de Microsoft nos dicen que una transacción es: 

"Una transacción es una secuencia de operaciones realizadas como una sola unidad lógica de trabajo. Una unidad lógica de trabajo debe exhibir cuatro propiedades, conocidas como propiedades de atomicidad, coherencia, aislamiento y durabilidad (ACID), para ser calificada como transacción."

Lo que quiere decir que una transacción se compone de mas de una operación en una base de datos y que esta tiene validez únicamente si se completan todas o ninguna.

El ejemplo clásico de esto, son las dos operaciones que se realizarían en el aplicativo de un banco al momento de debitar una cuenta por un monto y acreditar otra por dicho valor. 

Dicha operación solo tiene validez si ambas operaciones se ejecutan. ¿Pensemos que pasaría si solo se debita la primera cuenta? Tendríamos una disminución en el saldo de la misma y la cuenta de destino no registraría ningún incremento, es decir: el dinero quedaría en una especie de limbo.

Para evitar esto, las dos operaciones se deben empaquetar en una transacción, así, esta solo tendrá validez si se ejecutan las dos o ninguna.

Pasemos de la teoría al ejemplo. Vamos a trabajar con una sencilla base de datos que solo tiene una tabla con la siguiente información:


Nuestra misión es debitar (disminuir) la cuenta de Eduardo en $100 y acreditar (incrementar) la cuenta de Diana en ese mismo valor utilizando una transacción.

miércoles, 3 de mayo de 2017

Trabajando con Excel Solver. Ejercicio 1: Problema de mezcla de producción y venta.

Hoy vamos a trabajar con la herramienta Solver, que es un complemento que está incluido en excel. Hay algunas versiones distintas que podemos descargar y pagar por ellas. Son más avanzadas y tiene funcionalidades adicionales, pero para los ejercicios que vamos a desarrollar en el blog, el que tiene por defecto excel es más que suficiente.

Empecemos entonces por entender como se activa este complemento. Damos clic en la opción archivo de nuestra barra de herramientas:


Damos clic en Opciones:


Y luego damos clic en la opción: Complementos:

lunes, 1 de mayo de 2017

Utilizando la función BUSCARH para obtener información de una tabla de excel

Hola a todos, recuerdan la función BUSCARV que vimos en este Post ? Hoy vamos a trabajar con otra función de búsqueda muy importante, algo así como el complemento de buscarv: BUSCARH. Si recuerdan, BUSCARV necesita que le digamos cuál es la tabla donde se va a ejecutar la búsqueda y el valor a buscar. 

BUSCARV toma la primera columna como el referente para encontrar el valor buscado y devuelve el valor que se encuentra en la columna que incluimos en los argumentos:


BUSCARH hace la misma operación, pero en vez de tomar la primera columna como referente de búsqueda, toma es la primera fila de la tabla y nos devuelve el valor que encuentra en la fila que le indiquemos: