You are on page 1of 83

#Reto40Excel v.

2015

Una vida sin retos carece de sentido

¿Quieres aanzar tus


conocimientos
y potenciar tus
habilidades en Excel?
¡Éste reto es para tí!

Joshua Earle unsplash.com

www.EspecialistasEnExcel.com
Soluciones y Capacitaciones Profesionales en Excel
Ing. Alfonso Lenis, Microsoft Excel MVP
Introducción
Este libro no se puede considerar una capacitación formal de un tema especíco,
ya que en el Reto40Excel v.2015 se abordaron varias herramientas de Excel y
cada herramienta fue un caso distinto en el cual se explicó paso a paso con el
objetivo de aprender y de replicar lo mismo a través de un ejercicio a resolver.

En este texto se detallan ejercicios teniendo en cuenta herramientas de Excel


como son funciones condicionales, formato condicional, funciones de búsqueda,
tablas dinámicas, escenarios, grácos y macros, todo con un enfoque 100%
práctico y detallado que se puede replicar en cada ejercicio a resolver.

La pretensión principal que se tiene con el Reto40Excel y con este libro es conocer
la forma en que se pueden abordar determinadas necesidades y cuya
herramienta de solución es Excel. Las personas que trabajan constantemente
con Excel conocen diferentes herramientas u opciones de este excelente
software, sin embargo a la hora de afrontar una situación concreta siempre
optan por lo que siempre han hecho sin tener en cuenta o por desconocimiento
que con Excel se puede solucionar lo mismo de diferentes formas, lo más
importantes es que la forma que se seleccione sea óptima y que se ajuste a lo que
se requiere, cada vez el tiempo es más escaso y si algo no es óptimo ocasionará
pérdida de tiempo y esto es dinero.
Ing. Alfonso Lenis
Microsoft Excel MVP

Contenido
Reto Pág.
1 Formato Condicional para una Fila 1
2 Encontrar los 3 valores más altos en Excel 3
www.EspecialistasEnExcel.com

3 Función Si Anidada en Excel 5


4 Extraer datos de Excel a partir de una cadena de texto 7
5 Función BuscarV con Si.Error 9
6 Macro de Excel para ocultar hoja 11
7 Listas desplegables dependientes en Excel 13
8 Validación de datos en Excel para NO ingresar datos repetidos 15
#Reto40Excel

9 Nombres de rangos en Excel dinámicos 17


10 Macro en Excel para No permitir la eliminación de hojas 19
11 Totalizar rangos en Excel dinámicamente 21
v.2015

12 Filtros Avanzados en Excel 22


13 Filtros Avanzados con Operadores lógicos 24
14 Buscar Objetivo en Excel 26
15 Macro en Excel para Ocultar Filas 27
16 Personalizar resultado con iconos de Formato Condicional en Excel 29
17 Consultar tablas en Excel dinámicamente con Función INDIRECTO 31
18 Macro en Excel para Generar copia de Archivos Automáticamente 33
19 Búsqueda en dos Dimensiones con BuscarV 35
20 Sumar las últimas columnas en Excel automáticamente 36
21 Tablas dinámicas, mostrar meses que no tienen registro 38
22 Actualizar una Tabla Dinámica automáticamente 40
23 Formato Condicional: Identificar con color si Existe en Excel 42
24 Macro en Excel con ejecución al Abrir el archivo 44
25 Gráficos combinados en Excel 46
26 Macro en Excel para ordenar Alfabéticamente las hojas 48
27 Función BuscarV con Comodines 50
28 Crear Serie de datos en Excel 52
29 Formato condicional: Identificar fechas de un mes en Excel 54
30 Función SUMAR.SI para un rango de fechas en Excel 55
31 Crear gráfico en Excel a partir de varias hojas 57
32 Formato Condicional: Identificar con iconos valores correctos e
incorrectos 59
33 Inputbox para Ingreso de Datos en Excel y Proteger Hoja 61
34 ¿Cómo crear Funciones con VBA Excel? 63
35 BuscarV en Excel para encontrar el 2do, 3er, 4to… valor coincidente 65
36 Utilizando un ComboBox en Excel como un hipervínculo 67
37 Ejecutar Macro en Excel cuando cambie el valor de una Celda 69
38 Macro en Excel para Eliminar fila con doble Click 71
39 Simule resultados con los Escenarios de Excel 73
40 Consultar empleado en Excel mostrando sus datos y su Foto 75
Prólogo
Hola y felicidades estimado Especialista en Excel.

Quiero transmitirte el enorme gusto que tengo en escribir estas palabras para ti,
de uno de mis mejores colegas en marketing por internet, gran amigo y experto
#1 hispano en el dominio de Excel.
No solo eso, sino que Alfonso es muy enfocado en los trabajos que realiza y
recientemente fue reconocido por Microsoft como uno de sus principales
expertos y avalado para dar entrenamiento sobre el manejo de sus plataformas.
Así que, ahora nace esta gran obra donde Alfonso nos expone 40 ejercicios
prácticos, temas distintos de Excel, cada ejercicio o cada caso que se resuelve a
través de Excel, y adicional por cada caso se encuentra un ejercicio para que lo
resuelvas basado en lo que te explicó en el ejercicio.

El libro es afortunadamente un paso a paso de cómo realizar 40 de los


principales ejercicios que un profesional requiere hacer en Excel, con lujo de
detalle y con la maestría que tiene Alfonso para enseñar.
Sin duda alguna este libro es una capacitación de uso regular, donde puedes
volver cada vez que tengas dudas sobre cómo resolver uno de los ejercicios que
se plantean aquí. Cada herramienta es un caso distinto, en el cual se explicó
paso a paso con el objetivo de aprender y de replicar lo mismo a través de un
ejercicio a resolver.

Te dejo en excelentes manos, con el Presidente y Fundador de Especialistas en


Excel, la autoridad # 1 en español para aprender paso a paso el dominio de la
herramienta Excel, y de manera práctica y a tu propio ritmo.
Disfruta esta obra con la mente abierta y dispuesta a aprender los conocimientos
que Alfonso ha tenido para compartirnos y de los cuales se seguirá desarrollando
para llevar tu dominio de Excel al siguiente nivel.

Te deseo una provechosa y productiva lectura,

Tu amigo

Victor Capetillo
Creador del IMPLACABLE
Leader System
Ing. Alfonso Lenis
Reto #1 de 40 Microsoft Excel MVP

Formato Condicional
para una Fila
El Formato condicional en Excel permite
identificar el cumplimiento o no de
determinadas condiciones en la hoja de

www.EspecialistasEnExcel.com
cálculo, dichas condiciones se deben
definir en la configuración o aplicación
de dicha herramienta para poder
determinar en que momento o cuando
se aplica el formato designado.

#Reto40Excel
Imagen 1.

v.2015
A partir de los datos que se muestran en la imagen 1. Se debe identificar con colores
Ejercicio
a Resolver

suponiendo que la meta de venta de los vendedores


es de US$25.000, se debe tener en cuenta las siguientes condiciones: si las ventas
del vendedor superaron las metas de venta se le asignará un color verde, si las
ventas se igualaron a la meta de venta se le asignará el color azul, si las ventas
fueron inferiores a la meta de venta se asignará el color rojo.

Solución:

Ÿ 1. Se debe totalizar las ventas de cada vendedor, teniendo en cuenta


que el valor del producto es fijo, haciendo uso de una fórmula sencilla
=$B$7*F7 en la primera celda y luego copiar la celda hasta el último
vendedor. (Nótese que $B$7 es una referencia absoluta, es decir que el
valor de la celda B7 siempre está fija)
Ÿ 2. Seleccione las celdas de la columna “Total”
desde la celda del primer vendedor hasta la
celda del último vendedor.
Ÿ 3. Luego, en la ficha de inicio damos click en
Formato Condicional->Nueva Regla, en la
ventana que aparece (Imagen 2.) damos
click en; Utilice una fórmula que determine Imagen 2.
las celdas para aplicar formato.
Ÿ 4. Aparecerá una ventana (Imagen 3.), en la parte de abajo de la
ventana aparece una caja de texto donde
colocaremos la fórmula dependiendo de la
condición que queremos aplicar, más abajo un
botón “Formato”
Ÿ 5. Para las ventas mayores a 25.000 colocaremos
el color de relleno verde, escribiremos la fórmula
=$G10>25000, observe que la columna G tiene Imagen 3.

1
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #1 de 40
el símbolo $ para mantener la columna fija, luego damos click en el
botón “Formato”, seleccionamos la pestaña “Relleno” y escogemos el
color verde, damos click en aceptar y nuevamente aceptar.
Ÿ 6. Para las ventas iguales a 25.000 colocaremos el color de relleno azul,
análogamente al punto (5) solamente cambiaremos el símbolo de > por
el =, por tanto la fórmula quedaría =$G10=25000 y el color azúl lo
colocamos de la misma forma con el botón “Fortmato”.
www.EspecialistasEnExcel.com

Ÿ 7. Para las ventas menores a 25.000 colocaremos el color de relleno


rojo, análogamente al punto (5) solamente cambiaremos el símbolo de
> por el <, por tanto la fórmula quedaría =$G10<25000 y el color rojo lo
colocamos de la misma forma con el botón “Fortmato”.
Ÿ
El ejercicio debería quedar de la siguiente forma:
#Reto40Excel
v.2015

Imagen 4.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/dia-1-formato-condicional-en-excel-para-una-fila-reto40excel/

2 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #2 de 40 Microsoft Excel MVP

Encontrar los 3 valores


más altos en Excel

www.EspecialistasEnExcel.com
#Reto40Excel
Imagen 1.

v.2015
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere extraer los datos de
la lista de vendedores, los 3 vendedores cuyo total de ventas fueron los más altos. Sin
embargo, mostraremos no solamente los valores más altos sino también el ID del
vendedor y el nombre

Solución:

Ÿ 1. En la columna “Total” de la tabla del lado derecho, en la celda K6


escribimos la fórmula =K.ESIMO.MAYOR($E$6:$E$23;1), donde
$E$6:$E$23 es el área de valores que serán evaluados además, nótese
los signos pesos para hacer una referencia absoluta, el número 1 en la
fórmula es para decirle a la fórmula que encuentre el primer mayor.
Ÿ 2. Copiamos la fórmula de la celda K6 a la celda K7, como la referencia
es absoluta no cambiará el área de valores a evaluar, cambiamos el
segundo parámetro de la fórmula, 2 en vez de 1 quedando la fórmula
así; =K.ESIMO.MAYOR($E$6:$E$23;2), haciendo esto encontraremos
el segundo valor más alto
Ÿ 3. Análogamente para el tercer valor más alto copiamos la fórmula y
cambiamos el segundo parámetro quedando así;
=K.ESIMO.MAYOR($E$6:$E$23;3), el resultado debe ser como se
muestra en la (Imagen 2.)
Ÿ 4. Para encontrar el ID y el Nombre del vendedor, utilizaremos las
funciones COINCIDIR y DESREF. Con la función COINCIDIR
encontraremos la posición del valor hallado, ésta posición es
específicamente entorno a la Imagen 2.
tabla, en la imagen 3.
podemos ver las posiciones

3
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #2 de 40
en recuadros rojos en la tabla de los
valores encontrados.
Ÿ 5. En la tabla que se muestra en la imagen
2. Nos ubicaremos en la columna
“Posición” en la primera celda H6 y
escribiremos la siguiente fórmula
=COINCIDIR(K6;$E$6:$E$23;0), el
www.EspecialistasEnExcel.com

primer parámetro hace referencia a el


valor que queremos encontrar, en éste Imagen 3.
caso 30.000 como se ve en la imagen 2.
ubicado en la celda K6, el segundo parámetro es el área de valores
donde queremos encontrar el valor, es decir la columna “Total” imagen
3. y el parámetro 0 es una coincidencia exacta, es decir que va a buscar
#Reto40Excel

el valor exacto en los diferentes valores.


Ÿ 6. Análogamente para las posiciones 5 y 7 (Imagen 2.), copiamos la
fórmula de (5) que está en la celda H6, en la celda H7 y H8. Observe que
v.2015

en la fórmula =COINCIDIR(K6;$E$6:$E$23;0) hay una referencia


absoluta $E$6:$E$23 para que no cambie el área de valores donde
estamos buscando, el único parámetro a modificar sería K6, el cuál
cambiará automáticamente por K7 y K8 cuando se copie la fórmula en
las filas siguientes pues no tiene una referencia absoluta. (Imagen 4.)
Ÿ 7. Ahora, en la columna “Id Vendedor” en la primera celda I6 colocamos
la fórmula =DESREF($E$5;H6;-3), Imagen 4.
donde el primer parámetro es una
celda de referencia, en éste caso es la
celda $E$5 “Total” de la (Imagen 3).
El segundo parámetro H6 es la posición encontrada en el punto (5), en
éste caso la posición es 16 (realice el conteo de filas desde la celda “Total” en
la Imagen 3. Hasta la celda donde el valor sea 30.000 ). El tercer parámetro
-3, luego de estar en la posición 16 cuenta las columnas hacia la
izquierdo 3 posiciones (si quisiera contar hacia la derecha se cambiaría el
valor negativo es decir por 3), así, encontraremos el valor del ID.
Ÿ 8. Copiamos la fórmula anterior (7) en las celdas I7 e I8 para encontrar
los ID de las posiciones correspondientes.
Ÿ 9. Para hallar el nombre del vendedor hacemos un procedimiento
análogo, pero en la columna “Nombre” de la Imagen 4. En la celda J6
colocamos =DESREF($E$5;H6;-3), lo único que cambiaremos será el -3
por un -2 para hallar el Nombre y no el ID. Luego, copiamos la fórmula
en las celdas siguientes y el resultado será
Imagen 5.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/dia-2-encontrar-los-3-valores-mas-altos-en-excel/

4 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #3 de 40 Microsoft Excel MVP

Función Si Anidada
en Excel
La Función SI en Excel permite Imagen 1.

asignar un valor o ejecución de


determinado cálculo con base en el

www.EspecialistasEnExcel.com
cumplimiento de una o dos
condiciones de una celda, facilitando
la aplicación de condiciones en Excel.
La Función SI se compone de 3
argumentos los cuales son: condición
o prueba lógica, valor si verdadero o

#Reto40Excel
lo que debe pasar si se cumple la
condición y valor si falso que
corresponde a lo que debe pasar si la

v.2015
condición no se cumple.
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se debe dar bonificación a cada
vendedor con base en el total de ventas, por lo cual se debe tener en cuenta las
siguiente condiciones: $0 para valores menores a 2 millones, $4.000 si está entre 2 y
10 millones, 50.000 entre 10 y 20 millones, $200.000 más de 20 millones

Solución:

Ÿ 1. En éste tipo de ejercicios es importante entender las condiciones que


se van a generar. La razón de ser SI anidada es porque hay condiciones
dentro de condiciones. La estructura de la función SI anidada es,
=SI(condición;SI(condición;si_verdadero;si_falso);SI(condición;si_ve
rdadero;si_falso)), note que hay condiciones en el valor si_verdadero
y/o si_falso en el primer SI, esto puede hacerse las veces que sea
necesario y en respuesta verdadera y/o falsa de la condición.
Ÿ 2. Pensemos las condiciones que se van a utilizar, necesitamos revisar
los valores de la columna “Total” (Imagen 1.) por tanto la fórmula sería:
=SI(H6<2000000;0;SI(Y(H6>=2000000;H6<10000000);4000;SI(Y(
H6>=10000000;H6<20000000);50000;200000))).
Ÿ 3. Analice la fórmula anterior detenidamente para una mejor
comprensión, observe que se utiliza Y(H6>=2000000;H6<10000000),
Y es un operador lógico pensando en que se cumplan dos condiciones al
tiempo, para el caso concreto, que el valor total sea mayor o igual a
2000000 y que sea menor a 10000000 (a veces solamente necesitaremos
que se cumpla una sola condición para eso se una el operador lógico O).
Ÿ 4. Observe que no hay condición que diga que el valor “Total” sea mayor

5
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #3 de 40
a 20.000.000, ésto es porque en la condición
SI(Y(H6>=10000000;H6<20000000);50000;200000), el si verdadero
da una bonificación de 50.000 y el si falso da la bonificación de 200.000,
ya que las anteriores condiciones no se cumplen.
Ÿ 5. Por último copiamos la fórmula en cada una de las celdas de la
columna “Total” y verificar que se están cumpliendo las condiciones. El
resultado debe ser:
www.EspecialistasEnExcel.com

Imagen 2.
#Reto40Excel
v.2015

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/funcion-si-anidada-en-excel/

6 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #4 de 40 Microsoft Excel MVP

Extraer datos de Excel


a partir de una cadena de texto
Para extraer datos de Excel a partir Imagen 1.

de una cadena de Texto, se requiere


identificar la posición de uno o varias

www.EspecialistasEnExcel.com
caracteres que servirán como
referencia para la extracción de los
datos en Excel, es por ello que en el
artículo se explica detalladamente a
través de la implementación de dos
funciones.

#Reto40Excel
v.2015
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se debe extraer de los datos
concatenados el nombre de la persona, el apellido y la edad. Observe que
1Andrea2Dominguez329 1,2 y 3 son puntos de referencias en la cadena para extraer el
nombre: Andrea, el apellido: Domínguez y la edad: 29

Solución:

Ÿ 1. Tenemos que utilizar una tabla auxiliar para extraer los datos
(Imagen 2.)
Ÿ 2. En la tabla auxiliar
vamos a encontrar las
posiciones de 1, 2 y 3
y el tamaño de la
cadena.
Ÿ 3. Para la columna
“Posición 1" no hay
necesidad de colocar
Imagen 2.
fórmula ya que la
posición siempre es la inicial es decir el valor encontrado siempre será 1.
Ÿ 4. Para l a col umna “Posi ci ón 2” uti l i z aremos l a fórmul a
=ENCONTRAR(2;B7;1), ésta fórmula arrojará las posiciones de un
caracter específico, en éste caso los números señalados en rojo. El
parámetro 2 es el caracter que queremos hallar, el segundo parámetro
B7 es la cadena en donde buscamos el caracter y el tercer parámetro 1
lo dejaremos así.
Ÿ 5. Análogamente para la columna “Posición 3” utilizaremos la fórmula

7
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #4 de 40
anterior pero el primer parámetro será 3, así; =ENCONTRAR(2;B7;1).
Ÿ 6. Para la columna tamaño utilizaremos la fórmula =LARGO(B7),
solamente necesita un parámetro el cual será la cadena, los cuales son
los valores de la columna “Datos Concatenados”
Ÿ 7. La fórmula deber arrojar los datos en la (Imagen 2.)
Ÿ 8. Ahora que tenemos las referencias en la tabla auxiliar, utilizaremos la
fórmula =EXTRAE(B7;D7+1;E7-D7-1), en la columna “Nombre”, donde
www.EspecialistasEnExcel.com

el parámetro B7 es la cadena, el segundo parámetro D7+1, D7 es la


posición 1 (tabla auxiliar) y se suma 1 ya que de no hacerlo la fórmula
arrojaría desde el primer caracter que es el 1, el tercer parámetro
E7-D7-1 es el número de caracteres que vamos a extraer, por tanto se
resta la posición 1 D7 que sería el número 1 y el -1 para quitar el número
de la posición 2 teniendo necesariamente la referencia de la posición 2
#Reto40Excel

E7.
Ÿ 9. Análogamente para la columna “Apellidos” utilizaremos la fórmula
anterior =EXTRAE(B7;E7+1;F7-E7-1) pero cambiaremos los
v.2015

parámetros . E7+1 es el segundo parámetro con la misma idea


sumando 1 para fijar la referencia en el caracter después del número 2
en éste caso, F7-E7-1 es el tercer parámetro, aquí restaremos la
posición 3 a la posición 2 y el -1 para quitar el número 3 en éste caso.
Ÿ 10. Para los valores de la columna “Edad” utilizaremos la fórmula
=EXTRAE(B7;F7+1;G7-F7), es diferente a las anteriores en el tercer
parámetro pues ya no hay números al final de la cadena, ya no es
necesario restar uno
Ÿ 11. Luego de escribir las fórmulas correspondientes, solo queda copiar
las fórmulas en las filas siguientes (Imagen 3.)

Imagen 3.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/extraer-datos-de-excel/

8 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #5 de 40 Microsoft Excel MVP

Función BuscarV
con Si.Error

www.EspecialistasEnExcel.com
#Reto40Excel
Hoja 1 Hoja 2, Derecho Hoja 3, Contaduría
Imagen 1.

v.2015
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere consultar los códigos
de estudiantes en las carreras de Derecho y Contaduría, teniendo en cuenta que los
datos de los estudiantes de derecho están en otra hoja y los de contaduría en otra hoja,
usando las fórmulas BUSCARV y SI.ERROR

Solución:

Ÿ 1. Asignaremos un nombre a los datos de los estudiantes,


seleccionaremos todos los datos de la tabla de los estudiantes de
derecho y en el “cuadro de nombres” le pondremos derecho (Imagen 2.)
Ÿ 2. Análogamente para los datos de
los estudiantes de contaduría en la
hoja 3, le pondremos contaduria.
Ÿ 3. Ahora nos ubicamos en la
primera hoja (Imagen 1.) y en la
columna, utilizaremos la fórmula
=BUSCARV(B7;derecho;2;FALSO).
Con ésta fórmula encontraremos el
código en B7 entre los estudiantes
de derecho, el tercer parámetro 2 Imagen 2.
devuelve el valor de la segunda
columna del rango de datos derecho (Imagen 2.) por tanto, la fórmula
arrojará #N/A ya que el código 101 no está entre los códigos de los
estudiantes de derecho.
Ÿ 4. Como la fórmula está arrojando un error, aplicamos la fórmula
=SI.ERROR(BUSCARV(B7;derecho;2;FALSO);BUSCARV(B7;contaduri
aia;2;FALSO)), SI.ERROR tiene dos parámetros el valor que va a

9
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #5 de 40
evaluar y el segundo parámetro que hacer si ese valor es un error, por
tanto, el valor a evaluar es BUSCARV(B7;derecho;2;FALSO), como se
vio en el punto anterior (3) ésto arroja un error entonces, utilizamos
BUSCARV(B7;contaduria;2;FALSO) para buscar el código de estudiante
entre los de contaduría cuando no se encuentre entre los estudiantes de
derecho o dicho de otra forma, cuando arroje un error al buscar el
código entre los estudiantes de derecho
www.EspecialistasEnExcel.com

Ÿ 5. Para sexo e identificación colocamos la misma fórmula cambiando el


tercer parámetro de la columna es decir el número 2 por el 3
=SI.ERROR(BUSCARV(B7;derecho;3;FALSO);BUSCARV(B7;contaduri
aia;3;FALSO)) para el sexo, para la identifiación cambiaremos por 4
=SI.ERROR(BUSCARV(B7;derecho;4;FALSO);BUSCARV(B7;contaduri
aia;4;FALSO))
#Reto40Excel

Ÿ 6. Finalmente hay que copiar las fórmulas en las filas siguientes


(Imagen 3.)
v.2015

Imagen 3.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/funcion-buscarv-con-si-error/

10 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #6 de 40 Microsoft Excel MVP

Macro de Excel para


ocultar hoja
Una macro de Excel nos permiten Imagen 1.

automatizar procesos o actividades que


hagamos con mayor frecuencia, también

www.EspecialistasEnExcel.com
podemos desarrollar aplicaciones
completas con esta importante
herramienta habilitada en Excel.

#Reto40Excel
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere mostrar u ocultar las

v.2015
hojas de cálculo con una macro, siempre y cuando cumplan con la condición del año
que se requiere evaluar.

Solución:

Ÿ 1. Abrimos el editor de visual basic, el cual encontraremos en el la ficha


Desarrollador->Visual Basic o presionando la combinación de teclas
Alt+F11
Ÿ 2. En la parte izquierda en “ThisWorkBook” hacemos click derecho y
seleccionamos la opción insertar módulo. (Imagen 2.)
Ÿ 3. Allí escribiremos el código que se ve en la (Imagen 2.), la estructura
general del código es hacer unas condiciones las cuales van a evaluar
qué año se ha digitado para mostrar la hoja correspondiente y ocultar
las otras dos hojas.
Ÿ 4. El código en su primera
l í n e a t i e n e S u b
ocultar_mostrar_Hojas(),
el cual da inicio a la macro,
y, End Sub sentencia el
final de la macro
Ÿ 5. En la segunda línea.
tenemos los siguientes
parámetros: If que
simplemente es SI en Imagen 2.
ingles ; condición, que en
la segunda línea la condición es (Sheets("Reto40Excel").Range("B7")
= "2013") donde Sheets(”Reto40Excel”) hace referencia a la primera
hoja y Range(”B7") hace referencia a la celda. Es decir, que lo anterior
está buscando el valor de la celda B7 en la hoja con el nombre

11
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #6 de 40
“Reto40Excel” para compararlo con el valor 2013. El tercer parámetro
Then que en ingles significa entonces, dando paso para las acciones que
queremos que se ejecuten cuando la condición se cumpla.
Ÿ 6. Como la primera condición es saber si la celda B7 es igual a “2013" las
acciones al cumplir esa condición son:
Sheets("2013").Visible = True
Sheets("2014").Visible = False
www.EspecialistasEnExcel.com

Sheets("2015").Visible = False
donde Sheets("2013") hace referencia a la Hoja “Reto40Excel” y el
.Visible es un atributo de esa hoja, True : Para que sea
visible y False : Para que no sea visible, es decir, para mostrar o no las
Hojas
Ÿ 7. Las siguientes condiciones se hacen de forma análoga, solamente se
#Reto40Excel

cambia la condición para evaluar los otros dos años, así para el 2014
sería; (Sheets("Reto40Excel").Range("B7") = "2014"), además y muy
importante ya no se colocará If sino ElseIf, en
v.2015

español SINO_SI, es decir, si no se cumple la


primera condición entonces evaluar la segunda,
asimismo para la tercer condición. Cambiando la
Hoja que se va a mostrar (El año “2015") y las que
se van a ocultar según corresponda. Imagen 4.
Ÿ 8. La última condición, donde solo está escrito
ELSE, lo que hace es, si no se cumple ninguna de
las anteriores condiciones entonces no mostrará
ninguna de las tres Hojas. Ya que entre las
acciones a realizar estan las mismas que en (6)
pero cada atributo es Falso por tanto no se
Imagen 3.
mostrará ninguna hoja. Por último End If cierra las
condiciones.
Ÿ 9. Ahora, en la hoja de cálculo vamos a la ficha “Desarrollador” y damos
click en Insertar->Botón (Imagen 3.), al tratar de dibujar el Botón en la
hoja de cálculo saldrá un cuadro de
diálogo (Imagen 4.) el cual
asignaremos la macro que acabamos
de hacer en VisualBasic
ocultar_mostrar_Hojas. y damos click
en aceptar.
Ÿ 10. Es muy importante que el archivo
sea guardado como Libro de Excel
habilitado para macros (Imagen 5.)
de lo contrario no servirá.

Imagen 5.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/funcion-buscarv-con-si-error/

12 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #7 de 40 Microsoft Excel MVP

Listas desplegables
dependientes en Excel

www.EspecialistasEnExcel.com
#Reto40Excel
Hoja 1, Reto40Excel Hoja 2, Información
Imagen 1.

v.2015
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere mostrar el personal


de área que corresponde exclusivamente al área seleccionada, note que en la segunda
hoja están los datos que queremos mostrar en la lista que generaremos en la primera
hoja

Solución:
Ÿ 1. Vamos a asignar nombres a los datos de
cada columna en la tabla de la Hoja 2
(Imagen 2.). Para esto, empezaremos con la
columna Área, seleccionamos los datos y
asignamos el nombre Area(sin tilde) (Imagen Imagen 2.
2.)
Ÿ 2. Asimismo se asignarán los nombres para los
datos de la columa Administrativo, Taller y Ventas. Imagen 3.

Es importante decir que, cuando se asignen


los nombres deben quedar igualmente
escritos a como se ven en la columna Área.
Ÿ 3. Nos ubicamos en la primera hoja en la
celda B7 y vamos a la ficha DATOS y damos
click en Validación de datos (Imagen 3.),
aparecerá un cuadro de diálogo (Imagen 4.)
donde seleccionaremos en Permitir, Lista y Imagen 4.
en origen colocaremos =Area, recuerde que
Area es el nombre que se asigno a los datos
de la columna Área de la Imagen 2.
Ÿ 5. El resultado debe quedar como se
muestra en la Imagen 5.
Imagen 5.

13
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #7 de 40
Ÿ 6. Ahora, haremos un proceso parecido al anterior. Nos ubicamos en la
celda C7 de la primera hoja y vamos a dar click en Validación de datos,
seleccionamos en Permitir, Lista y en el origen escribiremos
=INDIRECTO($B$7), lo cual estará evaluando el dato que haya en la
celda B7, luego damos click en aceptar aunque
arrojará un error, le daremos click en si, ya que
si el error aparece es porque la celda B7 está
www.EspecialistasEnExcel.com

vacía. El resultado seleccionado Administrativo


de la lista en la celda B7 y el listado que aparece Imagen 6.
en la celda C7 se puede ver en la Imagen 6.
Ÿ 7. Recuerde que el listado en C7 depende del dato que haya en B7.
#Reto40Excel
v.2015

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/listas-desplegables-en-excel/

14 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #8 de 40 Microsoft Excel MVP

Validación de datos en Excel


para NO ingresar datos repetidos
La validación de datos en Excel nos
permite controlar el ingreso de
información en determinada celda o

www.EspecialistasEnExcel.com
grupo de celdas de la hoja de cálculo, al
decir que nos permite controlar es
porque nos permite definir que
información se va a permitir o no que Imagen 1.
sea ingresada.

#Reto40Excel
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere ingresar listado de

v.2015
empleados donde se garantice que el código de empleado no se repita, ya que este
debe ser único para cada persona.

Solución:

Ÿ 1. Vamos a utilizar Validación de datos, visto en el reto anterior, pero en


el cuadro de diálogo vamos a seleccionar y a utilizar diferentes
condiciones.
Ÿ 2. Seleccionamos las celdas de la
columna “Código de empleado”
donde van a ir los datos (en éste caso
C7:C15) luego, vamos a dar click en
Validación de datos, en el cuadro de
diálogo (Imagen 2.) en Permitir,
seleccionamos la opción
personalizada.
Ÿ 3. Ahora, en Fórmula, colocamos
Imagen 2.
=CONTAR.SI($C$7:$C$15;C7)=1,
observe que el primer parámetro $C$7:$C$15, es el rango de datos a
evaluar y es una referencia absoluta, el segundo parámetro C7, no tiene
una referencia absoluta ya que evaluará la celda C7 cuando esté en C7
con las demás datos, cuando esté en C8 evaluará el valor de C8 con los
demás datos, así en C9, C10 y los demás datos que haya en el rango. La
fórmula CONTAR.SI lo que hace en general es buscar cuántas veces esta
el segundo parámetro en el rango de datos del primer parámetro.
Entonces si el resultado de la fórmula es mayor a 1 se producirá un error.
Ÿ 4. En la pestaña Mensaje de Error (Imagen 3.) en título colocamos

15
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #8 de 40
Error... y en Mensaje de error,
colocamos El código ingresado del
empleado ya existe (Imagen 3.). Y
damos click en aceptar.
Ÿ 5. Lo que queda por hacer es probar
el resultado, es decir, colocar el
Código del empleado y el nombre,
www.EspecialistasEnExcel.com

colocando códigos diferentes y


algunos iguales para verificar si
funciona, si al colocar un código que Imagen 3.
ya había, debe salir una ventana de
error (Imagen 4.).
#Reto40Excel
v.2015

Imagen 4.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/validacion-de-datos-en-excel-2/

16 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #9 de 40 Microsoft Excel MVP

Nombres de rangos en
Excel dinámicos
En este reto se
mostrará cómo hacer
para que el nombre

www.EspecialistasEnExcel.com
de rangos en Excel
s e a d i n á m i c o, e s
decir, si se adiciona
un registro o varios a
una tabla donde ya se
definió el nombre de

#Reto40Excel
rangos en Excel, la
herramienta tendrá
e n c u e n t a e s t o s Imagen 1. Hoja 1, Reto40Excel Hoja 2, Empleados

v.2015
r e g i s t r o s ,
adicionándolos automáticamente al nombre de rangos en Excel.
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere consultar el


empleado con base en la hoja Empleados, si se registran más empleados las fórmulas
no deben modificarse, es decir, los empleados se deben considerara automáticamente
en la consulta.

Solución:

Ÿ 1. Seleccionamos los datos de la tabla de la Hoja 2, y le asignamos el


nombre Empleados.
Ÿ 2. Usaremos la función BUSCARV, nos ubicamos en D7 en la Hoja 1
(Imagen 1.) procederemos a colocar la fórmula
=BUSCARV(C7;Empleados;2;FALSO), como sabemos por retos
anteriores la fórmula anterior nos arrojará el nombre del vendedor que
tenga el código correspondiente, sin embargo, si a los datos de la Hoja 2
adicionamos un nuevo registro, por ejemplo, 19->Miguel Osorio, y en la
Hoja 1 en Código de empleado colocamos 19, la función BUSCARV no
arrojará ningún valor. Necesitamos
entonces que al ingresar un nuevo
registro la función BUSCARV encuentre
un valor automáticamente, para esto
realizaremos lo siguiente:
Ÿ 3. Nos ubicamos en la Hoja 2, vamos a la
ficha FÓRMULAS y damos click en
Administrador de nombres (Imagen 2.)
Imagen 2.

17
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #9 de 40
se abrirá un cuadro de diálogo
(Imagen 3.), seleccionaremos el
nombre Empleados, en la parte
inferior hay una caja de texto,
donde escribiremos lo siguiente,
=DESREF ( Empleados!$A$1;0;0;
CONTARA(Empleados!$A:$A);CON
www.EspecialistasEnExcel.com

TARA(Empleados!$1:$1) ) , las
anteriores funciones generarán las
referencias de la cantidad de datos
que se tienen en la tabla de la Imagen 3.
segunda Hoja.
Ÿ 4. Empleados!$A$1;0;0 es una referencia a partir de donde se van a
#Reto40Excel

revisar la cantidad de registros, en éste caso la celda A1 que la Hoja es


0,0. CONTARA(Empleados!$A:$A), referencia para asignar desde que
columna se va a revisar la cantidad de registros,
v.2015

CONTARA(Empleados!$1:$1), referencia para asignar desde que fila se


va a revisar la cantidad de registros.
Ÿ 5. Ahora, hacemos las pruebas correspondientes, agregando nuevos
registros a los datos de la Hoja 2 (Imagen 4.) y en la Hoja 1. en la celda
C7 colocaremos un código de los nuevos registros.

Imagen 4. Hoja 1, Reto40Excel Hoja 2, Empleados

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/nombres-rangos-en-excel-dinamicos/

18 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #10 de 40 Microsoft Excel MVP

Macro en Excel para No


permitir la eliminación de hojas
Para la macro en
Excel que se
desarrollará, se

www.EspecialistasEnExcel.com
tendrán en cuenta los
eventos involucrados
en la hoja de cálculo,
específicamente se
tendrá en cuenta el
evento BeforeDelete

#Reto40Excel
o antes de borrar
para generar las
acciones corres- Hoja 1, Reto40Excel Hoja 2, Empleados

v.2015
Imagen 1.
pondientes antes de
eliminar la hoja.
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere que no se permita la


eliminación de la Hoja 2. “Empleados”

Solución:

Ÿ 1. Siempre que se trabajen macros en Excel es muy importante que el


archivo sea guardado como Libro de Excel habilitado para macros. como
se hizo en la imagen 5. reto #6
Ÿ 2. Vamos a entender lo que se va a hacer. Cuando haya un intento de
eliminar la Hoja 2. En la macro vamos a crear una copia de la Hoja
“Empleados” inmediatamente antes de ser eliminada y le pondremos el
nombre de la Hoja original, así, cada vez que traten de eliminar la Hoja
2. se creará una copia con el mismo nombre, “impidiendo” que la hoja
sea eliminada.
Ÿ 3. Para hacer esto
comenzaremos
con abrir el editor
de Visual Basic que
se encuentra
e n l a fi c h a
DESARROLLADOR
o presionando las
teclas Alt+F11. Imagen 2.

19
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #10 de 40
Ÿ 4. En la parte izquierda aparecerá las Hojas que tiene nuestro archivo,
en la Hoja 2(Imagen 2. recuadro azul) daremos doble click, a la derecha
aparecerá el espacio donde colocaremos el código, en la lista
desplegable escogeremos la opción Worksheet (Imagen 2. recuadro
rojo) y en la segunda lista desplegable seleccionaremos la opción
BeforeDelete (Imagen 2.
recuadro naranja).
www.EspecialistasEnExcel.com

Ÿ 5. Luego de hacer el paso (4) el


área quedará como se muestra
en la Imagen 3. Ahora,
borraremos lo que está en el
recuadro rojo. Trabajaremos Imagen 3.
solamente en el evento
#Reto40Excel

BeforeDelete.
v.2015

Imagen 4.

Ÿ 6. Explicaremos el código en la Imagen 4: Dim nombreHoja As String,


es para declarar una variable de tipo cadena. En el Paso 1, se le asignará
el nombre de la hoja en la que estamos trabajando a la variable que
creamos antes nombreHoja. En el Paso 2, se le cambiará el nombre a la
hoja en que se trabaja, es decir, “Empleados-” en vez de “Empleados”.
En el Paso 3 , crearemos una copia de la hoja actual con
ThisWorkbook.ActiveSheet.Copy y se colocará después de la hoja en la
que trabajamos con after:=Sheets(ThisWorkbook.ActiveSheet.Index).
En el paso 4, asignaremos a la hoja que copiamos el nombre inicial, es
decir nombreHoja.
Ÿ 7. Por último haremos la prueba eliminando la Hoja Empleados,
aparecerá una ventana de confirmación y le daremos click en eliminar,
notando que la Hoja no se elimina (Imagen 5.)

Imagen 5.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/macro-en-excel-borrar-hojas/

20 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #11 de 40 Microsoft Excel MVP

Totalizar rangos en
Excel dinámicamente
Para totalizar rangos en Excel, se
mostrará cómo calcular un rango de
celdas basado en un limite o

www.EspecialistasEnExcel.com
definiendo por parte del usuario
hasta que celda desea involucrar
dicho cálculo, esto se realizará
dinámicamente basado en un
parámetro de entrada.
Imagen 1.

#Reto40Excel
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere calcular, ya sea suma

v.2015
o promedio de las ventas de las sucursales, en el cálculo se debe tener en cuenta lo
siguiente: Se debe ingresar la Sucursal hasta donde se requiera realizar al cálculo
respectivo.

Solución:

Ÿ 1. Veamos como hacer el tratamiento del ejercicio; en la celda F8,


colocaremos la sucursal hasta donde queremos hacer la suma o el
promedio, es decir, si queremos hacer la suma de las primeras 10
sucursales, colocaremos en la celda F8 “S10"(Sucursal 10) y en la celda
G8 obtendremos el resultado.
Ÿ 2. Para hacer lo anterior, vamos a utilizar las funciones INDICE y
COINCIDIR, =INDICE(D8:D27;COINCIDIR(F8;C8:C27;0)), con la
función INDICE encontraremos la celda que se digitó en F8(la sucursal),
COINCIDIR encontrará la posición de la celda buscada, esa es la razón
por la que COINCIDIR es un parámetro en la función INDICE.
Ÿ 3. Por último procederemos a hacer la SUMA o el PROMEDIO o lo que
necesitemos y utilice un rango de datos, colocaremos en la celda G8
=SUMA(D8:INDICE(D8:D27;COINCIDIR(F8;C8:C27;0))).
Ÿ 4. Note que el rango de datos va de D8 hasta la fórmula empleada en
(2), para hacer el promedio simplemente cambiamos la fórmula
=PROMEDIO(D8:INDICE(D8:D27;COINCIDIR(F8;C8:C27;0))).
Ÿ 5. Por último, haremos las pruebas correspondientes cambiando las
sucursales.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/totalizar-rangos-en-excel/
Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook
21
Ing. Alfonso Lenis
Reto #12 de 40 Microsoft Excel MVP

Filtros Avanzados
en Excel
Los Filtros Avanzados son
una herramienta muy
potente en Excel ya que

www.EspecialistasEnExcel.com
permite aplicar filtros a
un rango de datos basado
en una o varias
condiciones y que el
resultado se muestra a
p a r t e , e s d e c i r, s i n

#Reto40Excel
modificar los datos
originales.

v.2015
Imagen 1.
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere generar toda la


información de la base de datos que cumpla con la siguiente condición: Mujeres cuyas
ventas sean superiores a $ 100.000

Solución:

Ÿ 1. Para hacer los filtros avanzados debemos emplear una tabla de


condiciones, en éste caso, necesitamos los datos(filas) de mujeres que
tengan una venta mayor a $100.000, es decir que la condición bien
declarada sería que sea mujer Y venta > 100000.
Ÿ 2. Las condiciones las colocamos Imagen 2.
en la tabla auxiliar, esta tabla
auxiliar debe tener el nombre de
las columnas a las que se va a
buscar la coincidencia, es decir, si Imagen 3.

es mujer buscamos en sexo y el


valor en ventas. Por tanto la tabla
quedará como la imagen 2, la
tabla la podemos colocar debajo de los datos que estamos evaludano.
Ahora, dependiendo del operador lógico, O ó Y, la Imagen 2 muestra la
forma de hacer el Y y la Imagen 3 la forma de hacer el O. La diferencia
esta evidentemente en la posición de las filas, observe que para el Y, se

22
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #12 de 40
coloca en la misma fila, para el O, se coloca en
filas diferentes. Además, recuerde que Y se
refiere a cumplir dos condiciones, el O se refiere
a que se cumpla una de las condiciones, es decir,
Imagen 4.
que si colocamos la condición como la imagen 3.
el resultado nos arrojará mujeres o personas
que ganen más de $100.000 por tanto ya no
www.EspecialistasEnExcel.com

sería estrictamente mujeres que ganen más de


100000 sino, también pueden haber hombres
en el resultado obtenido.
Ÿ 3. Nos ubicamos en una de las celdas en la tabla
de datos de la imagen 1, vamos a la ficha
DATOS, damos click en Avanzadas (rectángulo Imagen 5.
#Reto40Excel

rojo Imagen 4.)


Ÿ 4. Saldrá un cuadro de diálogo (Imagen 5.) donde lo primero que
haremos será seleccionar la opción en Acción, “Copiar a otro lugar”
v.2015

luego, se solicitará el ingreso de tres valores; el primero se llenará


automáticamente con el rango de datos de la tabla que se está
evaluando (Imagen 1.), el segundo, seleccionaremos el rango de la
tabla auxiliar, para éste caso, nos ubicamos en “Rango de Criterios” y
buscamos la tabla auxiliar y la seleccionamos tal cual como vemos en la
imagen 2. El último ingreso será la celda desde donde queremos que se
muestren los datos con el filtro que se hizo, aquí solamente nos
ubicamos en “Copiar a” y damos click en la celda donde empezaremos a
ver los datos resultantes.
Ÿ 5. El resultado puede verse en la imagen 6.

Imagen 6.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/filtros-avanzados-en-excel/

23 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #13 de 40 Microsoft Excel MVP

Filtros Avanzados con


Operadores lógicos
En el reto #12, tratamos
Los Filtros Avanzados en
Excel, teniendo en cuenta

www.EspecialistasEnExcel.com
la generación de la
información a partir del
cumplimiento de una o
varias condiciones en
Excel, en el presente
artículo daremos

#Reto40Excel
continuación a este tema
tratando los Filtros
A v a n z a d o s c o n

v.2015
Operadores lógicos.
Imagen 1.
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere generar toda la


información de la base de datos que cumpla con la siguiente condición: Vendedores
cuyas ventas estén entre $ 100.000 Y $ 160.000 O Vendedores cuyo tiempo laborado
sea superior a 150 meses

Solución:

Ÿ 1. Como se hizo en el reto #12, debemos emplear una tabla auxiliar de


condiciones, en éste caso, debemos hacer una condición que tiene el
operador lógico Y, >=100000 <=160000 hablando de las ventas, como
ya sabemos debe hacerse en la misma fila (Imagen 2.), pero también
tenemos condición con el operador Imagen 2.
O, donde se hará lo anterior O el
Tiempo laborado en meses sea
>150, como ya sabemos ésta
condición la colocaremos en la
columna de Tiempo laborado en meses pero en una fila siguiente a la
que ya habíamos utilizado para las condiciones de las ventas (Imagen
3.).
Imagen 3.

24
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #13 de 40
Ÿ 2. Damos click en la ficha DATOS, filtro,
Avanzadas.
Ÿ 3. Luego de dar click en “Copiar a otro lugar”,
sabemos por el reto anterior que en el cuadro de
diálogo (Imagen 4.) en “Rango de criterios”
seleccionaremos la tabla auxiliar con las
condiciones que se generaron (Imagen 3.) y en
www.EspecialistasEnExcel.com

“Copiar a” seleccionaremos la celda donde


Imagen 4.
queremos que se despliegue la tabla de
resultados.
Ÿ 4. El resultado puede verse en la imagen 5. Note que, como hay un
operador lógico O, hay datos que está por fuera del rango de ventas y
aparecen, pero éstos datos deben ser mayores a 150 en tiempo de
#Reto40Excel

meses laborados.
v.2015

Imagen 5.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/filtros-avanzados-logicos/

25 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #14 de 40 Microsoft Excel MVP

Buscar Objetivo en
Excel
La herramienta Buscar Objetivo Imagen 1.

en Excel se utiliza cuando


sabemos cual es el valor final

www.EspecialistasEnExcel.com
producto de una formula, pero
necesitamos saber el valor que
debe tomar un dato de entrada
para obtener el valor final que ya
sabemos por anticipado.

#Reto40Excel
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere saber cuantas


unidades se deben vender del producto P004 para que el Total de ventas sea $
165'000.000

v.2015
Solución:

Ÿ 1. Para resolver el ejercicio, utilizaremos la herramienta Buscar


Objetivo para hacer una estimación de las unidades que se necesitan
para que el total sea de 165.000.000. Para hacer esto se nos puede
ocurrir primero utilizar un procedimiento matemático simple para hallar
las unidades, sin embargo el uso de las herramientas que nos brinda
Excel, nos podría ser de mucha utilidad en el futuro para algo bien
específico.
Ÿ 2. Nos ubicamos en la celda
donde está el valor de “Total”
G17, vamos a la ficha DATOS y
damos click en la opción Análisis Imagen 2.
de hipótesis->Buscar objetivo. Imagen 3.
Ÿ 3. Aparecerá un cuadro de diálogo (Imagen 3.),
en “Definir la celda” colocaremos la celda del
valor “Total”, en “Con el valor” colocaremos el
valor que nos pide llegar 165000000, en
“Cambiando la celda” colocaremos la celda de la
c o l u m n a u n i d a d e s
correspondiente al código P004.
Damos click en aceptar, Excel
hará el cálculo y luego daremos Imagen 4.
click en aceptar.
Ÿ 4. El resultado será como la imagen 4.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/buscar-objetivo-en-excel/
Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook
26
Ing. Alfonso Lenis
Reto #15 de 40 Microsoft Excel MVP

Macro en Excel para


Ocultar Filas
El comportamiento que se programará para la Imagen 1.

macro en Excel será que oculte una o varias


filas si se cumple o no una condición especifica

www.EspecialistasEnExcel.com
que se se utilizará como criterio de evaluación,
este criterio está definido de acuerdo al caso
del día de hoy que corresponde a una
inmobiliaria.

#Reto40Excel
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere desarrollar una


macro que no muestre las casas que están vendidas.

v.2015
Solución:

Ÿ 1. Recuerde, siempre que se trabajen macros en Excel es muy


importante que el archivo sea guardado como Libro de Excel habilitado
para macros. como se hizo en la imagen 5. reto #6.
Ÿ 2. Comenzaremos con abrir el editor de Visual Basic que se encuentra
en la ficha DESARROLLADOR o presionando las teclas Alt+F11.

Imagen 2.

Ÿ 3. En la parte izquierda, en ThisWorkbook damos click derecho y


seleccionamos Insertar->Módulo (Imagen 2.).
Ÿ 4. En el espacio que se genera desarrollaremos la macro. Lo primero es
el Sub que inicia la macro con un nombre que nosotros le damos,
ocultarInmuebleVendido() y al final cerramos la macro con End Sub.
seguidamente seleccionamos la celda E8 con Range("E8").Select, para
tener un punto de referencia.
Ÿ 5. En la línea que sigue se hará un ciclo. Un ciclo es un proceso que se
genera repetidamente sobre algo, para el caso, se va a evaluar cada
celda pasando a la celda siguiente, es decir, se comienza con la celda E8,
donde se evaluará si está VENDIDA, se sigue con E9, luego E10 y así

27
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #15 de 40
sucesivamente.
Ÿ 6. Entonces, Do While es la sentencia del ciclo y ActiveCell.Value <> ""
es la condición para entrar en el ciclo, es decir, que si la celda activa es
diferente de vacío entonces entra en el ciclo. Dentro del ciclo
encontramos una condición donde If es SI y ActiveCell.Value =
"VENDIDA" determina si la celda que está activa tiene escrita la palabra
VENDIDA y Then es entonces que corresponde a las acciones que se
www.EspecialistasEnExcel.com

generarán por la condición la cual es: ActiveCell.EntireRow.Hidden =


True, que oculta la celda activa, por Imagen 3.
último se cierra la condición con End IF.
Ÿ 7. Luego de la condición colocaremos
ActiveCell.Offset(1, 0).Select, lo que
Offset(1,0) donde el parámetro 1 es el
#Reto40Excel

número de filas siguientes donde se va a


posicionar y 0 es el número de columnas
que se va a posicionar.
v.2015

Ÿ 8. El ciclo Do While lo cerramos con la sentencia Loop.


Ÿ 9. Volvemos a la hoja de cálculo y en la ficha DESARROLLADOR damos
click en Insertar->Botón (Imagen 3.), dibujamos el bóton en la hoja de
cálculo. Al dibujar el botón se abrirá un cuadro de diálogo donde
aparecerán las macros que tengamos, seleccionaremos la que
acabamos de hacer ocultarInmuebleVendido() y damos click en aceptar.
Ÿ 10. Al ejecutar la macro se ocultarán las filas que tengan en el “Estado”
VENDIDA, sin embargo, haremos una macro para hacer visibles las filas
que se hayan ocultado (Imagen 4.).
Luego del End Sub de la macro que
terminamos colocaremos Sub
Imagen 4.
mostrarTodasLasFilas(), ya sabemos
que así damos inicio a la macro y colocaremos simplemente
Rows.EntireRow.Hidden = False, lo que hace es, a las filas que estén
ocultas al colocarlas en False revierte lo que se había hecho antes es
decir, se harán visibles, por último, cerramos la macro con End Sub.
Ÿ 11. Creamos un nuevo botón y le asignamos la macro anterior (10).
Probamos el ejercicio en la imagen 5 vemos cómo quedarían los datos al
ocultar las filas y la imagen 6 al usar el botón de la macro anterior (10)

Imagen 5.

Imagen 6.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/macro-en-excel-ocultar-filas/

28 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #16 de 40 Microsoft Excel MVP

Personalizar resultado con iconos


de Formato Condicional en Excel
Los iconos de Formato Condicional
permiten mostrar gráficamente
un valor asociado a una condición,

www.EspecialistasEnExcel.com
por ejemplo, los iconos se utilizan
para determinar si un valor
aumentó o disminuyó de acuerdo
a otro valor

#Reto40Excel
v.2015
Imagen 1.
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere identificar con iconos
a los vendedores que cumplieron la meta de venta, a los que la igualaron y a los que no
cumplieron

Solución: Imagen 2.

Ÿ 1. Seleccionaremos los datos de la columna


“Ventas” y en la ficha INICIO, damos clicl en
Formato condicional->Conjuntos de iconos,
seleccionando el que se muestra en la imagen 2.
Ÿ 2. Teniendo seleccionado los datos, volvemos a
Fo r m a t o c o n d i c i o n a l y d a m o s c l i c k e n
Administrar reglas aparecerá el cuadro de
diálogo de la imagen 3, ahí, daremos click en
Editar regla, aparecerá otro
cuadro de diálogo
(Imagen4.).
Ÿ 3. Primero cambiaremos el
tipo de icono que
utilizaremos, en el
rectángulo naranja de la Imagen 3.
imagen 4 seleccionaremos el
tipo de icono dando click en la lista desplegable como se ve en la imagen
5, asimismo para los otros dos iconos. En la imagen 4, en el rectángulo
rojo, en Tipo seleccionaremos en las dos listas Número. En “Cuando el

29
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #16 de 40
valor es” en la lista
seleccionaremos > y en
“Valor” seleccionaremos la
celda D8 (rectángulo azul
imagen 4) que es la meta de
venta. En “Cuando <=
Fórmula y” seleccionaremos
www.EspecialistasEnExcel.com

> = y e n “ Va l o r ”
seleccionaremos la celda D8
(rectángulo amarillo imagen
4) nuevamente que es la
meta de ventas.
Ÿ 4. Seguidamente damos Imagen 4.
#Reto40Excel

click en Aceptar, el resultado


se verá inmediatamente con los valores mayores a
200.000 con un chulo, los valores iguales con una bola
v.2015

gris y los valores menores a 200.000 con una X dentro Imagen 5.


de una bola, en cada celda según corresponda. (Imagen
6.). Puedes interactuar con el resultado, cambiando la meta de venta

Imagen 6.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/iconos-de-formato-condicional/

30 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #17 de 40 Microsoft Excel MVP

Consultar tablas en Excel


dinámicamente con Función
INDIRECTO
Se mostrará se combinará el uso de Tablas de datos validación de datos,
función SUMA o PROMEDIO y la función INDIRECTO con el objetivo de

www.EspecialistasEnExcel.com
consultar información que se encuentra en diferentes tablas de datos.

Imagen 1.

#Reto40Excel
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere generar una solución

v.2015
que permita calcular la SUMA, el PROMEDIO, el valor MÍNIMO y el valor MÁXIMO de
cualquier campo sin importar el año que seleccione.

Solución:

Ÿ 1. Explicando la solución pensado, sería hacer una tabla auxiliar donde


se muestre la suma, el promedio, el valor mínimo y el valor máximo
seleccionando año y producto.
Ÿ 2. Seleccionamos la tabla del año 2013, vamos a la ficha INICIO y
damos click en “Dar formato como tabla” (Imagen 2.), se desplegará
varias plantillas, escogeremos cualquiera, para el ejercicio, al
seleccionar una de las plantillas aparecerá un cuadro de diálogo
(Imagen 3.) donde Imagen 2.
d e b e m o s
asegurarnos que “La
t a b l a t i e n e
encabezados” esté
seleccionada ya que
nuestra tabla tiene encabezados. Y damos aceptar.
Ÿ 3. Hacemos lo mismo para las otras dos tablas, es
decir, para las tablas de los años 2014 y 2015.
Ÿ 4. Ahora, seleccionamos la tabla del año 2013, la Imagen 3.
ficha DISEÑO se activará, en ésta ficha
en la parte izquierda encontraremos
una caja de texto con el nombre de la
tabla seleccionada(Imagen 5.), vamos
a cambiar el nombre que tiene por Imagen 4.

31
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #17 de 40
year2013, asimismo para las otras tablas colocando year2014 y
year2015 respectivamente. (El nombre no debe llevar espacios)
Ÿ
Imagen 5.
www.EspecialistasEnExcel.com

Ÿ 5. Crearemos una tabla auxiliar muy sencilla donde Imagen 6.

colocaremos el nombre de las tablas(los años) y el


nombre de los campos, es decir, el nombre de los
productos. Esto para generar las listas en la imagen 7
en la celda E14 donde las Imagen 7.
#Reto40Excel

opciones serán: year2013 ,


year2014 , year2015 y E16
donde las opciones serán:
ProductoA, ProductoB,
v.2015

ProductoC.
Ÿ 6. Para hacer el listado recuerde
que debemos posicionarnos en
la celda E14 y en la ficha DATOS damos click en “Validación de datos”, se
abrirá un cuadro de diálogo, en “Permitir” seleccionamos “Listas” y en
origen seleccionamos los años, es decir los datos de la imagen 6.
Recuerde que, más información sobre las listas en el reto #7. De la
misma forma para la celda E16 con los nombres de los campos de la
imagen 6.
Ÿ 7. Luego de hacer los listados, en la celda G15 colocaremos la siguiente
fórmula =SUMA(INDIRECTO(E14&”[”&E16&”]”)), para hacer la suma
de un campo de una tabla normalmente se hace
=SUMA(year2013[ProductoA]), entonces en la fórmula con la función
INDIRECTO, E14 es year2013 en caso particular y E16 es el producto
digamos ProductoA ahora &”[” se usa para concatenar los datos & para
unir las partes y “[” para que se escriba tal cual lo que está entre
comillas. Por tanto E14&”[”&E16&”]” sería year2013[ProductoA].
Ÿ 8 . Pa r a e l p r o m e d i o u t i l i z a m o s l a f u n c i ó n
=PROMEDIO(INDIRECTO(E14&”[”&E16&”]”)), para el valor mínimo
utilizamos =MIN(INDIRECTO(E14&”[”&E16&”]”)) y para el valor
máximo =MAX(INDIRECTO(E14&”[”&E16&”]”))

Imagen 8.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/tablas-excel-funcion-indirecto/

32 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #18 de 40 Microsoft Excel MVP

Macro en Excel para Generar


copia de Archivos Automáticamente
Una de las actividades que
hacemos constantemente
cuando se trabaja en Excel,

www.EspecialistasEnExcel.com
es la generación de copia
del archivo en el que nos
encontramos trabajando,
ya sea por seguridad o por
otra razón, en el presente Imagen 1.
artículo se explicará como

#Reto40Excel
hacer esta misma acción desde una Macro en Excel.
Ejercicio
a Resolver

v.2015
A partir de los datos que se muestran en la imagen 1. Se requiere desarrollar macro
que permita generar una copia automática del archivo actual en una ubicación
específica

Solución:

Ÿ 1. No olvide que, siempre que se trabajen macros en Excel es muy


importante que el archivo sea guardado como Libro de Excel habilitado
para macros. como se hizo en la imagen 5. reto #6
Ÿ 2. Abrimos el editor de Visual Basic en la ficha DESARROLLADOR o con
la combinación de teclas Alt+F11, en la parte izquierda, en
ThisWorkbook damos click derecho y seleccionamos Insertar->Módulo
(Revisar reto #15).

Imagen 2.

Ÿ 3. Observe la imagen 2, comenzamos como ya sabemos con el Sub y el


nombre de la macro en éste caso generarArchivoCopia(), declaramos
las variables Dim origen As String y Dim destino As String, origen y
destino son variables las cuales guardarán respectivamente el nombre
actual del archivo y la ruta con el nombre donde queremos guardar la
copia. Como se ve en:
origen = “Reto40Excel - Día 18 - Macro en Excel para generar copia de
Archivos automáticamente”

33
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #18 de 40
destino = “E:\Especialistas en Excel\Reto40Excel\Día a día\Día 18 -
20151030\Archivo Nuevo.xls”
Ÿ 4. En la última línea antes de cerrar la macro, colocaremos
Workbooks(origen).SaveCopyAs destino, lo que indica es copiar el
archivo origen en la ruta destino con el nombre Archivo Nuevo.xls
Ÿ 5. Cerramos la macro con End Sub, volvemos a la hoja de cálculo,
insertaremos un botón y le asignaremos la macro que acabamos de
www.EspecialistasEnExcel.com

crear (si no hay claridad revisar reto #6). Al ejecutar el botón o


presionarlo, revisaremos la ruta destino para comprobar si se hizo la
copia exitosamente, tenga en cuenta que la ruta empleada es particular,
por tanto, usted debe cambiar la ruta, una muy sencilla podría ser
destino=”C:\Archivo Nuevo.xls”
Ÿ 6. Ahora vamos a modificar el código para ordenar cuando se hace la
#Reto40Excel

copia y darle el nombre que queramos. Primero hacemos lo que se


muestra en la imagen 3.
v.2015

Imagen 3.

Ÿ 7. En la celda B7 vamos a colocar “GENERAR COPIA” y en la celda B9


a s i g n a r e m o s u n n o m b r e , e n é s t e c a s o “ D í a 1 8 ”, a h o ra
en el código (imagen 4.), se adiciona varias líneas.

Imagen 3.

Ÿ 8. Es importante resaltar la condición que se genera If


Sheets(”Reto40Excel”).Range(”B7”)=”GENERAR COPIA” donde se
evalua lo que dice en la celda B7 y si es igual a “GENERAR COPIA”
entonces se cumple la condición. La línea Dim nombreArchivo As String,
declara una variable para guardar el nombre que
se colocó en la celda B9 de la imagen 3 con la línea
nombreArchivo=Sheets.(”Reto40Excel”).Range(”B9”), por último
cambiamos la línea destino=“E:\Especialistas en
Excel\Reto40Excel\Día a día\Día 18 - 20151030\Archivo Nuevo.xls”
por destino = “E:\Especialistas en Excel\Reto40Excel\Día a día\Día 18
- 20151030\” & nombreArchivo & “.xls”

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/macro-en-excel-generar-copia/

34 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #19 de 40 Microsoft Excel MVP

Búsqueda en dos Dimensiones


con BuscarV
La función BuscarV es una de las
funciones más utilizadas en Excel, ya
que permite extraer o consultar la

www.EspecialistasEnExcel.com
información de una hoja de calculo. Se
denomina en dos dimensiones en Excel
cuando el dato a consultar requiere
tener una referencia a nivel de fila y
columna, es decir, a partir de dos datos o
dos valores se consultará determinada

#Reto40Excel
información. Imagen 1.
Ejercicio
a Resolver

v.2015
A partir de los datos que se muestran en la imagen 1. Se requiere consultar el valor de
la venta a partir de la Sede y el producto.

Solución:

Ÿ 1. Vamos a utilizar la función BUSCARV para hallar valores específicos


utilizando dos referencias, de ahí, las dos dimensiones. Utilizaremos
una tabla auxiliar (Imagen 2.) para buscar Imagen 2.
el dato.
Ÿ 2. Luego, daremos un formato de tabla,
haciendo click en la ficha INICIO, en “Dar
formato de tabla”, y cambiaremos el nombre de la tabla, seleccionando
la ficha DISEÑO, que se encuentra en la parte izquierda le colocaremos
el nombre ventasAnuales, ahora, en la tabla auxiliar colocaremos la
sede, el producto y en la celda G20 colocaremos
=BUSCARV(E20;ventasAnuales;COINCIDIR(F20;ventasAnuales[#Enc
abezados];0);FALSO ).
Ÿ 3. Lo nuevo en la función BUSCARV, es el tercer parámetro el de las
columnas, allí utilizaremos la función COINCIDIR, la coincidencia será
del dato “Producto” en la matriz ventasAnuales, que son nuestro datos,
lo nuevo [#Encabezados] , determina que nuestra tabla tiene
encabezados para coincidir con el “Producto”.
Ÿ 4. Por último cambiar los datos de las Sedes y el producto, escribiendo
como aparece en la tabla.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/buscarv-en-dos-dimensiones/
Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook
35
Ing. Alfonso Lenis
Reto #20 de 40 Microsoft Excel MVP

Sumar las últimas columnas en


Excel automáticamente
Al combinar los elementos como se
explica en el vídeo del presente artículo,
se garantiza que al Sumar las últimas

www.EspecialistasEnExcel.com
columnas en Excel, la referencia a las
columnas a sumar siempre será
dinámica, ya que independiente de que
se adicionen más campos o columnas, la
formula que se implementa siempre
hará referencia a las últimas columnas

#Reto40Excel
que se definan, ya que pueden ser las Imagen 1.

últimas, 5, 4, 3 o las que se definan.

v.2015
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere mantener


actualizado el total de las ventas de los dos últimos productos ingresados, si se
adiciona un nuevo producto, este debe ser parte de los últimos

Solución:

Ÿ 1. Veamos qué es lo que queremos hacer, teniendo una tabla (Imagen


1.) vamos a hallar el total que suma las últimas dos columnas, podría
hacerse con la función SUMA simplemente, sin embargo, lo que se
quiere, es que cada vez que se adiciona un Producto es decir una
columna, se sumen las últimas dos columnas, por tanto si se adiciona la
columna ProductoD, se sumará las columnas ProductoC+ProductoD
Ÿ 2. Seleccionaremos la tabla de la imagen 1, vamos a la ficha INICIO y
damos click en “Dar formato de tabla”, seleccionamos un formato
cualquiera.
Ÿ 3. Al darle el formato la tabla quedará Imagen 2.
seleccionada, teniéndola seleccionada, iremos a
la ficha DISEÑO y cambiaremos el nombre de la
tabla, le pondremos ventas (Imagen 2.).
Ÿ 4. Vamos a generar la fórmula para hacer la suma
de as últimas dos columnas, resaltaremos dos celdas como se ve en la
imagen 3 para colocar la fórmula.
Ÿ 5. Ahora, en la celda H19 colocaremos la fórmula
=SUMA(INDICE(ventas;0;COLUMNAS(ventas)-1);
Ÿ INDICE(ventas;0;COLUMNAS(ventas))). Recuerde que la función
INDICE devuelve un rango de celdas donde el primer parámetro es el
rango de datos que en éste caso es la tabla ventas, el segundo

36
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #20 de 40
parámetro es la fila de referencia y el tercer Imagen 3.
parámetro la columna de referencia, sin
embargo como puede ver, en el tercer
parámetro está COLUMNAS(ventas)-1. La
función COLUMNAS devuelve el número de
columnas que tiene una tabla para éste
caso 4, por tanto, necesitaremos primero la
www.EspecialistasEnExcel.com

referencia de la columna anterior a la


última (para el caso es la 3, pero recuerde que
puede ser tablas de más o menos columnas),
es decir, en éste caso COLUMNAS(ventas)-1 devolverá el número 3.
Igualmente para el segundo uso de la función INDICE se utiliza
COLUMNAS(ventas), Note que ahora no se resta ya que la suma va a ser
#Reto40Excel

entre la penúltima y la última columna donde COLUMNAS(ventas) es la


última columna de la tabla sea cual sea la cantidad de columnas que
tenga la tabla.
v.2015

Ÿ 6. Observe las siguientes imágenes, sin modificar la fórmula de la celda


H19, agregaremos columnas a la tabla y tenga en cuenta el valor que se
obtendrá en la celda H19

Imagen 4. Imagen 5.

Imagen 6.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/sumar-las-ultimas-columnas-en-excel/

37 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #21 de 40 Microsoft Excel MVP

Tablas dinámicas, mostrar


meses que no tienen registro
En el presente artículo se mostrará como desde Imagen 1.

un rango de celdas de información que tiene


datos de meses y valores de ventas, se aplicará

www.EspecialistasEnExcel.com
las tablas dinámicas en Excel para mostrar la
información agrupada por meses, teniendo en
cuenta como punto adicional que en algunos
meses del año no se realizaron ventas, razón
por la cual dichos meses no aparecerán en la
tabla dinámica, sin embargo se configurará la

#Reto40Excel
tabla dinámica para que visualice aquellos
meses de los cuales no se tenga registro
alguno.

v.2015
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere mostrar las Ventas
Anuales totalizadas por mes, teniendo en cuenta que algunos meses no tienen registro
de ventas, para estos casos debe aparecer el mes con valor cero (0).

Solución:

Ÿ 1. Observe que de los datos de la columna fecha (Imagen 1.) ninguno


tiene el mes de Enero, Septiembre, Diciembre, etc. Queremos que
cuando generemos la tabla dinámica, éstos meses
también aparezcan y su valor sea cero (0).
Ÿ 2. Nos posicionamos en una de las celdas de la tabla
de la imagen 1 y vamos a la ficha INSERTAR, damos
click en “Tabla dinámica” (Imagen 2.) y aparecerá un Imagen 2.
cuadro de diálogo, seleccionaremos en
“Elija dónde desea colocar el informe...”
la opción “Hoja de cálculo existente” y en
“Ubicación” seleccionaremos la celda a
partir de donde se verá la tabla dinámica.
Para éste caso la celda E30. y damos click
en aceptar
Ÿ 3. Aparecerá un cuadro de referencia
donde estará ubicada la tabla dinámica y
al lado derecho de la pantalla aparecerán Imagen 3.

38
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #21 de 40
los campos de la tabla dinámica. Seleccionaremos Imagen 4.
“Fecha” y “Valor” la tabla dinámica quedará como la
imagen 4.
Ÿ 4. Daremos click derecho sobre la tabla dinámica
(Imagen 4.) y seleccionaremos la opción agrupar, en
el cuadro de diálogo que aperece simplemente
colocaremos en “Comenzar en:” 01/01/2015 y en
www.EspecialistasEnExcel.com

“Terminar en:” 31/12/2015 , es decir un año


completo. Seguidamente damos click en Aceptar.
Vamos a notar que la tabla dinámica se reducirá a los
meses que tenemos en los datos (Imagen 5.)
Ÿ 5. Ahora, damos click derecho sobre la tabla dinámica
resultante (Imagen 5.) y seleccionamos la opción
#Reto40Excel

configuración de campo, se abrirá un cuadro de Imagen 5.


diálogo (Imagen 6.) damos click en la pestaña
“Diseño e impresión” y seleccionamos la opción
v.2015

“Mostrar elementos sin datos”.


Ÿ 6. La tabla dinámica resultante tendrá meses que no
estaban entre los datos,
pero también aparecerá el Imagen 6. Imagen 7.

rango de fecha (del


01/01/2015 hasta
31/12/2015), para quitar el
rango, damos click en el
filtro y quitamos esos
rangos (Imagen 7.)
Ÿ 7. Por último, debemos
hacer que las celdas en
blanco que corresponden al valor del mes, tengan valor cero (0), para
hacerlo, damos click derecho sobre la tabla dinámica y seleccionamos la
opción “Opciones de tabla dinámica”, en el cuadro de diálogo que se
despliega (Imagen 8.), en la pestaña “Diseño y formato” colocaremos 0
en “Para celdas vacías, mostrar:”

Imagen 8.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/tablas-dinamicas-sin-registro/

39 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #22 de 40 Microsoft Excel MVP

Actualizar una Tabla Dinámica


automáticamente
Uno de los inconvenientes que Imagen 1.

presentan las tablas dinámicas en


Excel es que por defecto no se

www.EspecialistasEnExcel.com
van actualizan automáticamente,
es decir, si se hacen modificaciones
a los datos fuente, este cambio no
se ve reflejado inmediatamente en
la tabla dinámica que depende de
dicho datos.

#Reto40Excel
v.2015
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere actualizar la Tabla


Dinámica cada que se actualice los datos fuente.

Solución:

Ÿ 1. Como se ha dicho antes, las tablas dinámicas son una herramienta


muy potente en Excel, sin embargo, no se actualizan automáticamente
cuando se modifica el origen de los datos.
Ÿ 2. Para hacer que se actualicen los datos automáticamente debemos
hacer una macro. Recuerde, siempre que trabajamos con macros se
debe guardar como Libro de Excel habilitado para macros. como se hizo
en la imagen 5. reto #6.
Ÿ 3. Abrimos el editor de Visual Basic en la ficha DESARROLLADOR, click
en Visual Basic o con la combinación de teclas Alt+F11, en la parte
izquierda damos doble click en ThisWorkbook (rectángulo rojo Imagen
2.), se desplegará la ventana para generar el código, el cuál será muy

Imagen 2.

por lo tanto muy sencillo.


Ÿ 4. Seleccionamos en “General” (rectángulo rojo Imagen 3.) Workbook,
y en “Declaraciones” (rectángulo azul Imagen 3.) seleccionamos

40
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #22 de 40
SheetSelectionChange, borramos Private Sub Workbook_Open() End
Sub, ya que solo trabajaremos con la declaración anterior.
www.EspecialistasEnExcel.com

Imagen 3.

Ÿ 5. Como sabemos Private Sub Workbook_SheetSelectionChange(ByVal


Sh As Object, ByVal Target As Range) es el inicio de nuestra macro, en
éste caso podemos ver valores dentro de los paréntesis, son parámetros
que utiliza la Declaración en sus procesos internos, son procesos ya
#Reto40Excel

definidos. Solamente colocaremos la línea ActiveWorkbook.RefreshAll,


lo que hace es actualizar no solamente la hoja de cálculo, sino el Libro
completo cada que haya una modificación, la última línea End Sub cierra
v.2015

la macro
Ÿ 6. Por último probamos que la tabla dinámica se actualice
automáticamente.

Imagen 4.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/actualizar-tabla-dinamica/

41 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #23 de 40 Microsoft Excel MVP

Formato Condicional: Identicar


con color si Existe en Excel
El Formato Condicional en Excel tiene
muchas utilidades de acuerdo a la
necesidad que se tenga y al

www.EspecialistasEnExcel.com
conocimiento de esta herramienta, ya
que presenta varias opciones a aplicar
con base en el cumplimiento de uno o
varios criterios para definir un formato
especifico de acuerdo al cumplimiento
de dichos criterios o condiciones. En

#Reto40Excel
algunos momentos se requiere que en
Excel se identifique de forma rápida si
un dato o valor se encuentra en

v.2015
determinado rango de celdas, es decir,
que permita consultarse y asignar un
formato o un color a la celda si el valor o
dato consultado se encuentra en el
rango en donde se está buscando, esto
se puede realizar a través del Formato Imagen 1.

Condicional en Excel.
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere identificar de los


estudiantes de derecho cuales fueron escogidos para la selección de fútbol de la
universidad, identificar con un color aquellos estudiantes que fueron seleccionados.

Solución:

Ÿ 1. Seleccionamos los
estudiantes de la columna
“Nombre” de la tabla de
“Jugadores seleccionados”,
vamos a la ficha INICIO,
damos click en “Formato
condicional” en “Nueva
regla”.
Ÿ 2. Como hemos visto antes
con el formato condicional, se
abrirá un cuadro de diálogo
(Imagen 2.), seleccionamos Imagen 2.

42
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #23 de 40
“Utilice una fómula que determine las celdas...”, en la parte de abajo
colocaremos la fórmula y más abajo le daremos el formato que
queramos.
Ÿ 3 . E n l a c a s i l l a d e f ó r m u l a c o l o c a r e m o s
=CONTAR.SI($D$8:$D$21;G8)>0, la función CONTAR.SI ya se ha
trabajado en retos anteriores, lo que hace es contar cuántas veces está
el segundo parámetro en el rango de datos que es el primer parámetro.
www.EspecialistasEnExcel.com

En éste caso, el rango de datos son los estudiantes de derecho


$D$8:$D$21 y el dato a buscar será cada uno de los “Nombres” de los
jugadores que fueron seleccionados G8, por eso no hay una referencia
absoluta, ya que se evaluará cada uno.
Ÿ 4. Entonces, si la función CONTAR.SI es mayor a cero (0) es porque se
encontró esa coincidencia entre los estudiantes de derecho y se le
#Reto40Excel

aplicará el formato deseado a la celda.


v.2015

Imagen 3.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/formato-condicional-identificar-si-existe/

43 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #24 de 40 Microsoft Excel MVP

Macro en Excel con ejecución


al Abrir el archivo
Se desarrollará Macro en Excel con ejecución al
Abrir el archivo, para realizar este
comportamiento en la macro se debe definir

www.EspecialistasEnExcel.com
correctamente el lugar o el objeto sobre el cual
se debe registrar el código de la macro. En este
recurso que se comparte, se aprenderán dos
ítems bien relevantes, el primero consiste en
desarrollar correctamente la macro en Excel
con ejecución al Abrir el archivo y como

#Reto40Excel
segundo punto, se aprenderán a mostrar
mensajes informativos los cuales se
programan desde el edito VBA de Excel para las

v.2015
Imagen 1.
macros.
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere desarrollar macro


que cuando se abra el archivo muestre cuantas llamadas pendientes hay.

Solución:

Ÿ 1. No olvide que, siempre que se trabajamos macros en Excel es muy


importante que el archivo sea guardado como Libro de Excel habilitado
para macros. como se hizo en la imagen 5. reto #6
Ÿ 2. La idea principal es que cuando se abra el archivo se genere una
acción inmediatamente. Abriremos el editor de Visual Basic, esto es, en
la ficha DESARROLLADOR o con la combinación de teclas Alt+F11
Ÿ 3. Damos doble click sobre ThisWorkbook, para empezar a digitar el
código, además en la lista “General” escogemos la opción Workbook, al
hacerlo se generará las siguientes líneas de código
Private Sub Workbook_Open()

End Sub

Imagen 2.

44
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #24 de 40
Ÿ 4. EL Sub Workbook_Open() determina las acciones que se harán
cuando el archivo se abra. Para nuestro caso utilizaremos un método
muy parecido al de la función CONTAR.SI, se dice muy parecido ya que,
en Visual se escribe diferente pero tiene la misma funcionalidad,
entonces, en la imagen 2 ubicaremos las líneas de código, donde la
primera línea después del Sub Dim cantidad As Long declara una
variable y en la siguiente línea se le asigna un valor a esa variable con:
www.EspecialistasEnExcel.com

c a n t i d a d = Wo r k s h e e t F u n c t i o n . C o u n t I f ( Ra n g e ( " G 8 : G 4 2 " ) ,
"Pendiente"), WorksheetFunction.CountIf es la función como si fuera
CONTAR.SI, por otras macros que se han hecho Range es un rango de
celdas o una celda y “Pendiente” es el dato que se va a comparar en la
función para saber si hay coincidencias, es decir, para éste ejercicio,
cantidad tendrá el total de llamadas Pendientes.
#Reto40Excel

Ÿ 5. Teniendo la cantidad de llamadas pendientes, haremos la condición If


cantidad > 0 Then, determinando si hay o no llamadas Pendientes, ya
que si cantidad es igual a cero pues no hay llamadas Pendientes no
v.2015

entraría en la condición. Si hay llamadas Pendientes


MsgBox "Tiene " & cantidad & " llamadas pendientes el día de hoy",
vbCritical, "Llamadas a realizar”
Lo que hace la anterior línea es generar un mensaje, como cuando se
tiene un error con Windows o el mismo Office.
Ÿ 6. Recuerde que & se utiliza para concatenar cadenas de texto con
variables, vbCritical es el tipo de aviso que saldrá (coloque uno diferente y
pruébelo), “Llamadas a realizar” es el título de la ventana de aviso.
Ÿ 7. Por último, cerramos el If con End If. Ahora, para probar el resultado,
cerramos el archivo (Recuerde hacer el punto (1) antes de cerrar) y
abrimos nuevamente el archivo (Imagen 3.)

Imagen 3.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/macro-ejecucion-al-abrir-el-archivo/

45 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #25 de 40 Microsoft Excel MVP

Grácos combinados
en Excel
Los Gráficos combinados en Excel Imagen 1.

permiten por ejemplo visualizar


la información de dos gráficos

www.EspecialistasEnExcel.com
distintos en un solo, esto facilita
la comprensión de los datos que
se encuentren en la hoja de
cálculo. A través de este vídeo se
aprenderá la forma en que se
puede trabajar con gráficos

#Reto40Excel
combinados en Excel y de esta
forma se puede luego
personalizar las diferentes

v.2015
opciones del gráfico.
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere crear un solo gráfico
donde se visualice la información de las Ventas proyectadas vs Ventas reales

Solución:

Ÿ 1. Lo principal en este reto, es poder visualizar dos


tipos de gráficos en uno solo, para este caso
generaremos un gráfico de barras para las ventas
proyectadas y uno de línea para las ventas reales.
Ÿ 2. Seleccionamos la tabla de la imagen 1, vamos a
la ficha INSERTAR, damos click en “Insertar gráfico
de líneas” -> “Línea con marcadores”.(Imagen 2.) Imagen 2.
Ÿ 3. En el gráfico que aparece, podemos ver que se
generaron dos líneas, una naranja y otra azul, las cuales son las ventas
reales y las ventas proyectas respectivamente. (Imagen 3.)

Imagen 3.

46
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #25 de 40
Ÿ 4. En la línea azul del gráfico
damos click derecho y
seleccionamos la opción
“Cambiar tipo de gráfico de
series” (Imagen 4.)
Ÿ 5. En el cuadro de diálogo que
aparece damos click en
www.EspecialistasEnExcel.com

“ C o l u m n a s a g r u p a d a s ”,
seguidamente, damos click en Imagen 4.

Aceptar.
Ÿ 6. Por último, queda modificar el
título del gráfico, el color o como
queramos personalizarlo.
#Reto40Excel
v.2015

Imagen 5.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/graficos-combinados-en-excel/

47 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #26 de 40 Microsoft Excel MVP

Macro en Excel para ordenar


Alfabéticamente las hojas
Un hábito común que se tiene al trabajar Imagen 1.

en Excel es estar ubicando o moviendo


las hojas de acuerdo a la necesidad, ya

www.EspecialistasEnExcel.com
que en ocasiones se requiere ubicar una
hoja antes o después de otra y se hace
más común este proceder cuando se
tienen muchas hojas, posteriormente de
que se haya realizado o se haya
trabajado se necesita ubicarla a la

#Reto40Excel
posición a la que pertenece la hoja u
ordenarla de acuerdo a lo que se
requiere, en el artículo de hoy

v.2015
aprenderás a crear macro en Excel para
ordenar Alfabéticamente las hojas con el
fin que no lo hagas de forma manual.
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere ordenar


ascendentemente todas las hojas del archivo.

Solución:

Ÿ 1. No olvide, siempre que se trabajamos macros en Excel es muy


importante que el archivo sea guardado como Libro de Excel habilitado
para macros. como se hizo en la imagen 5. reto #6
Ÿ 2. Lo que se va a hacer es; generar una macro que organice las Hojas
ascendentemente, es decir que 1-Enero sea la primera, 2-Febrero la
segunda y así sucesivamente. Empezaremos por abrir el editor de Visual
Basic haciendo la combinación de teclas Alt+F11.
Ÿ 3. Crearemos un módulo nuevo, dando un click derecho sobre
ThisWorkbook, “Insertar”->”Módulo”.
Imagen 2.

48
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #26 de 40
Ÿ 4. En la imagen 2, observamos todo el código empleado para ordenar
las hojas, en la primera línea Sub ordenarHojas() como ya sabemos da
el inicio de la macro, la segunda y tercer lína Dim x As Integer, Dim y As
Integer declaran variables, en éste caso de tipo Entero.
Ÿ 5. La siguiente línea, For x = 1 To Sheets.Count - 1, es nuevo para
nosotros la estructura, pero ya conocemos un ciclo, ésta sentencia
asigna un valor a x, y con la sentencia Next x hace el conteo de la
www.EspecialistasEnExcel.com

variable hasta To Sheets.Count - 1, que es la cantidad de hojas en el


documento menos 1. Análogamente para For y = x + 1 To Sheets.Count,
sin embargo, aquí la variable es y = x + 1 e irá hasta To Sheets.Count el
total de hojas, el objetivo de los ciclos es recorrer cada hoja, cuando
x=Hoja1 entonces y=Hoja2, esto para comparar esas dos hojas y saber
cuál es mayor o menor con la condición:
#Reto40Excel

If StrComp(Sheets(x).Name, Sheets(y).Name) > 0 Then


Sheets(y).Move Sheets(x)
End If.
v.2015

Ÿ 6. StrComp(Sheets(x).Name, Sheets(y).Name) compara las dos hojas


y devuelve un valor mayor a cero si una es mayor a la otra, entonces, si
se cumple hará Sheets(y).Move Sheets(x) que moverá Sheets(y) con
respecto a Sheets(x).
Ÿ 7. Luego de la condición se coloca la sentencia Next y que es el contador
del segundo ciclo.
Ÿ 8.Por último, en la ficha DESARROLLADOR, damos click en “Insertar”
Botón, lo dibujamos en la hoja de cálculo y le asignaremos la macro que
acabamos de hacer. Probamos y el resultado debe ser:

Imagen 3.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/macro-en-excel-ordenar-hojas/

49 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #27 de 40 Microsoft Excel MVP

Función BuscarV con


Comodines
En los casos que
apliquemos o utilicemos la
función BuscarV para

www.EspecialistasEnExcel.com
consultar y extraer
determinada información
de un rango de celdas y
que el dato buscado que
se encuentra en dicho
rango tenga por ejemplo

#Reto40Excel
espacios a la derecha
mientras que el dato que Imagen 1. Hoja 1, Reto40Excel Hoja 2, Productos

se está consultando no los

v.2015
tiene, Excel en ese caso nos retornará error #N/A, ya que no encontró el
dato en cuestión, veremos entonces cómo solucionar este inconveniente
en este reto.
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Extraer las ventas de los
productos desde la hoja Productos.

Solución:

Ÿ 1. Ya se ha trabajado con la función BUSCARV, sin embargo el ejercicio


en la Hoja 1 de la imagen 1 se muestra en la columna ventas un #N/A al
haber aplicado la función BUSCARV con los productos de la segunda
hoja. El inconveniente aquí es, algunos de los producto a por lo menos el
Producto B en la tabla de la Hoja 2 tiene algunos espacios de mas, es
decir que al buscar exactamente Producto B no coinciden con las
cadenas de texto.
Ÿ 2. Por tanto usaremos un comodín, en este caso *, el cual hace una
coincidencia más general donde se buscará que el dato buscado valga la
redundancia, para este caso Producto B esté escrito en la cadena, es
decir, si en la tablad de la Hoja 2, está escrito como Producto B_______,
con el guión al piso como espacios, lo reconocerá simplemente como
Producto B y la coincidencia se logrará con el dato que buscamos
obteniendo el valor que deseamos.
Ÿ 3. Normalmente la fórmula que hemos utilizado quedaría,
=BUSCARV(E8;Productos!$B$4:$C$15;2;FALSO), donde el primer

50
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #27 de 40
parámetro es el valor buscado, el segundo parámetro
Productos!$B$4:$C$15 es el rango de datos, para este caso el rango se
encuentra en la Hoja 2: Productos. El tercer parámetro es la columna
que nos interesa del rango de datos y el último parámetro es False que
es la coincidencia exacta.
Ÿ 4. Para que la fórmula funciones adicionaremos el comodín * esto es,
=BUSCARV(E8&"*";Productos!$B$4:$C$15;2;FALSO), a la celda o
www.EspecialistasEnExcel.com

dato que buscaremos se le concatenará &”*” y eso es todo. Es un


ejercicio simple pero tiene mucha funcionalidad en casos particulares.
#Reto40Excel
v.2015

Imagen 2.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/funcion-buscarv-con-comodines/

51 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #28 de 40 Microsoft Excel MVP

Crear Serie de datos


en Excel
La utilización de Serie de datos en Excel
nos permite autorellenar o completar
una lista de valores a partir un dato

www.EspecialistasEnExcel.com
inicial, un ejemplo claro de esto son los
días de la semana o los meses del mes,
están también son consideradas listas
personalizadas en Excel las cuales
pueden ser creadas de acuerdo a la
necesidad de cada persona.

#Reto40Excel
Imagen 1.

v.2015
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Crear serie de datos para los
Productos del listado.

Solución:

Ÿ 1. Para entender lo que es una serie de datos en Excel,


veamos la imagen 2, donde a partir de escribir Enero y
Febrero, los seleccionamos y arrastramos, al hacerlo, Excel
automáticamente colocará los siguientes meses.
Ÿ 2. Para el ejercicio, debemos hacer que Excel genere
automáticamente los productos de la imagen 1 como con
los meses. Imagen 2.

Ÿ 3. Damos click en Archivo, luego en Imagen 4.

Opciones, luego en Avanzadas (Imafgen 3


y 4).
Ÿ 4. En la imagen 5 podemos visualizar las
opciones Avanzadas, lo que haremos será Imagen 3.
bajar con el Scroll del mouse o barra de
desplazamiento vertical y buscar la sección “General” que
está casi en el final, daremos click sobre el botón “Modificar
listas personalizadas” que está junto a “Cree listas para
utilizar con criterios de ordenación y secuencias de relleno”.

52
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #28 de 40
www.EspecialistasEnExcel.com

Imagen 6.

Imagen 5.

Ÿ 5. Luego, aparecerá un cuadro de diálogo (Imagen 6.) lo que haremos


#Reto40Excel

será colocar el rango de datos que queremos volver una serie, entonces,
nos ubicamos en “Importar lista desde las celdas” y seleccionamos el
rango de celdas, damos click en “Importar” y luego en Aceptar. Damos
v.2015

nuevamente Aceptar.
Ÿ 6. Hacemos la prueba escribiendo el primer producto, esto es, Producto
B, al arrastrar la celda, podemos notar que se va a ir generando la serie.
(Imagen 7. y 8.)
Ÿ

Imagen 7. Imagen 8.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/crear-serie-de-datos-en-excel/

53 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #29 de 40 Microsoft Excel MVP

Formato condicional: Identicar


fechas de un mes en Excel
A través del formato condicional en Excel se Imagen 1.

pueden aplicar diferentes condiciones para


identificar uno o un grupo de celdas que cumplan

www.EspecialistasEnExcel.com
con determinados criterios, en el artículo se
explicará cómo se puede utilizar el formato
condicional para identificar fechas de un mes con
base en una fecha inicial o fecha de entrada.
A partir de una fecha se consultará su mes y año y
con base en estos datos de entrada se identificará

#Reto40Excel
que otras fechas corresponde al mismo mes y al
mismo año, para esto se implementará un
fórmula en la herramienta Formato Condicional en

v.2015
Excel.
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere identificar las fechas
de vuelo que tengan el mismo mes y año que la fecha de consulta.

Solución:

Ÿ 1. En la celda E6 tenemos la “Fecha de consulta”, vamos a compararla


con las fechas de “Fechas de vuelo” usando el formato condicional, para
esto primero seleccionamos las “Fechas de vuelo”, vamos a la ficha
INICIO en “Formato condicional” danos click en “Nueva regla”.
Ÿ 2. Seleccionamos la opción “Utilice una fórmula que determine las
celdas para aplicar formato” y en el espacio de escritura colocamos
=MES($E$6)&AÑO($E$6)=MES(E9)&AÑO(E9), donde la función MES
de 01/10/2015 devuelve solamente 10, y AÑO devolvería 2015,
entonces se comparará la celda $E$6 siempre fija con cada una de las
celdas de “Fechas de vuelo” por eso E9 se coloca sin referencia absoluta.
Ÿ 3. Ahora, damos click en el botón dar formato y escogemos color de
relleno, fuente... lo que necesitemos. Por último damos click en Aceptar

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/formato-condicional-fechas-mes/
Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook
54
Ing. Alfonso Lenis
Reto #30 de 40 Microsoft Excel MVP

Función SUMAR.SI para un


rango de fechas en Excel
Aplicaremos la función SUMAR.SI para
hacer la suma de valores con base en el
cumplimiento de una condición, en

www.EspecialistasEnExcel.com
este caso la condición corresponde a
determinar sin un rango de celdas se
debe tener en cuenta en dicha suma,
adicional durante el mismo ejercicio se
utiliza la función SI en Excel para
determinar que registros cumplen con

#Reto40Excel
algunos requisitos.

v.2015
Imagen 1.
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere con base en el rango
de fechas ingresado, sumar las ventas de todas las sedes.

Solución:

Ÿ 1. En la parte superior de la imagen 1 hay un periodo de tiempo que va


desde 01/05/2015 hasta 15/05/2015, se busca hallar el total de ventas
en ese periodo para cada sede, es decir, si éste periodo se encuentra
entre el periodo de cada sede (tabla inferior Imagen 1.) se debe sumar
las ventas correspondientes a la sede.
Ÿ 2. Para hacer el ejercicio debemos utilizar tres columnas auxiliares
(Imagen 2). En la celda H12
de la columna “Validar Desde”
colocaremos la fórmula
=E12<=$E$7, lo que hace, es
evaluar si la fecha de la sede
es menor o igual a la “Fecha
Desde” de la condición inicial,
si se cumple el resultado es
VERDADERO sino es FALSO.
Ÿ 3. Para la columna “Validar
Hasta” hacemos un proceso Imagen 1.

55
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #30 de 40
análogo al anterior pero la fórmula será, =F12>=$E$6, evaluando las
fechas finales, además, note que $E$6 tiene referencia absoluta, ya que
el valor siempre es el mismo.
Ÿ 4. En la columna “Sumar” colocaremos en la celda J12 la fórmula
=SI(Y(H12=VERDADERO;I12=VERDADERO);"SI";"NO"), es decir si las
condiciones anteriores se cumplen la fórmula arrojará SI sino NO. Para
tener la referencia de qué valores sumar o No
www.EspecialistasEnExcel.com

Ÿ 5. En “Total Ventas” en la celda E9 colocaremos la fórmula,


=SUMAR.SI(J12:J24;"SI";G12:G24), donde J12:J24 es el rango de
datos de la columna “Sumar”, allí la función SUMAR.SI evaluará las
celdas que tengan el dato “SI” y G12:G24 es el rango de suma, que se
hará cada que cumpla la condición anterior.
Ÿ 6. Por último verificamos que la suma se evidentemente la que
#Reto40Excel

corresponde, además de generar nuevos periodos de fechas para


probar.
v.2015

Imagen 3.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/crear-serie-de-datos-en-excel/

56 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #31 de 40 Microsoft Excel MVP

Crear gráco en Excel a partir


de varias hojas
En algunas compañías o
empresas, la información
la administran por año, es

www.EspecialistasEnExcel.com
decir, cada hoja o archivo
corresponde a un año y en
caso de querer crear
gráfico en Excel a partir
de toda esta información,
se puede hacer sin que la

#Reto40Excel
información origen se vea
afectada, ya que Excel
permite la creación de un

v.2015
gráfico donde la
información se encuentre Imagen 1.
Hoja 1, Año 2014 Hoja 2, Año 2015

distribuida en diferentes
hojas de Excel.
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere con base en el rango
de fechas ingresado, sumar las ventas de todas las sedes.

Solución:

Ÿ 1. En la imagen 1 tenemos dos tablas cada una en una hoja diferente


con valores de 13 sedes, año 2014 y año 2015, vamos a utilizar una
herramienta en Excel que nos permite en una gráfica colocar valores de
diferentes Hojas.
Ÿ 2. Seleccionamos los datos de la Hoja 1, vamos a la ficha INSERTAR y
seleccionamos un gráfico de barras. (En éste caso se usó columna apilada)
Imagen 2.

57
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #31 de 40
Ÿ 3. Damos un click en el gráfico y en la ficha
DISEÑO, damos click en “Seleccionar datos”
(Imagen 3.)
Ÿ 4. Se abrirá un cuadro de diálogo en el que
daremos click en “Agregar”(Imagen 4.) y
saldrá otro cuadro de diálogo. Imagen 3.
Ÿ 5. Ahora, vamos a borrar
www.EspecialistasEnExcel.com

los valores que haya en las


dos cajas de texto, nos
posicionaremos en
“ Va l o r e s d e l a s e r i e ”
(Imagen 5.), segui-
damente vamos a la Hoja
#Reto40Excel

2 : A ñ o 2 0 1 5 y
seleccionaremos SOLA-
M E N T E v a l o r e s d e l a Imagen 4.
v.2015

columna “Ventas 2015" sin


encabezado. Y en “Nombre de la serie”
seleccionamos el encabezado de la
columna, es decir, “Ventas 2015”, damos
click en Aceptar y nuevamente damos click
Imagen 5.
en Aceptar.
Ÿ 6. El resultado debe ser como la imagen 6, observe que si nos
posicionamos sobre una de las barras naranja dice: Serie “Ventas 2015”

Imagen 6.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/grafico-en-excel-varias-hojas/

58 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #32 de 40 Microsoft Excel MVP

Formato Condicional: Identicar


con iconos valores correctos
e incorrectos
En el reto de este día te explicaremos
cómo aplicar formato condicional en

www.EspecialistasEnExcel.com
Excel para identificar con iconos valores
correctos e incorrectos, teniendo como
referencia que los valores correctos son
los valores que esperamos y los valores
i n c o r r e c t o s , l o s va l o r e s q u e n o
esperamos que existe la posibilidad que

#Reto40Excel
registren en Excel.

v.2015
Imagen 1.
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Identificar con iconos el


porcentaje de avance de cada actividad teniendo en cuenta lo siguiente: Si el
porcentaje es inferior a 50%, el resultado se considera deficiente, si está entre 50% y
80% es regular y superior a 80 se considera el apropiado.

Solución:

Ÿ 1. Recomendamos que mires nuevamente el ejercicio del reto #16,


vamos a seleccionarlos y a copiar los porcentajes en la columna
siguiente (Imagen 1).
Ÿ 2. Seleccionamos los datos que acabamos de copiar, vamos a la ficha
INICIO, damos click en “Formato condicional” y click en “Nueva regla”.

Imagen 2.

59
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #32 de 40
Ÿ 3. Seleccionamos en “Estilo de formato” Conjunto de iconos (rectángulo
rojo Imagen 2.), seleccionamos Número y Número en las dos listas
(rectángulo amarillo Imagen 2.), en el rectángulo azul escribimos 0,81
al ser mayor el dato colocará el icono de visto bueno, en el rectángulo
verde colocaremos 0,51, ya que el rango irá de 0,51 a 0,81, por último el
icono rojo con una x aparecerá cuando el valor sea menor a 0,51.
Ÿ 4. Por último seleccionamos “Mostrar icono únicamente” (rectángulo
www.EspecialistasEnExcel.com

negro Imagen 2.), seguidamente damos click en Aceptar. El resultado


debe quedar como se muestra a continuación,
#Reto40Excel
v.2015

Imagen 3.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/formato-condicional-valores/

60 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #33 de 40 Microsoft Excel MVP

Inputbox para Ingreso de


Datos en Excel y Proteger Hoja
Un Inputbox en
Excel es un cuadro
de diálogo de

www.EspecialistasEnExcel.com
diseño especial
q u e p e r m i t e Imagen 1.
solicitar un dato al
usuario y utilizar esta información de acuerdo a una necesidad específica.
La estructura de un Inputbox está compuesta por un título, un mensaje
para indicar lo que se debe ingresar, un cuadro de texto para el usuario, y

#Reto40Excel
dos botones: Aceptar y Cancelar.
Ejercicio
a Resolver

v.2015
A partir de los datos que se muestran en la imagen 1. Diligenciar el Nombre, Apellidos y
Número de Identificación de personas implementando Inputbox.

Solución:

Ÿ 1. En la imagen 1 aparecen tres celdas; Imagen 2.

Nombre, Apellidos, ID,


vamos a utilizar el
InputBox para llenar los
datos correspondientes a
las celdas anteriores.
Ÿ 2. Primero vamos a
proteger la Hoja
manualmente, para
hacerlo, vamos a la ficha
REVISAR, damos click en
“Proteger hoja” (Imagen
2.), en el cuadro de diálogo
que aparece escribimos Imagen 3.
una contraseña, nos pedirá
confirmación y la volvemos a escribir en éste caso usaremos 123.
Ÿ 3. Ahora, vamos al editor de Visual Basic e insertamos un módulo nuevo
(si hay dudas, revisar el reto #6), en el editor colocaremos el código de
la imagen 3.
Ÿ 4. Veamos cada línea de la imagen 3, Sub guardarDatos(), como
sabemos cada macro comienza ésta forma simplemente se coloca un
nombre, Dim nombre As String, Dim apellidos As String, Dim cedula

61
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #33 de 40
As String, Dim ultimaFila As Long, cada uno es una variable que se ha
declarado y son de tipo String , es decir, tipo texto, ultimaFila es de tipo
Long que es un entero largo.
Ÿ 5. Las líneas de código que comiencen con comilla simple (’) son
comentarios, es decir que no tienen funcionalidad alguna en el código
más que informar al usuario, ActiveSheet.Unprotect Password:="123",
es la sentencia para desproteger la Hoja, ya que estando protegida no
www.EspecialistasEnExcel.com

se podrá hacer ninguna modificación.


nombre = InputBox("Ingrese Nombre")
apellidos = InputBox("Ingrese Apellidos")
cedula = InputBox("Ingrese Número de Identificación")
Las últimas líneas recibirán el dato correspondiente, escrito por el usuario
Ÿ 6. ultimaFila = Sheets("Reto40Excel").Range("F" &
#Reto40Excel

Rows.Count).End(xlUp).Row, es la línea de código que obtiene la última


fila usada en la columna F, en éste caso el nombre de la Hoja es
"Reto40Excel", sin embargo puede tener cualquier nombre,
v.2015

simplemente en Sheets("Reto40Excel") se colocará el nombre que


tenga la Hoja actual.
Ÿ 7. Sheets("Reto40Excel").Cells(ultimaFila + 1, 6) = nombre,
Sheets("Reto40Excel").Cells(ultimaFila + 1, 7) = apellidos,
Sheets("Reto40Excel").Cells(ultimaFila + 1, 8) = cedula.
Cells(ultimaFila + 1, 6) hace referencia a la celda específica en la que se
colocarán los datos, donde el primer parámetro es la fila, en éste caso
ultimaFila + 1 será la siguiente fila después de la última, es decir, si hay
registros los colocará en filas siguientes, el segundo parámetro es la
columna, sabemos que “Nombre” es la columna es F, sin embargo, en
Visual Basic no se maneja las columnas con letras sino con números, por
tanto la columna F corresponde al número 6, asimismo, G a 7 y H a 8.
Ÿ 8. La siguiente línea ActiveSheet.Protect Password:="123", vuelve a
bloquear la Hoja para que la información no sea modificada. Es
importante decir que la contraseña utilizada en éste ejercicio fue 123
pero pueden usar cualquiera siempre y cuando también la usen en el
código de Visual Basic.
Ÿ 9. Ahora, vamos a desproteger haciendo la misma operación que (2)
pero ahora dirá “Desproteger Hoja” pedirá la contraseña y listo,
insertaremos un botón para asignarle la macro y volvemos a hacer el
punto (2) proteger la hoja manualmente, ejecutamos el botón y
empezaremos a ver los registros como se van ubicando en cada fila.

Imagen 4.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/inputbox-en-excel/

62 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #34 de 40 Microsoft Excel MVP

¿Cómo crear Funciones con


VBA Excel?
Excel trae incorporadas funciones de Imagen 1.
todo tipo para facilitar el trabajo
cuando se trae de procesar información

www.EspecialistasEnExcel.com
ya sea texto o numérica, sin embargo
en ocasiones necesitamos de una
Funciones con VBA Excel con un comportamiento particular, es por ello
que en este tipo de casos es importante la creación de funciones
personalizadas.

#Reto40Excel
Ejercicio
a Resolver

v.2015
A partir de los datos que se muestran en la imagen 1. Crear macro que permita calcular
la edad de una persona a partir de su fecha de nacimiento.

Solución:

Ÿ 1. Para este ejercicio utilizaremos VBA, por tanto, debemos guardar el


archivo como Libro de Excel habilitado para macros. como se hizo en la
imagen 5. reto #6.
Ÿ 2. Abrimos el editor de Visual en ficha DESARROLLADOR, Visual Basic o
con la combinación de teclas Alt+F11. Luego, insertaremos un nuevo
módulo dando click derecho sobre “ThisWorkbook”.
Ÿ 3. En el espacio en blanco escribiremos el código de la imagen 2.
Ÿ 4 . U n a
diferencia
principal con
las macros
que se han
hecho antes, Imagen 2.
e s q u e
comienzan con Sub, sin embargo como se va a generar una función, la
línea inicial será, Function calcularEdad(fechaNacimiento As Date) As
Integer, donde calcularEdad es el nombre de la función y lo que está
entre paréntesis es el parámetro que el usuario va a ingresar As Integer
hace notar que el valor es entero.
Ÿ 5. Ahora, igual que en retos anteriores las líneas Dim fechaActual As
Date, Dim edadPersona As Integer son declaraciones de variables Note
que fechaActual está declarada como Date, es decir, que el dato lo

63
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #34 de 40
recibirá un valor de éste tipo 00/00/0000.
Ÿ 6. La línea fechaActual = Now, hace que fechaActual capture o guarde
la fecha actual con Now, por ejemplo 06/12/2015.
Ÿ 7. edadPersona = Year(fechaActual) - Year(fechaNacimiento), en esta
línea se resta el año actual con la fecha que suministró el usuario, ya que
Year(fechaActual) captura el año de 06/12/2015, note que el parámetro
fechaNacimiento es el dato que se captura del usuario.
www.EspecialistasEnExcel.com

Ÿ 8. calcularEdad = edadPersona, en esta línea se le asigna a la Función


calcularEdad, es decir, la resta entre el año que suministre el usuario y la
fecha actual para mostrarla en la celda requerida.
Ÿ 9. Por último, se coloca End Function para terminar la función.
Probamos el resultado. Colocando una fecha cualquiera, por ejemplo
01/01/2000 en la celda F7 y en la celda G7 colocamos =calcularEdad, al
#Reto40Excel

hacerlo podemos notar que se despliega la fórmula entre las funciones


que tiene Excel. Entonces, colocamos =calcularEdad(F7). (Imagen 3.)
v.2015

Imagen 3.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/crear-funciones-con-vba-excel/

64 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #35 de 40 Microsoft Excel MVP

BuscarV en Excel para encontrar


el 2do, 3er, 4to… valor coincidente
El caso que se expone
consiste en encontrar un
valor coincidente, teniendo

www.EspecialistasEnExcel.com
en cuenta que parte del
caso corresponde a solicitar
mostrar la información ya
sea del primer valor
coincidente, segundo,
tercer o cualquier

#Reto40Excel
existencia del valor
coincidente en el rango de
celdas, a través de la Imagen 1.

v.2015
aplicación de lógica y la
implementación de la función CONTAR.SI y BuscarV en Excel se dará
solución al caso de este reto.
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere consultar cuál fue el
viaje númer 2do, 3er, 4to, 5to.. de determinado turista.

Solución:

Ÿ 1. Se trata de mostrar cada viaje de cada turista, note que la tabla tiene
celdas en amarillo del turista Cristian Santa de los viajes que ha hecho el
viaje 1-España, 2-Venezuela, 3- Imagen 2.
Guatemala. Entonces, al colocar en
la tabla del lado derecho de la
imagen 1 Turista:Crisitan Santa y
Viaje:2, el país resultante será
Venezuela, pero si se cambia el
Viaje a 1, el país resultante será
España.
Ÿ 2. El ejercicio necesita una columna
auxiliar, en ella vamos a utilizar la
función CONTAR.SI, ésta columna
servirá de referencia para la función
BUSCARV por tanto, colocaremos la
columna antes de la columna
Turista(E), es decir que la colocaremos en la columna D. (Imagen 2.).

65
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #35 de 40
Ÿ 3. En las celdas de la columna auxiliar colocaremos la fórmula
=E7&CONTAR.SI($E$7:E7;E7), donde E7 va a ser el “Turista” en cada
celda, valor que se concatenará con el resultado CONTAR.SI, la cual
tiene como parámetros $E$7:E7 que es el rango desde $E$7 hasta la
celda correspondiente, es decir, hasta E7, en la siguiente celda E8 o E9
y así sucesivamente, el parámetro E7 es el dato que se busca en el
rango anterior.
www.EspecialistasEnExcel.com

Ÿ 4. Colocaremos “Cristian Santa” en la celda H7 y “2" en la celda I7


(Imagen 3.), en la celda J7, utilizaremos la fórmula concatenando
algunos valores =BUSCARV(H7&I7;D7:F24;3;FALSO), esto es el
parámetro H7&I7, que realmente es “Cristian Santa2", el dato que
buscaremos en el rango de datos D7:F24 que es el segundo parámetro y
el tercer parámetro 3 será la columna que necesitamos de ese rango de
#Reto40Excel

datos, por último Falso para la coincidencia exacta.


Ÿ 5. Lo final que haremos será cambiar los valores de la celda H7 e I7 para
probar lo que se ha hecho
v.2015

Imagen 3.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/crear-funciones-con-vba-excel/

66 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #36 de 40 Microsoft Excel MVP

Utilizando un ComboBox en
Excel como un hipervínculo
En Excel se pueden crear listas desplegables con el fin de mostrar un
conjunto de valores a seleccionar, uno de los objetos que permite esto es
un ComboBox en Excel, este elemento de por si es muy funcional en lo

www.EspecialistasEnExcel.com
referente a su alcance en la hoja de cálculo, en el articulo de hoy se
utilizará como un hipervínculo.
Para agregar un ComboBox en Excel se debe adicionar como un control
ActiveX a través de la ficha Desarrollador o Programador (Dependiendo la
versión de Excel) y posteriormente por opción Insertar en el grupo
Controles de Excel.

#Reto40Excel
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere crear objeto

v.2015
ComboBox que permita abrir las sedes de cada hoja.

Solución:

Ÿ 1. Colocaremos el objeto ComboBox, ubicado


en la ficha DESARROLLADOR, damos click en
“Insertar” entre los controles Active X
encontraremos el ComboBox (Imagen 1.)
Ÿ 2. Dibujaremos el ComboBox en la hoja de
cálculo. Generaremos la lista que queremos Imagen 1.

para el Combo, en una de


las columnas, luego,
seleccionaremos el listado
y le asignaremos un
nombre. (Imagen 2.)
Ÿ 3. Vamos a activar el Imagen 2.
“Modo Diseño”, dando click
en el icono del mismo nombre en la ficha DESARROLLADOR (Imagen 1.)
Ÿ 4. Vamos a dar doble click en el ComboBox (rectángulo azul Imagen 2.),
abriremos el Sub del objeto, para colocar el código (Imagen 3.)
Imagen 3.

67
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #36 de 40
Ÿ 5. Private Sub ComboBox1_Change(), la primera línea hace referencia a
el inicio del combo Change(Cambio), determina cuando se activarán las
siguientes líneas de código.
Ÿ 6. Select Case ComboBox1.Value, esta línea comienza las diferentes
opciones que tiene el combo, opción=Case. Luego de los casos se cierra
con End Select.
Ÿ 7. Case "Sede 1", en el caso u opción que seleccionen Sede 1
www.EspecialistasEnExcel.com

Sheets("Sede1").Select, abrirá o se posicionará en la Hoja Sede 1


análogamente para Sede 2 y Sede 3
Ÿ 8. Case Else, cuando no sea seleccionado ninguno de los tres casos
ThisWorkbook.FollowHyperlink "http://www.especialistasenexcel.com”
la línea anterior abrirá el navegador con la dirección especificada.
Ÿ 9. Por último probamos el ejercicio.
#Reto40Excel

Ÿ 10. Para este ejercicio utilizaremos VBA, por tanto, debemos guardar
el archivo como Libro de Excel habilitado para macros. como se hizo en
la imagen 5. reto #6.
v.2015

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/combobox-en-excel/

68 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #37 de 40 Microsoft Excel MVP

Ejecutar Macro en Excel cuando


cambie el valor de una Celda
En el articulo se mostrará
paso a paso como se puede
ejecutar una macro en

www.EspecialistasEnExcel.com
Imagen 1.
Excel cuando cambie el
valor de una celda, específicamente esto quiere decir, que cuando se
modifique el valor contenido en una celda, se activará de forma
automática una macro, la cual realizará una serie de validaciones y con
base en el cumplimiento de estas realizará determinadas acciones sobre la
hoja de cálculo.

#Reto40Excel
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere crear macro que

v.2015
muestre un mensaje de Bienvenida al nuevo cliente con base en su Sexo, si el cliente es
mujer el mensaje a mostrar es "Bienivenida Señora XXXXX" de lo contrario mostrar el
mensaje, "Bienvenido Señor XXXXX".

Solución:

Ÿ 1. Crearemos un
módulo nuevo, dando
un click derecho sobre
ThisWorkbook,
“Insertar”->”Módulo”. Imagen 2.

Ÿ 2. En el espacio que se
genera colocaremos el código que se muestra en la imagen 2.
Mostraremos un mensaje cuando en la celda correspondiente al campo
“Sexo”, será “Bienvenida Señora” si es femenino o “Bienvenido Señor” si
es masculino.
Ÿ 3. If Sheets("Reto40Excel").Range("H9") = "F" Then, es la condición
para saber si la celda es F. Entonces el mensaje será MsgBox
"Bienvenida Señora " & Sheets("Reto40Excel").Range("E9").
Ÿ 4. Seguidamente Else, que significa sino MsgBox "Bienvenida Señor " &
Sheets("Reto40Excel").Range("E9") y terminamos con End If.
Ÿ 5. Ahora, en ThisWorkbook daremos doble click y seleccionaremos
Change (Imagen 3.) y colocaremos el siguiente código.

Imagen 3.

69
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #37 de 40
Ÿ 6. El código de la imagen 3 se utilizará para hacer el llamado a la macro
que se hizo en la módulo. Private Sub Worksheet_Change(ByVal Target
As Range), es un evento que evalúa cualquier cambio en la Hoja.
Ÿ 7. If Target.Address = "$H$9" Then, la condición determina si hay
cambio específicamente en la celda "$H$9", Call mensajeBienvenida
hace el llamado a la macro que se hizo, y se termina la condición
End If
www.EspecialistasEnExcel.com

Ÿ 8. Para este ejercicio utilizaremos macros, por tanto, debemos guardar


el archivo como Libro de Excel habilitado para macros. como se hizo en
la imagen 5. reto #6.
#Reto40Excel
v.2015

Imagen 4.

Imagen 5.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/ejecutar-macro-en-excel/

70 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #38 de 40 Microsoft Excel MVP

Macro en Excel para Eliminar


la con doble Click
En el reto de este día se explicará paso a paso y Imagen 1.

desde cero como crear una macro en Excel para


Eliminar fila con doble click, para conseguir este

www.EspecialistasEnExcel.com
objetivo se aplicará o se implementará el uso de
los eventos en el editor VBA.
El evento que se implementa en el presente
artículo es el beforedoubleclick, el cual se activa
cuando se hace doble click sobre determinada
celda, posteriormente se agrega el código de la

#Reto40Excel
macro sobre el evento.

v.2015
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere permitir la


eliminación de cualquier fila que contiene la información de vendedores haciendo doble
click sobre el registro.

Solución:

Ÿ 1. Cuando se trabaja con Visual Basic, se utiliza algunos eventos, los


eventos son acciones del usuario con la hoja de cálculo como modificar
una celda, para éste reto el evento será cuando se haga doble click
sobre una celda específica.
Ÿ 2. Abriremos el editor de Visual Basic en la ficha DESARROLLADOR o con
la combinación de teclas Alt+F11, vamos a dar doble click sobre la
Hoja1, en la primera lista seleccionamos Worksheet(rectángulo azul
Imagen 2.), en la segunda lista seleccionamos BeforeDoubleClick
(rectángulo verde Imagen 2.) y en el espacio para el código colocaremos
el siguiente:

Imagen 2.

71
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #38 de 40
Ÿ 3. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range,
Cancel As Boolean), es la declaración o inicio de la macro, como es un
evento predefinido de Visual normalmente tiene ciertos parámetros
(ByVal Target As Range, Cancel As Boolean).
Ÿ 4. Dim respuesta As Integer, ya sabemos que de esta forma declaramos
la variable respuesta como un entero.
Ÿ 5. If Target.Column = 6 Or Target.Column = 7 Then, es la condición para
www.EspecialistasEnExcel.com

que al darle doble click reconocido en el evento como Target sea sobre la
columna 6=F O la columna 7=G. Esto para hacer el proceso solamente
en las celdas de esas dos columnas, es decir, en los datos que tenemos
en la tabla y no en otras columnas que no tiene que ver con los datos.
Ÿ 6. respuesta = MsgBox("¿Está seguro de eliminar esta fila?", vbYesNo,
"Confirmación"), sabemos que MsgBox es un mensaje, la variable
#Reto40Excel

respuesta obtiene el resultado vbYesNo que de el usuario, ya que en


este caso el mensaje será una confirmación donde el usuario dará click
en Aceptar o Cancelar, si Acepta, respuesta = vbYes sino vbNo.
v.2015

Ÿ 7. If respuesta = vbYes Then, si conocemos la respuesta del usuario


entonces solo queda evaluar el resultado con la condición anterior.
Ÿ 8. Selection.EntireRow.Delete, si el usuario decidió eliminar la fila
entonces, la línea de código anterior eliminará la fila seleccionada. Si es
vbNo entonces no entrará en la condición y no hará nada.
Ÿ 9. Lo que sigue será cerrar las conidiciones que se generaron, es decir,
que se cerrará dos veces End If y se cierra también el Sub con End Sub
Ÿ 10. Por último se prueba el ejercicio, no olvide guardar el archivo como
Libro de Excel habilitado para macros

Imagen 3. Imagen 4.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/dia-38-macro-en-excel-para-eliminar-fila-con-doble-click/

72 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #39 de 40 Microsoft Excel MVP

Simule resultados con los


Escenarios de Excel
Los escenarios de Excel
permiten simular un
resultado en una celda,

www.EspecialistasEnExcel.com
permitiendo crear varias
posibles situación en donde se
debe modificar una o un
grupo de celdas.
Aprende paso a paso a
realizar proyecciones de Imagen 1.

#Reto40Excel
forma rápida con los
escenarios de Excel los cuales permiten hacer comparaciones para tomar
decisiones basadas en la información con esta herramienta.

v.2015
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1. Se requiere estimar el Total de


ventas en el caso que las unidades vendidas sean superiores a las actuales, se deben
crear varios escenarios con el fin evaluar los resultados.

Solución: Imagen 2.

Ÿ 1. En el reto #14 utilizamos la herramienta


Análisis de hipótesis para estimar un resultado, en
este ejercicio haremos algo similar pero
con otra de las opciones que tiene
Análisis de hipótesis=>Administrardor
de Escenarios, recordemos que se
encuentra en la ficha DATOS (Imagen
2.)
Ÿ 2. Al dar click en Administrador de
escenarios, saldrá un cuadro de diálogo
(Imagen 3.) en el que daremos click en
Imagen 3.
“Agregar...”.
Ÿ 3. saldrá otro cuadro de diálogo (Imagen
4.) donde colocaremos para “Nombre del
escenario” AumentoVentas1 (podemos
colocar el nombre que queramos), “Celdas
cambiantes” van a ser las celdas de las
que dependen los valores, en éste caso
las “Unidades” y el rango será
$E$9:$E$15. Damos click en Aceptar.
Imagen 4.

73
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #39 de 40
Ÿ 4. Luego de dar click en Aceptar, saldrá
otro cuadro de diálogo (Imagen 5.) con los
valores de las “Unidades” lo que haremos
será cambiar los valores, para el ejercicio
s e d e b e n a u m e n t a r, p o r t a n t o ,
aumentaremos las unidades no tienen
que ser todas, todo depende de lo que
www.EspecialistasEnExcel.com

Imagen 5.
necesitemos.
Ÿ 5. Observemos la imagen 5 en el producto
1, 3 y 4 aumentamos los valores de la
cantidad de “Unidades” damos click en
Aceptar.
Ÿ 6. Nuevamente saldrá el cuadro de
#Reto40Excel

diálogo de la imagen 3, pero ahora con el


“Escenario” que acabamos de crear
(Imagen 6.)
v.2015

Ÿ 7. Repetiremos lo que se ha hecho hasta


a h o r a , e s d e c i r, c r e a r e m o s o t r o
“Escenario” siguiendo los pasos desde (2) Imagen 6.
y en el paso (5) cuando tengamos que
aumentar los valores, lo haremos
aleatoriamente para ver la diferencia
entre “Escenarios”, luego crearemos otro
“Escenario” completando 3 “Escenarios”,
el Administrador de escenarios deberá
quedar como la imagen 6.
Ÿ 8. Ahora, estando en el Administrador de
escenarios (Imagen 6.) daremos click en
Resumen. Al hacerlo se abrirá un cuadro
d e d i á l o g o ( I m a g e n 7 . ) d o n d e Imagen 6.
colocaremos la celda de resultados G17 ya
que el total nos mostrará la diferencia que hay al aumentar las
“Unidades”. Y damos click en Aceptar
Ÿ 9. Se generará una hoja adicional y mostrará el comportamiento en
cuanto al total en función de las unidades en una tabla (Imagen 8.).
Note que los encabezados corresponden al nombre de los “Escenarios”
Imagen 8.

Imagen 7.

Te invitamos a realizar la prueba, encuentra más información en:


http://especialistasenexcel.com/escenarios-de-excel/

74 Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook


Ing. Alfonso Lenis
Reto #40 de 40 Microsoft Excel MVP

Consultar empleado en Excel


mostrando sus datos y su Foto
En el último artículo del Reto40Excel se presenta caso que involucra la
función de búsqueda BuscarV, macros y eventos en VBA y la inserción de
imágenes o fotos, el objetivo de este recurso es mostrar como este

www.EspecialistasEnExcel.com
material puede ser muy útil para muchas personas y empresas, ya que se
consulta el código del empleado y a partir de ese datos se presenta la
información básica del mismo incluyendo su foto.

#Reto40Excel
Imagen 1.

v.2015
Ejercicio
a Resolver

A partir de los datos que se muestran en la imagen 1.Se requiere consultar un


empleado por su código y que se muestren sus datos básicos incluida su foto.

Solución:
Imagen 2.
Ÿ 1. Vamos a insertar una imagen desde la ficha
DESARROLLADOR, “Insertar” -> “Imagen (Control Active
x)” (Imagen 2.) y dibujamos el recuadro en la Hoja de
cálculo (rectángulo rojo Imagen 1.)
Ÿ 2. Ahora, damos click derecho sobre el recuadro de imagen y
seleccionamos la opción “Propiedades”, se abrirá un cuadro
de diálogo (Imagen 3.)
Ÿ 3. Del cuadro de diálogo vamos a tener en
cuenta solamente lo que se ha resaltado
(rectángulos Imagen 3.). El rectángulo verde
tiene el nombre del objeto que estamos usando
en este caso para el primero será Image1, el
rectángulo azul, ahí vamos a buscar la imagen
correspondiente al empleado, simplemente
damos click en el recuadro “...” y con el
explorador buscamos la imagen, recomendamos
que la imagen sea .jpg, los rectángulos amarillos
tienen la posición de la imagen en la Hoja de
Imagen 3.
cálculo a la izquierda 345 y arriba 101,25.
Ÿ 4. Vamos a repetir los pasos (2 y 3) hasta coseguir todas las imágenes

75
Ing. Alfonso Lenis
Microsoft Excel MVP Reto #40 de 40
de los empleados, en éste caso son cinco empleados. Al terminar cada
imagen tendrá el nombre de Image1, Image2, 3, 4 y 5.
Ÿ 5. Vamos a dejar las imágenes un momento, haremos la fórmula con la
función BUSCARV para completar los datos del empleado.
Comenzaremos con el nombre ubicada en la celda C9
=BUSCARV($C$7;$H$7:$K$12;2;FALSO), el primer $C$7 parámetro
es la celda donde colocaremos el código de cada empleado, el segundo
www.EspecialistasEnExcel.com

parámetro $H$7:$K$12, es el rango de datos donde buscaremos el dato


anterior, en este caso es la tabla de empleados, el tercer parámetro 2 es
la columna de la tabla empleados donde traeremos el nombre de cada
empleado según corresponda. Para el sexo y la fecha de nacimiento
copiaremos la misma fórmula simplemente en el tercer parámetro
colocaremos 3 y 4 respectivamente. (para más información retoma el reto
#Reto40Excel

#5, 19 y/o 27)


Ÿ 6. Seguidamente abriremos el editor de Visual Basic, dando click en
Visual Basic en la ficha DESARROLLADOR o con la combinación de teclas
v.2015

Alt+F11.
Ÿ 7. Estando en el editor insertaremos un Módulo, dando click derecho
sobre “ThisWorkbook”, insertar->módulo, en el espacio para el código
colocaremos lo que esta en Imagen 4.
la imagen 4. Realmente es
un código muy simple, a
codigoEmpleado se le asigna
Sheets("Reto40Excel").Cell
s(7, 3) donde "Reto40Excel"
es el nombre de la Hoja, 7 es
el número de la fila y 3 es el
número de la columna, es
decir, la celda C7.
Ÿ 8. La sentencia que sigue ActiveSheets.Shapes("Image1").Visible =
False, hace que la imagen 1 no se muestre, se haga invisible al usuario,
así se hará con cada una de las imágenes, es decir, de la 1 a la 5.
Ÿ 9. La idea será entonces ocultar todas las imágenes al usuario para
mostrar solamente ActiveSheet.Shapes("Image" &
codigoEmpleado).Visible = True, donde "Image" & codigoEmpleadoes la
palabra Image concatenando el código del empleado que se obtuvo de
la celda C7 en la variable codigoEmpleado.
Ÿ 10. La importancia de la imagen 3, es mas que todo por el rectángulo
amarillo, ya que;
Ÿ ActiveSheet.Shapes("Image" & codigoEmpleado).Left = 345 y
ActiveSheet.Shapes("Image" & codigoEmpleado).Top = 101.25
colocarán cada imagen en la misma posición con respecto a la Hoja de
cálculo.
Ÿ 11. Ahora, estando en el editor de Visual, daremos doble click sobre
Hoja 1(Reto40Excel), en la primera lista seleccionaremos WorkSheet y
en la segunda lista seleccionaremos Change (Imagen 5.)

76
Ing. Alfonso Lenis
Reto #40 de 40 Microsoft Excel MVP

Imagen 5.

Ÿ 12. Private Sub Worksheet_Change(ByVal Target As Range), declara el

www.EspecialistasEnExcel.com
inicio del evento que se espera, es decir Change que es una modificación
en la Hoja de cálculo.
Ÿ 13. If (Target.Address = "$C$7") Then, si lo que cambia es la celda C7
Ÿ Call proceso, hace un llamado a la macro que hicimos proceso
Ÿ End If, cierra la condición
Ÿ End Sub cierra el evento

#Reto40Excel
Ÿ 14. Importante, no olvide guardar el archivo como Libro de Excel
habilitado para macros. Por último, probamos el ejercicio;

v.2015
Imagen 6.

Imagen 7.

Te invitamos a realizar la prueba, encuentra más información en:


especialistasenexcel.com/consultar-mostrando-datos-y-foto/
Descarga el ejercicio propuesto del día correspondiente en: www.especialistasEnexcel.com/reto40excel2015_ebook
77
Agradecimientos
Escribir un libro implica trabajo, entusiasmo, cooperación, pero sobre todo,
pasión por lo que se hace, a pesar que estos ítems son mucho, se convierten en
nada cuando no tienes acción y no tienes el equipo adecuado, por eso mis
palabras de agradecimiento a continuación:

Hoy y siempre mis agradecimientos iniciales serán siempre para Dios, sin él
Especialistas En Excel no sería lo que es, en segunda instancia quiero dar mis
agradecimientos a mi esposa Andrea por el amor, la paciencia, las atenciones y
sobre todo, por participar activamente en este proyecto de Especialistas En Excel
ya que parte de las actividades de investigación y métricas es realizada por esta
gran bendición llamada esposa.

Agradecimiento especial a nuestro Community Manager principal, JMario , sin J,


la parte visual y gestión de Social Media del Reto40Excel v.2015 no hubiera sido
la misma, gracias por tu tiempo, tu energía y tu compromiso enfocado siempre
pensando en mejorar.

Por último, estoy profundamente agradecido y orgulloso con nuestra


Comunidad Triple EEE, a todos los participantes del Reto40Excel v.2015 muchas
gracias por su apoyo y su dinamismo, sin ustedes este programa de
entrenamiento y Especialistas En Excel no existiría.
Dedicatoria
Este libro está dedicado a mi familia:

A mi madre Fanny por su amor incondicional, a mí amada esposa Andrea y a


nuestra Comunidad Triple EEE.

You might also like