jueves, 30 de marzo de 2017

Semaforo de revision | Ejercicio de macros en Excel



Hola, bienvenidos de nuevo al canal Tips y Formulas en Excel.

Hoy les presentare un ejercicio sencillo que nos permitirá ir conociendo el funcionamiento de VBA en Excel, con la creación de un semáforo de selección aleatoria con dos macros.

Supongamos que somos los guardias de seguridad en una empresa y queremos revisar aleatoriamente al personal a la salida de turno. Hay muchas formas de hacerlo y hoy te propongo esta opción en Excel

En este ejercicio utilizaremos solamente dos hojas de cálculo en el libro, una de las cuales mantendremos oculta. La hoja que mantendremos oculta contendrá los datos para la selección aleatoria y la que visualizaremos nos indicara de forma rápida y sencilla si la persona puede pasar libremente o fue seleccionada para la revisión.

Iniciamos con un libro nuevo, al que, dependiendo del a configuración de nuestro programa le agregaremos o borraremos hojas para dejar únicamente las dos que necesitaremos. En la hoja uno, seleccionaremos la celda A1 para usarla como fuente de información. Esta celda cambiara de valor cada vez que alguien presione un botón y cuando pase de 15 volverá a tomar el valor de 1.

Para ello necesitaremos nuestra primer macro, la cual primero seleccionara la celda A1, después le sumara 1 al valor actual y procederá a realizar una acción simple:

Si el valor de la Celda A1 es igual a 16, entonces reiniciara el valor a 1 y ejecutara la macro Sortear.

La segunda macro, llamada Sortear en este caso, realizara los siguientes pasos:

Volver visible la hoja 2, seleccionar el rango Sorteo, sortear los valores de la última columna de mayor a menor, seleccionar el rango A1, ocultar la hoja 2, seleccionar la hoja 1 y el rango A1.

Para mostrar el resultado hemos fusionado el rango de celdas de C1 a K16, en el cual escribimos una formula Vlookup (o BuscarV en español) para que nos busque el valor de la celda A1 en el rango lista y nos traiga el valor que le corresponda.

Damos formato condicional a la celda fusionada para que si el empleado no fue seleccionado para revisión aparezca en verde y si le toca revisión aparezca en rojo.

 Insertamos un botón de control al que le asignaremos nuestra primer macro y listo, ya tenemos un semáforo de control que seleccionara aleatoriamente un empleado entre 15 para ser revisado.

¿Quieres hacer más útil esta macro? ¿Qué te parecería poder modificar la frecuencia de la revisión?

Te lo dejo de tarea.

Visita el siguiente link para bajar el archivo en excel con las macros:


martes, 27 de agosto de 2013

Formula Days360()

Muchas veces necesitamos saber cuántos días han pasado entre una fecha y otra, ya sea para calcular antigüedades o para usarla para el cálculo de intereses. En Excel se puede obtener esta información de manera muy simple al restar a la fecha más reciente la fecha más antigua. Esto se puede hacer así, ya que para el programa las fechas son un consecutivo de números, formateados para mostrarse como una fecha reconocible.

Otra forma muy simple de conocer el número de días entre fechas es utilizando la formula =Days360(). Sin embargo, hay que tomar en cuenta que utilizando esta fórmula, un año calendario se calcula con 360 días. Esta forma de calcular el año es utilizado principalmente en cálculos financieros o de intereses.

La nomenclatura para utilizar esta función es =days360(FechaIni,FechaFin), donde:

FechaIni es la fecha inicial del cálculo. En la mayoría de las ocasiones suele ser la fecha más antigua.

FechaFin es la fecha final del cálculo. Suele ser la fecha más reciente.

Por si sola esta fórmula podría no ser muy útil, sin embargo, al combinarla con otras formulas resulta muy útil.

Saludos

martes, 10 de abril de 2012

Formula O (OR)

La formula O (OR  en ingles) es una fórmula lógica que devuelve valores Verdadero o Falso. Es muy útil para evaluar situaciones y combinada con otras formulas es una fórmula muy poderosa.
Esta fórmula evalúa dos o más operaciones lógicas y devuelve un valor Falso si, y solo si, todos los elementos evaluados son falsos. Con uno solo que sea verdadero, la formula devuelve un valor Verdadero.
Su sintaxis es como sigue:
=O(1evaluacion, 2evaluacion, …)
O es el nombre de la formula.
1evaluacion es la primer condición que la formula debe evaluar y está conformada por los datos a evaluar y un operador lógico como mayor que, menor que, igual, diferente, etc.
2evaluacion es la segunda condición que la formula debe evaluar y está conformada por los datos a evaluar y un operador lógico como mayor que, menor que, igual, diferente, etc.
Es muy útil combinándola con la formula SI (If) ya que evalúa mas de una condición y vuelve más flexible la utilización de la formula SI.

domingo, 8 de abril de 2012

Formula Y (And)

La formula Y (And en ingles) es una fórmula lógica que devuelve valores Verdadero o Falso. Es muy útil para evaluar situaciones y combinada con otras formulas es muy útil.
Esta fórmula evalúa dos o más operaciones lógicas y devuelve un valor Verdadero si, y solo si, todos los elementos evaluados son verdaderos. Con uno solo que sea falso, la formula devuelve un valor Falso.
Su sintaxis es como sigue:
=Y(1evaluacion, 2evaluacion, …)
Y es el nombre de la formula.
1evaluacion es la primer condición que la formula debe evaluar y está conformada por los datos a evaluar y un operador lógico como mayor que, menor que, igual, diferente, etc.
2evaluacion es la segunda condición que la formula debe evaluar y está conformada por los datos a evaluar y un operador lógico como mayor que, menor que, igual, diferente, etc.
Es muy útil combinándola con la formula SI (If) ya que evalúa mas de una condición y vuelve más flexible la utilización de la formula SI.

jueves, 29 de marzo de 2012

Formula Si (IF)

La formula Si (IF en ingles) es una función lógica que nos permite evaluar una condición y  realizar una acción para una respuesta verdadera y otra para una respuesta falsa. Es de suma utilidad para crear formatos, formularios y otras funciones.
La sintaxis de la formula es como sigue:
=Si(Condición, Verdadero, Falso)
Si es la formula y le indica a Excel que realice una evaluación y que realiza algo si la respuesta es verdadera y otra en caso de que sea falso.
Condición es la condición lógica que se evaluara. Debe ser de tipo que devuelva un resultado verdadero o falso. Se utilizan los evaluadores igual (=), mayor que (>), menor que (<), igual o mayor que (=>), igual o menor que (=<)  ó diferente a (<>).
Verdadero es la acción que la formula realizara en caso de que la condición devuelva un resultado verdadero.
Falso es la acción que la formula realizara en caso de que la condición devuelva un resultado falso.
Podemos evaluar texto, números,  referencias a celdas o, inclusive, resultado de operaciones o variables.
Lo que vuelve muy poderosa a esta función es que podemos anidar otras formulas y funciones y hacerla tan estructurada como deseemos.
Ejemplo:
=Si(condicion1, si(condicion2, si(condicion3, verdadero3, falso3), falso 2), falso1)
Condiciones para su uso:
  • Cuando se quiere evaluar texto hay que escribirlo entre comillas. Para evaluar vacio se escribe “”
  • Aunque Excel tiene una opción para verificar los cierres de comillas, es necesario tener mucha atención en su uso.
  • Se puede dejar sin determinar que acción realice si es falsa la respuesta a la evaluación, pero siempre es necesario establecer la acción para la respuesta verdadera, pues si se omite nos devolverá un resultado 0.

lunes, 26 de marzo de 2012

Formula BuscarV (VLookUp)

Una de las formulas más útiles para contadores en Excel es, sin duda, la de BuscarV (VLookUp en ingles). Esta fórmula nos ayuda a traer información localizada en una tabla o rango, en la misma hoja, en el mismo libro o en hojas en libros diferentes al que estamos trabajando.
La sintaxis de la formula es como sigue:
=BuscarV(Que, Donde, Columna, 0/1)
BuscarV = es el nombre de la formula y le señala a Excel que tiene que hacer.
Que = Es el dato que se va a ir a buscar en la primer columna de la tabla o rango donde se encuentran los datos. Podemos buscar números o texto. Podemos escribir lo que queremos buscar o referenciarlo a una celda de Excel. Para buscar texto debemos escribirlo entre comillas, ejemplo “busca esto”
Donde = Es la tabla o rango donde se busca la información.
Columna = Este dato es un numero que hace referencia al número de columna donde está el dato que queremos traer. La primera columna siempre es donde se busca.
0/1 = Exacto o aproximado. Este dato es opcional y le indica a Excel si queremos que realice una búsqueda exacta o una búsqueda aproximada. La diferencia es que si solicitamos una búsqueda exacta y no existe el dato a buscar, el sistema nos devuelve un error.
Un ejemplo muy básico seria el cálculo de Impuesto Sobre la Renta, como lo hacemos en México, donde hay una tasa impositiva y una cuota fija determinados por el monto de ingreso obtenido en un periodo de tiempo.  En el caso del ejemplo usamos la tasa de retención anual del 2011.
Lo primero es tener nuestra tabla de ISR:
A este rango lo hemos nombrado tablaISR y así nos referiremos en las formulas.
Luego escribimos los elementos del cálculo:
En el campo de Tasa escribimos la siguiente fórmula:
=BUSCARV(B3,tablaISR,4,1)/100
Lo que hará el sistema es buscar el valor de B3, en este ejemplo los $95,000 en el rango tablaISR, traer el dato de la cuarta columna, buscando el dato más próximo al buscado y dividiendo el resultado entre cien para convertirlo en porcentaje.
En el campo de Cuota fija escribimos la siguiente formula
=BUSCARV(B3,tablaISR,3,1)
Lo que hará el sistema es buscar el valor de B3, en este ejemplo los $95,000 en el rango tablaISR, traer el dato de la tercer columna y buscando por el dato más próximo al buscado.
Las formulas quedarían como sigue:

Se deben seguir las siguientes reglas con el uso de la función BuscarV:
  • Los datos de la tabla o rango donde se buscara la información debe estar ordenado por la primer columna de menor a mayor.
  • La formula devuelve como resultado el primer dato encontrado. Esto es, si en nuestra tabla hay dos o más datos iguales, únicamente el primero será tomado en cuenta.
  • Si se busca el dato exacto y este no está en la tabla o rango, la formula devolverá un error.

miércoles, 14 de marzo de 2012

Rangos

En Excel, un rango se refiere a la dirección de una celda o conjunto de celdas donde se captura información. Esto es, la ubicación donde capturamos datos, formulas, damos formato, manipulamos información, etc.




Es importante saber cómo podemos utilizarlos y referirnos a ellos de diversas maneras, a fin de hacer más eficiente el trabajo y la grabación de macros. Muchos errores de novato son cometidos por un inadecuado uso de los rangos.

Excel reconoce los rangos por la nomenclatura que le asigna a las celdas que lo integran, como ejemplo el rango A1:B2 se refiere a las celdas A1, A2, B1 y B2. Esto es muy cómodo para Excel, pero para referirse a él en funciones o macros puede ser un tanto engorroso. Para ahorrarnos trabajo y esfuerzo, Excel nos permite nombrar a los rangos con nombres más fáciles de recordar.

La forma más rápida de asignar nombre a un rango es seleccionar el rango, introducir el nombre en la casilla de dirección y presionar la tecla enter.

Otra opción es seleccionar la pestaña Formulas y  después el icono Asignar nombre a un rango. Aparece una cuadro de dialogo donde podemos seleccionar el nombre que tendrá el rango, el ámbito de aplicación del rango, algún comentario y la referencia.

Una tercera opción para nombrar un rango es con Visual Basic al momento de escribir una macro. Primero se debe escribir la instrucción para que se seleccione el rango y después la instrucción para que se asigne el nombre. Ejemplo:

Range(“D2:D6”).Name = “nombre”

Las dos sentencias anteriores primero seleccionan las celdas D2, D3, D4, D5 y D6 y después le da el nombre de rango nombre a dicha selección.

Esta última opción tiene la ventaja que puede cambiarse dinámicamente el nombre a un rango, con lo que las posibilidades de uso son muchas.

Ya que tocamos el tema de Visual Basic, los rangos son objetos que se identifican con la propiedad Range. En próximos escritos se comentara y profundizara en este tema, ya que es fundamental para una buena programación en Visual Basic y, por ende, en las macros.

Existen las siguientes restricciones para asignar los nombres de rango:

  • No puede ser una referencia de Excel, como por ejemplo: A1.
  • No puedes dejar espacios en blanco en el nombre, como por ejemplo: “nombre macro”.
Saludos