Está en la página 1de 93

Cursillo de Excel Avanzado

Este Curso de Excel Avanzado esta destinado a personas que ya poseen un determinado dominio de esta aplicacin, pero que an no han logrado utilizar el mismo a una mayor potencialidad, en lo referente a la utilizacin de sus funciones y a la automatizacin de tareas, con la aplicacin de Visual Basic. Se trata de un cursillo prctico, donde se seleccionan algunas de las principales funciones de Excel, las ms necesarias, para la elaboracin de aplicaciones, as como los principales cdigos de Visual Basic para su automatizacin. Esperamos sea de utilidad para usted.

CONTENIDO 1. FUNCIONES DE HOJAS DE TRABAJO 2. CODIGOS DE VIUAL BASIC. MACROS 3. APLICACIONES PRACTICAS
La potencialidad de Excel es virtualmente inalcanzable, por mucho que se avance en su aplicacin. Su potencialidad va mucho ms all de las necesidades reales, en muchsimas de las aplicaciones diseadas. Por tal motivo, no resulta necesario aspirar a dominar toda la capacidad del mismo, sino, ir avan zando en su dominio, poco a poco, en la medida de lo que se va demandando para resolver un problema dado. De aqu que, a partir de cierta experiencia en su aplicacin a determinados problemas, fundamen talmente de gestin econmica, se hayan seleccionados slo aquellos tpicos, ms acordes con este fin.

Se muestran ejemplos prcticos de algunas Aplicaciones, utilizndo funciones avanzadas directamente en la Hoja de Trabajo, y de Macros con cdigos de Visual Basic. Se ofertan 3 tpicos en el Men en el orden adecuado, y para su visualizacin y estudio basta con hacer " click " en el deseado.

Cursillo de Excel Avanzado


Este Curso de Excel Avanzado esta destinado a personas que ya poseen un determinado dominio de esta aplicacin, pero que an no han logrado utilizar el mismo a una mayor potencialidad, en lo referente a la utilizacin de sus funciones y a la automatizacin de tareas, con la aplicacin de Visual Basic. Se trata de un cursillo prctico, donde se seleccionan algunas de las principales funciones de Excel, las ms necesarias, para la elaboracin de aplicaciones, as como los principales cdigos de Visual Basic para su automatizacin. Esperamos sea de utilidad para usted.

TERCERA PARTE
APLICACIONES PRACTICAS De Funciones en la Hoja de Trabajo De Macros con Visual Basic

Se muestran ejemplos prcticos de algunas Aplicaciones, utilizndo funciones avanzadas directamente en la Hoja de Trabajo, y de Macros con cdigos de Visual Basic. Se ofertan 2 tpicos en el Men en el orden adecuado, y para su visualizacin y estudio basta con hacer " click " en el deseado.

Ejemplos de Aplicaciones de Funciones


Se muestran ejemplos prcticos fictcios de aplicaciones, cercanos a los sistemas ms frecuentemente utilizados en la prctica del uso de Excel, en la gestin informativa. Todo en la Hoja de Trabajo.

Ejemplo 1.
Muy frecuentemente usted requiere elaborar informacin correspondiente a varios productos para diferentes destinos. Digamos que requiere controlar 2 productos, Producto1 y Producto2, para las 15 provincias del pas por meses, y se requiere conocer el consolidado hasta la fecha por provincia y total pas. A la vez, requiere enviar la informacin a cada provincia. Cuando el dominio de Excel es limitado, por lo general, el problema se enfoca de la forma siguiente: 1. Se elabora una tabla para cada provincia como la que sigue: Provincia: P. Rio Prod1 Enero Febrero Marzo Abril Mayo Junio Julio Agosto Septiembre Octubre Noviembre Diciembre Total 2 3 5 7 10 Prod2 1 7 5 4 2 Lo que implicara un total de 15 tablas independientes como la que se muestra, y otra tabla, la nmero 16, para el consolidado. Lo anterior implica, entre otras cosas: . La incomodidad de localizar cada tabla, mediante las barras vertical y horizontal, lo cual toma tiempo. . Introducir informacin en cada una de las 15 tablas. . Imprimir cada tabla con distinta referencia de localizacin. . Ocupar mucho espacio en la hoja de trabajo. 27 19 Todo lo anterior con mtodos convencionales de Excel.

Cuando se tiene un mayor dominio de las potencialidades de Excel, el problema se enfoca de forma muy diferente, es decir, se busca simplificacin, rapidez y ahorro de tiempo de trabajo. Despus de haber estudiado y aprendido algo de Excel avanzado, seguramente que usted enfocara la solucin del problema de la forma siguiente: 1. Diseara una tabla general de entrada de Datos con el siguiente formato: Enero Prod.1 Prod.2 P.Rio Habana C.Habana Matanzas V.Clara Cfgos. S.Spiritus C.Avila Camag. Tunas Holgun Granma Stgo. Gtmo. I.Juv. Total C.Avila 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 120.0 8 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 135.0 9 Febrero Prod.1 Prod.2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 150.0 10 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 165.0 11 Marzo Prod.1 Prod.2 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 180.0 12 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 195.0 13 Abril Prod.1 Prod.2 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 210.0 14 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 225.0 15 Mayo Prod.1 Prod.2 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 240.0 16 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 255.0 17 Junio Prod.1 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 270.0 18

Esta tabla, con un ejemplo numrico, permite centralizar la entrada de datos y obtener directamente los consolidados por territorio y pas. De las frmulas en la fila 65 hablaremos ms adelante. Claro est, se requiere contar con una tabla por provincia para su impresin y entrega a cada territorio, por lo que hasta aqu, el problema no esta resuelto.

Si ahora usted hace las 15 tablas y las vincula a la tabla central antes sealada, llenara automticamente cada una de las tablas y slo restara imprimir cada una de ellas. Pero lo anterior, aunque mejor que la idea original, cuando sabiamos poco de las potencialidades de Excel, no satisface nuestra expectativa, ya que seguiriamos utilizando 16 tablas. Vamos a resolver el problema de la siguiente forma: 2.Hacemos una sola tabla para la provincia: No. Prov. 8 Prod1 Enero Febrero Marzo Abril Mayo Junio Julio Agosto Septiembre Octubre Noviembre Diciembre Total 8 10 12 0 0 0 0 0 0 0 0 0 30 No. Mes 3 Prod2 9 11 13 0 0 0 0 0 0 0 0 0 33 De la tabla general cargamos una provincia, imprimimos atomticamente y despus cargamos la otra, etc. 3. Para ello vamos a utilizar la Funcin CHOOSE en la celda C83. De manera que se muestre el nombre de la provincia con slo poner su nmero en la celda D82, del 1 al 15. Tambin utilizamos CHOOSE en la celda D82, en combi nacin con E82, donde ponemos el nmero del mes del 1 al 12. 4. En la fila 65 de la tabla general de entrada de datos, extraemos la informacin de la provincia seleccionda en d82, utilizando CHOOSE. 5. En la tabla para la provincia extraemos los datos de la fila 65, mes a mes, hasta el mes dado en la celda E82, utilizando la funcin IF.

H/Mes: Mar. Provincia: C.Avila

Ejemplo 2.
Muchas veces puede requerir extraer informacin de un fichero, con solo teclear determinados cdigos que representan una entidad, una tarifa , una direccin, etc.

Supongamos usted controla un Registro de Entidades con la siguiente informacin:

CODIGO 103100 105100 108100 109100 131100 151100

ENTIDAD ENT1 ENT2 ENT3 ENT4 ENT5 ENT6

ORGAN. SIME MINBAS MINAZ MIP MINAG MITRANS

PROV. Mat. P.Rio Hab. C.Hab. Cfgos. Stgo.

MUNIC. Mat. Guanes Guines Plaza Cfgos. Palma

Y requiere extraer informacin en cualquier hoja de trabajo de Excel con slo brindar el cdigo. Para ello utilizamos la funcin VLOOKUP y el valor de bsqueda (vlookup value) sera el cdigo, por ejemplo: CODIGO ENT1 ORGAN. MINBAS PROV. P.Rio MUNIC. Guanes
Cambie el cdigo aqu.

105100 ENT2

Si el Registro anterior se encontrara en Sheet3, D35:H42, la frmula sera: CODIGO ENT1 ORGAN. MINBAS PROV. P.Rio MUNIC. Guanes
Cambie el cdigo aqu.

105100 ENT2

Ejemplo 3.
Veamos otra forma de extraer informacin de una tabla, utilizando la funcin OFFSET. Consideremos la tabla siguiente: Entidad Prod1 Prod2 Prod3 Valor

Ent1 Ent2 Ent3 Ent4

1 4 7 10

2 5 8 11

3 6 9 12

100 235 370 505

En la columna Valor se suma el valor total para los tres productos de acuerdo a los precios de la tabla en J1:l5, de Sheet3. Ahora bien, se desea tener una tabla con la Base de Clculo de cada Entidad. Para ello, se elabora Haga Pruebas aqu. la siguiente tabla: Entidad: Ent2 145 Cantidad 4 5 6 15
Introduzca los nmeros de las filas del 144 al 147.

Precio 10 15 20

Valor 40 75 120 235 En las celdas D159:D161, se utiliza la funcin OFFSET, basndo el Offset en C1, D1 y E1 y utilizando el nmero de la filas hacia abajo, igual al de la fila donde se encuentra la entidad correspondiente en la tabla, restndole 1.

Prod1 Prod2 Prod3 Total

Ejemplo 4.
Se registran las facturas de ventas en pesos de un producto, de acuerdo a la fecha de realizadas. Si la venta se realiz en los primeros 6 meses del ao, la venta final se eleva al cuadrado, de los contrario, se mantiene normal, pero en todos los casos se redondea a un nmero entero. VENTA FINAL ENTERO 231.0 660.5 1482.3 4.3 25.9 231.0 660.0 1482.0 4.0 26.0

FECHA 1-Jan-00 15-Jan-00 8-Feb-00 5-Sep-00 12-Sep-00

MES 1 1 2 9 9

VENTA 15.2 25.7 38.5 4.3 25.9

5-Dec-00 23-Dec-00

12 12

2.8 23.0

2.8 23.0

3.0 23.0

En la tabla slo se introducen la fecha y el monto de la venta. Calculndose automticamente el No. del Mes, la venta final y el redondeo, mediante las funciones correspondientes, que puede observar al seleccionar estas. celdas en azul. Se utilizan las funciones MES, IF, POWER y ROUND. Para fines del control, se requiere conocer: 1.Cuantas Facturas de emitieron en un mes dado 2 MES 12
=COUNTIF(C175:C181,K188:K189 ). En K188:K189 se expresa el criterio. Cambie el dato de K189 y vea el cambio de H189.

2.Cual el monto total de la venta final de un mes dado.

25.8

MES 12
=SUMIF(C175:C181,K194:K195,E 175:E181). En K194:K195 se expresa el criterio. Cambie el dato de K189 y vea el cambio de H195.

3.La suma de la venta final redondeada para diferentes criterios. MES - A partir de Mayo - Hasta Septiembre - Para Ventas mayores de 500 56 2403 2142 >=5 MES <=9 ENTERO >500

Hasta aqu algunos ejemplos de aplicacin de funciones, veamos ahora ejemplos de aplicaciones utilizando Macros con cdigos de Visual Basic.

Ejemplos de Aplicaciones de Macros


Ejemplo 1
Muy frecuentemente se elaboran sistemas en Excel que estan formados de varias Hojas de Trabajo y numerosas tablas dentro de cada una de ellas, cuya localizacin y ubicacin en la ventana activa se torna trabajoso y requiere de tiempo y molestas manipulaciones. En este ejemplo vamos a automatizar la bsqueda de tablas, mediante macros, para lo cual ubicaremos una de ellas en la Hoja de Trabajo de este Libro (Sheet3), en las referencias : D9:I22. Localizar y activar la tabla en Sheet3, D9:I22. Llamemos al Macro con la palabra "Localizar". Sub Localizar() Application.Goto Reference:=Range("Sheet3!D9: I22"), Scroll:=True Range("e11").Select End Sub Con este tipo de Macro se pueden localizar cuantas tablas desee en un libro de trabajo. Ms adelante estudiaremos como disear e incrustar un botn a una hoja de trabajo y asignarle una Macro. Si desea ver el Macro en su Mdulo aprite el Botn a continuacin:

Para ejecutar la Macro y localizar la tabla presione el Botn siguiente:

Ejemplo 2
Vamos a elaborar una Macro un poco ms compleja. Ubicamos a solicitud un valor aleatorio en la celda D250. Si el nmero introducido es menor que el contenido en la celda C250, copiarlo en la celda F250, si no borrarlo.
Celda C250

Antes de ejecutar el Macro borre F250.

Celda C250

5 El Macro nombrado EjemMacro2 sera:

Sub EjemMacro2() Range("d250") = Application.InputBox(Prompt:="Introduzca Dato", Title:="Solicitud de Informacin", Type:=1) a = Range("C250").Value b = Range("D250").Value If b < a Then Range("D250").Copy Destination:=Range("F250") Else Range("D250").Delete End If End Sub Como puede apreciarse antes de comparar los valores en las celdas D250 y C250, se declaran como variables a y b. Las celdas como tal no pueden compararse, If D250<C250, no funciona. Aqu se utilizan los Mtodos Copy, Delete e InputBox y la propiedad Value. Los objetos de trabajo son los rangos D250, C250, F250. Incluye la comparacin opcional If Then Else, que cumplimenta una u otra sentencia en dependencia del resultado de la comparacin entre a y b.

Ejemplo 3
Con Macros se puede realizar de forma automtica todo lo que usted sea capaz de hacer manualmente en Excel y todo lo que usted no pudiera hacer manualmente aunque Excel lo propiciara, lo cual esta en funcin de la complejidad de la operacin y el tiempo necesario para ello. Digamos por ejemplo que usted requiere sumarle a un valor numrico contenido en un celda una constante repetidamente hasta alcanzar un nmero dado. Por ejemplo, en la celda D285 existe el nmero 5 y usted necesita irle sumando la unidad hasta alcanzar el valor en E285 que es igual a 1000, depositndolo en la misma celda D285.
E285

1000

1000

Antes de ejecutar el Macro, teclee en D285 un 5 u otro nmero menor que el contenido en E285.

Antes de ejecutar el Macro, teclee en D285 un 5 u otro nmero menor que el contenido en E285.

Realizar esta operacin, manualmente en Excel es muy voluminosa y le tomara un tiempo tal que se aburrira, sino se afecta mentalmente. Sin embargo con una Macro es muy sencillo: Sub EjemMacro3() a = Range("E285").Value b = Range("D285").Value counter = 0 myNum = b Do Until myNum = a myNum = myNum + 1 counter = counter + 1 Range("d285").Value = myNum If myNum = a Then Exit Do Loop End Sub

Junio Prod.2 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 259.0 19

Julio Prod.1 Prod.2 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 300.0 20 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 315.0 21

Agosto Prod.1 Prod.2 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 330.0 22 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 345.0 23

Septiembre Prod.1 Prod.2 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 360.0 24 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 375.0 25

Octubre Prod.1 Prod.2 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 390.0 26 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 405.0 27

Noviembre Prod.1 Prod.2 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 420.0 28 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 435.0 29

Diciembre Prod.1 Prod.2 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 450.0 30 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 465.0 31

Total Prod.1 Prod.2 144.0 156.0 168.0 180.0 192.0 204.0 216.0 228.0 240.0 252.0 264.0 276.0 288.0 300.0 312.0 3420.0 156.0 168.0 179.0 191.0 203.0 215.0 227.0 239.0 251.0 263.0 275.0 287.0 299.0 311.0 323.0 3587.0

Cursillo de Excel Avanzado


Este Curso de Excel Avanzado esta destinado a personas que ya poseen un determinado dominio de esta aplicacin, pero que an no han logrado utilizar el mismo a una mayor potencialidad, en lo referente a la utilizacin de sus funciones y a la automatizacin de tareas, con la aplicacin de Visual Basic. Se trata de un cursillo prctico, donde se seleccionan algunas de las principales funciones de Excel, las ms necesarias, para la elaboracin de aplicaciones, as como los principales cdigos de Visual Basic para su automatizacin. Esperamos sea de utilidad para usted.

SEGUNDA PARTE
CODIGOS DE VISUAL BASIC. MACROS Definiciones y Ejemplos de Objeto, Propiedad y Mtodo Como grabar una Macro Como hacer referencia a Celdas y Rangos Ejemplos de Cdigos ms usados de Visual Basic Como insertar Botones y otros Controles

Se muestran ejemplos prcticos de algunos de los muchos usos en la aplicacin de Macros en Viusal Basic, los cuales se analizarn de forma ms especfica en la Parte correspondiente a las Aplicaciones. Se ofertan 4 tpicos en el Men en el orden adecuado, y para su visualizacin y estudio basta con hacer " click " en el deseado.

Como insertar Botones para Macros u otros usos Agregar Botones, casillas de verificacin y otros controles.
A las hojas de trabajo de Excel pueden agregrsele botones, casillas de verificacin, y otros tipos de controles, que facilitan opciones al usuario o bien ejecutan macros que automatzan una tarea. Mediante la barra de Herramientas FORMS, pueden crearse controles como un botn, un grupo de casillas de verificacin, un cuadro de listas o una barra de desplazamiento. Los controles disponibles en la barra de Herramientas CONTROL TOOLBOX, se denominan Controles ActiveX. Estos controles pueden agregarse a las hojas de trabajo; se escribir un cdigo de Macro que se almacenar con el propio control y que se ejecutar al hacer click en el mismo. Por tratarse de una barra de Herramientas ms sencilla, y que cumple las funciones de este Cursillo, slo estudiaremos la barra de Herramientas FORMS, que puede activarse en View - Toolbars - Forms. Activmos la barra de Herramientas antes sealada, para ello haga click en View - Toolbars - Forms. Desproteja temporalmente la hoja de trabajo. Observe la barra de Herramientas y seale con el ratn las diferentes figuras all representadas: De izquierda a derecha y de arriba a abajo, slo las que resaltan: Label Group Box Button Check Box Option Box Para aadir texto a una hoja de trabajo para suministrar informacin sobre un control o la hoja de trabajo. Un recuadro con ttulo que puede agrupar controles relacionados, como Option Check Boxes. Un botn que ejecuta una mcro al presionarlo. Un recuadro que activa o desactiva. Puede usar ms de una Check Box en una hoja o un grupo al mismo tiempo. Un botn que selecciona una de un grupo de opciones contenidas en un group box.

List Box Combo Box Scroll Bar Spinner

Un recuadro que contiene un listado de items. Es una List Box que se despliega hacia abajo. Un control que se desliza a travs de una lista de valores cuando usted hace click en la flecha Un botn con flechas arriba y abajo que puede ser vinculado a una celda para reducir o incrementar un valor.

De los controles anteriores slo vamos a estudiar los ms importantes: (Proteja la hoja de nuevo por Favor!). Todos estos controles se dibujan en la hoja de trabajo, haciendo click con el botn izquierdo del ratn en el control deseado de la barra de herramientas; en ese momento el puntero del ratn se convierte en una +. Entonces seale con el puntero la esquina superior izquierda donde quiere comenzar a dibujar el control, y manteniendo el botn izquierdo del ratn presionado, arrastre hacia la derecha y abajo, hasta lograr el tamao deseado.

Button
Se muestra un Botn diseado de la forma arriba descrita. Cuando ha terminado de arrastrar y libere el botn del mouse, inmediatamente se abre una hoja de dilogo llamada Assig Macro para que usted escoja un macro de los existentes y se lo asigne al botn. Pero por el momento no lo haremos y por tanto, cuando se abra la hoja de dialogo, haga click en cancelar. El botn aparece con un ttulo default que usted puede cambiar, lo que se explicar ms adelante. Para eliminar el botn basta con editarlo y apretar la tecla Delete. Para editarlo, haga clik en el botn y luego apriete Delete, si hace click con el ratn derecho, saldr una hoja de dilogo, que usted cerrar por el momento con ESC y entonces, con el botn editado, apriete la tecla Delete. Antes de continuar abra una hoja de trabajo en un nuevo libro(ya que esta hoja est protegida) y practque lo antes expuesto slo con Button. Si ya practic hasta aqu, podemos continuar:

Para escribir texto dentro del botn, con la hoja desprotegida, edite el botn y haga click dentro de l y escriba el texto, el cual puede formatear de la forma usual, seleccionndolo y utilizando las herramientas normales de Excel. Puede modificar el tamao del botn, editndolo y utilizando el ratn para arrastrar o mover de lugar. Al editar el botn le sale una hoja de dilogo, que hasta el momento hemos cerrado con ESC, que no es ms que el Men contextual con los comandos: Cut, Copy, Paste, Edit Text, Grouping, Order, Assign Macro y Format Control. Con estos comandos usted puede realizar todas las acciones con el botn, incluyendo las que ya explicamos, utilizando mtodos prcticos conocidos. Con Cut - Paste, puede cambiar de posicin el botn; con Copy - Paste, puede copiar el botn en otro lugar de la hoja o en otra hoja o libro; con Edit Text, puede escribir un texto dentro del botn o modificar el actual; con Order puede traer el botn al frente, detrs, etc, suponiendo que est montado en otro objeto insertado; con Assign Macro, puede asignarle una macro, que despus ejecutar automticamente al apretar el botn y con Format Control puede formatear el botn (letras, medidas, propiedades, alineacin, proteccin,etc.). Sobre los comandos anteriores, slo nos referiremos a la proteccin del botn. Usted puede eliminar la proteccin del botn, pero en este caso, con la hoja de trabajo protegida o n, al hacer click sobre el botn slo lograr editarlo con el ratn izquierdo, y editarlo, abriendo el men contextual con el derecho, es decir no ejecutara un macro asignado. El botn ms abajo mostrado esta desprotegido, por lo que usted puede manipularlo. Se le ha nombrado Ejemplo. Editndolo con el ratn izquierdo, puede cambiar el texto, agrandarlo o reducirlo. Con el ratn derecho, puede abrir el men contextual y hacer click en Format Control y observar el formato que posee. Se le invita ahora a manipular el botn, con el nico ruego de que no lo proteja.

Check Box
Para su diseo e insersin en la hoja de trabajo, se prodece de la misma forma que en el caso de BUTTON. Ms abajo se muestra una Check Box insertada que se ha nombrado Ejemplo. Cuando usted hace click en ella la activa o desactiva. Haga la prueba!.

Ejemplo
C113

Al abrir el Men contextual, notar que puede asignrsele una Macro y al abrir el Format Control aparece en la hoja de dilogo una Cell Link: La celda vnculo (Cell Link), no es ms que la celda donde se reflejar el estado de la Check Box. Hemos vinculado la Check Box con la celda C113. Al hacer click en el recuadro de la Check Box y activarla (aparece el chesmark), en la celda c113 aparece TRUE, lo que indica que est activada, de lo contrario aparece FALSE.

FALSE

Este tipo de control puede utilizarse para ejecutar un clculo o una frmula en dependencia de la variante seleccio nada.

Option Button
Este control tiene similares funciones que la check box, por lo que slo veremos un ejemplo de como aplicar este tipo de control. Por ejemplo. Vamos a contar con dos option button, para seleccionar la variante 1 o la 2, y la cell link, para ambas check box ser la celda D133. En las celdas F132 y F133, escribimos las cifras 150 y 120 respectivamente; y en la celda F134 escribimos la frmula: =IF(D133=1,F132*F133, F32/F133).
D133

Variante 1

2
Variante 2

150 120 1.25


F134

Si marcamos el option button de la variante 1 en F132 se obtiene el resultado de multiplicar 150*120, si marcamos la variante 2, estas ci fras se dividen. Haga la Prueba!.

List Box
Se trata de un cuadro que contiene una lista de items, que pueden ser seleccionados reflejando el resultado de la seleccin en una celda vnculo (Cell Link). Las propiedades de la List Box, que pueden verse en Format Control, Control incluye:

E147 Fuel Oil Diesel Kerosina Turbo G.L.P. Nafta Solvente Asfalto Crudo G.Motor
D149

Fuel Oil Diesel 2 Kerosina Turbo G.L.P. Nafta Solvente Asfalto Crudo G.Motor

Input Range, lista de valores en una hoja de trabajo. Cell Link, de la cual ya comentamos. Selection Type, que indica como los items pueden ser seleccionados en la lista. Si usa Multi o Extend, la cell link es ignorada. La lista de items la ubicamos en E147:E156 y la Cell Link en D149. Observe que en la misma medida que usted selecciona un item en la List Box, en la Celda D149, aparece el nmero de orden de la misma, es decir, su localizacin en la lista. Haga la Prueba!.

Combo Box
Es similar a la List Box, pero difiere slo en que, esta despliega la lista hacia abajo cuando se hace click en ella. Este control incluye adicionalmente un Drop down lines, que indica la cantidad de lineas a desplegar hacia abajo. En nuestro ejemplo pusimos solo 8, aunque con el Scroll Bar puede verlas todas. En este caso utilizamos el mismo input range y cell link del ejemplo anterior, por lo que el resultado debe verlo arriba. Haga la Prueba!.

Diesel

Scroll Bar
Es un control que corre a travs de una lista de valores cuando se hace click en la flecha

Las propiedades de control de la Scroll Bar son:

C184

Current Value, que representa la posicin relativa de la barra en la Scroll Box, es decir, el contenido de la celda C184. Minimum Value y Maximum Value, son los valores mnimos y mximos de la posicin de la Scroll Bar, en nuestro caso 1 y 100. Increment Change, es el monto del incremento en que la barra se mueve, en nuestro caso es 1, es decir, va incrementando la unidad.Pudiera ser de 5 en 5, etc. Page Change, es el incremento cuando usted hace click en el espacio entre la Scroll Box y una de las flechas. En nuestro caso es igual a 10. Cell Link, donde aparece el valor corriente. Haga la Prueba!.

Spinner
Las propiedades de control de un botn Spinner son las mismas que las de una Scroll Bar, slo que no posee la propiedad Page Change.

Haga la Prueba!.

Finalizaremos este tema con un ejemplo prctico de como utilizar estos controles. La funcin PMT calcula el pago por un prstamo, basado en montos constantes y un rate de inters constante.

Syntax PMT(rate,nper,pv,fv,type) Rate es el rate de inters por el prstamo. Nper es el nmero total de pagos por el prstamo.

Pv es el valor actual, conocido como el principal. Fv es el valor futuro, si es omitido se asume como cero. Type es 0 o 1 que indica cuando los pagos se liquidan. 0 u omitido, el pago se efectua al inicio del periodo. 1 , el pago se efectua al final del periodo. Ejemplo. Para los diferentes tipos de coches, se quiere determinar el pago mensual, en diferentes periodos de liquidacin total, a diferentes % de inters. Coche 91 Mercury Sable 88 Nissan Pulsar NX 90 Toyota Camry 88 Dodge Lancer ES 87 BMW 325 91 Chew Camaro 88 Mazda MX6 Precio 1050000 635000 895000 629900 795900 679600 850000 La frmula a utilizar ser: =PMT(rate,Nper,Pv) Vamos a utilizar controles para automatizar el anlisis, de forma prctica y sencilla:

90 Toyota Camry

3 3

Precio Inters Aos Pagos

895000 0.15 3 ($31,025.47) Hemos utilizado tres controles: - Una List Box para seleccionar el tipo de carro. - Una Scroll Bar para seleccionar el inters. - Y una Spinner para seleccionar los aos de plazo. Haga la Prueba!.

15

Como grabar una Macro. Instrucciones


1. En el Men Herramientas (Tools), seale Macro y entonces haga Click en Record New Macro. 2. En el recuadro Macro name entre un nombre para la macro. El primer caracter del nombre de la macro debe ser una letra. Los otros caracteres pueden ser letras, nmeros u otros caracteres; los espacios no estan permitidos en los nombres de las macros. 3. Para ejecutar la macro mediante un shortcut, entre una letra en el recuadro Shortcut Key. Usted puede usar CTRL + letra (para letras minsculas) y CTRL + SHIFT + letra (para letras maysculas). 4. En el recuadro Store macro, haga click en la localizacin donde quiere almacenar la macro. Si desea que la macro este disponible donde quiera que usted use Excel, almacene la macro en el Libro de Macros Personal (Personal Macro Workbook) en el folder XLStart, sino almacnelo en el libro. activo (this workbook). Para incluir una descripcin de la macro, escriba la descripcin en el recuadro Description. 5. Haga click en OK. La macro puede ser grabada con referencias absolutas de celdas (absolute cell references), o con referencias relativas de celdas (relative cell references). Para ello, en la barra de herramienta Stop Recording, haga click en el botn Referencias Relativas (Relative Reference). Para desconectar las Referencias Relativas, vuelva a ha cer click en dicho botn. 6. Ejecute las acciones que usted desea grabar. 7. En la barra herramienta Stop Recording, haga click en el pequeo cuadro oscuro, para detener la grabacin.

Para editar la macro que acaba de grabar y poder ver los cdigos grabados, haga lo siguiente: 1. Click Herramientas (Tools), seale Macro y haga click en Macros... a la derecha.

2. Haga click en el nombre de la macro que acaba de grabar primero y en botn Edit despus. 3. Inmediatamente aparecer el Visual Basic Editor y en el, un Mdulo, con la macro impresa. Las Macros se registran en hojas especiales nombradas Mdulos, que se almacenan en el propio libro de trabajo activo, si fueron grabadas en esta localizacin. Estos mdulos pueden ser localizados a travs del Visual Basic Editor, en el Men Tools - Macro - Visual Basic Editor. Una vez, all, vuelva a hacer click en Tools - Macros.. Y seleccione el nombre de la macro deseada. Para escribir una Macro directamente, ubquese en el Visual Basic Editor e inserte un Mdulo nuevo, en Insert - Module. Para salir nuevamente a la hoja de trabajo de Excel, cierre el o los mdulos abier tos, click File y Close and Return to Microsoft Excel. A modo de ejemplo vamos a grabar una Macro sencilla, para lo cual usted deber seguir las instrucciones siguientes, pero antes desproteja la hoja: 1.Haga click en Tools, seale Macro y haga click en Record New Macro 2.Escriba en el cuadro Macro name la palabra MacroPrueba y orpima el botn OK.. 3.Inmediatamente apaecer la pequea barra herramienta Stop Record, no haga nada por el momento con ella. 4.Escriba en la celda E62 la palabra Titulo y apriete Enter. 5.Vuelva a seleccionar E62 y seleccione el botn Align Right, vaya al botn Font Color y seleccione el azul. 6.Haga click en Stop Record, para detener la grabacin.
Celda E62

La macro grabada es exactamente la siguiente (puede verla si desea, mediante el procedimiento anterior): Sub MacroPrueba() ' ' MacroPrueba Macro Macro recorded 1/11/00 by M31.. ' ' Nombre de la Macro

Descripcin, segn quien la grave.

Range("E62").Select ActiveCell.FormulaR1C1 = "Titulo" Range("E62").Select With Selection .HorizontalAlignment = xlRight .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .ShrinkToFit = False .MergeCells = False End With Selection.Font.ColorIndex = 5 End Sub El Macro puede reducirse a: Sub MacroPrueba() Range("E62").Select ActiveCell.FormulaR1C1 = "Titulo" Range("E62").Select With Selection .HorizontalAlignment = xlRight .Font.ColorIndex = 5 End With End Sub

Selecciona E62 Teclea Titulo y Enter Selecciona E62 de nuevo Alineacin a la derecha Estos son cdigos innecesarios que se intro ducen automticamente al grabar la macro, y que pueden ser eliminados, sin ninguna alte racin de la accin ejecutada, porque son . defaults. Colorea de azul el texto

Si desea puede ejecutar el Macro para comprobar su funcionamiento, para ello: 1.Borre la celda E62. Mantenga el cursor en un lugar donde E62 este visible, para que pueda ver como funciona la Macro. 2.Haga click en Tools, seale Macro, haga click a la derecha en Macros, seleccione MacroPrueba y aprite el botn Run. Como puede apreciar toda Macro o Procedimiento (Procedure), comienza con la palaba Sub, seguida del nombre de la macro y dos parentesis (). Dentro de estos parentesis pueden haber argumentos, pero ahora no se entrar en este aspecto. Y termina con las palabras End Sub; entre Sub y End Sub, se escriben los

cdigos o instrucciones que deben ser ejecutadas. Si grab MacroPrueba, esta se encuentra en un mdulo de este libro. Si quiere repetir el procedimiento otra vez, primero tendra que borrarla, en Tools, Macro Macros, MacroPrueba, Delete, Yes. Si ya concluy el estudio vuelva a proteger la hoja.

Ejemplos de Cdigos ms usados de Visual Basic


COPIAR Y PEGAR (Copy y Paste)
Worksheets("EjCVB").Range("B7:B10").Copy Destination:=Worksheets("EjCVB").Range("C7")
Celda D7

4 3 2 1

0 0 0 0

1 1 1 1

Borre C7:C10. Al apretar botn, copia contenido de B7:B10 en C7. En este caso copia frmulas.

IDEM anterior, cdigo ms simplifiado.

Range("B7:B10").Copy Destination:=Range("C7")
IDEM anterior, pero pega slo valores absolutos, no frmulas

Range("B7:B10").Copy Range("C7").PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False

Range("B7:B10").Copy Range("C7").PasteSpecial Paste:=xlPasteValues, operation:=xlPasteSpecialOperationAdd Application.CutCopyMode = False Teclee nmeros en Add, puede ser substituido por: Subtract, Multiply, Divide.

C7:C10. El contenido de B7:B10 es adicionado al de C7:C10

LIMPIAR (ClearContents)
Range("F31:F34").ClearContents
F31

Teclee datos en F31:F34. Limpia el contenido de F31:F34, sin borrar formatos.

ENTRADA DE DATOS (Value, InputBox)


Worksheets("EjCVB").Range("b40").Value = 3.1416 3.14
Celda B40 Limpie celda B40 Coloca el valor dado en la celda B40.

For Each c In Worksheets("EjCVB").Range("B51:E56") If c.Value < 0.001 Then c.Value = 0 End If Next c
Celda B50

En todas o algunas de las celdas A51:D56, intro un nmero menor que 0.001. En las celdas con valores inferior a 0.001 pone el valor 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

Range("D63") = Application.InputBox(Prompt:="Intoduzca el numero", Title:="Entrada de Datos", Type:=1) Range("E63") = Application.InputBox(Prompt:="Introduzca la palabra", Title:="Actualizar Dias del Mes", Type:=2)
Celda E63 Permite intro un valor numrico y un texto, a solicitud,mediante InputBox

11

Juan

ALINEAR (Alignment)
Range("E63").Select Selection.HorizontalAlignment = xlLeft
Alinea el contenido de E63 a la derecha o izquierda.

Alinea el contenido de E63 a la derecha o izquierda.

Selection.HorizontalAlignment = xlRight

MOVER (Cut)
Range("B78:B80").Cut Destination:=Range("C78") Range("C78:C80").Cut Destination:=Range("B78")
B77

Mueve B78:B80 hacia C78 o viceversa

1 1 1

OFFSET
ActiveCell.Offset(2, 3).Range("a1").Select

Celda F84

Seleccione F84. Selecciona una celda 2 filas abajo y 3 columnas hacia la derecha, de la celda activa ,es decir selecciona I86

IR A (Goto)
Application.Goto REFERENCE:="CONSUMO", Scroll:=True
CONSUMO es un range name, ubicado en Sheet3, D9:I22. Va a la referencia antes sealada y rueda D9 hacia la esquina superior izquierda de la ventana.

CONGELAR VENTANA (FreezePanes)


Range("F95").Select ActiveWindow.FreezePanes = True
Como esta Hoja ya tiene los paneles congelados, primero use el Botn Descon y luego Congelar.

ActiveWindow.FreezePanes = False
Activa o selecciona la hoja Sheet3 Desactiva la barra de frmula.

ACTIVAR (Activate)

Activa o selecciona la hoja Sheet3 Desactiva la barra de frmula. Activa la barra de frmula

Worksheets("SHEET3").Activate Application.DisplayFormulaBar = False Application.DisplayFormulaBar = True

FORMULA
RANGE("C119").FORMULA = "=SUM(C116:C117)"

Limpie C119. Copia en C119 la frmula =SUM(C116:C117)

2 3 TOTAL 5

Celda C119

Mtodo SELECT y Propiedad SELECTION


El Mtodo Select, activa hojas y objetos en ellas. La propiedad Selection devuelve un objeto que representa la seleccin corriente o en curso en la hoja activa. Antes de usar la propiedad Selection exitsamente, se debe activar un libro de trabajo, activar o seleccionar una hoja y entonces seleccionar un rango (u otro objeto), usando el mtodo Select. Al grabar un macro, se usa frecuentemente el mtodo Select y la propiedad Selection. El procedimiento siguiente fue creado usando el grabador de macros, e ilustra como Select y Selection trabajan de conjunto: Sub Macro1() Sheets("Sheet1").Select Range("A1").Select ActiveCell.FormulaR1C1 = "Name" Range("B1").Select ActiveCell.FormulaR1C1 = "Address" Range("A1:B1").Select Selection.Font.Bold = True

'Selecciona la hoja Sheet1' 'Selecciona la celda A1' 'En la celda activa (A1) introduce el texto Name' 'Selecciona la celda B1' 'En la celda activa (B1) introduce el texto Address' 'Selecciona el rango A1: B1' 'Pone el rango seleccionado en negrita'

End Sub El siguiente ejemplo cumplimenta la misma tarea, sin activar o seleccionar la hoja o celdas Sub Titulos() With Worksheets("Sheet1") .Range("A1") = "Name" .Range("B1") = "Address" .Range("A1:B1").Font.Bold = True End Sub

EJECUCION DE CODIGOS REPETIDAS VECES (LOOPING CODES).


Repitiendo atravs de un rango de celdas. Cuando se usa Visual Basic, usted necesita frecuentemente ejecutar el mismo bloque de instrucciones en cada celda en un rango de celdas. Para hacer esto, se combina una instruccin de repeticin con uno o ms mtodos para identi ficar cada celda, una cada vez, y ejecutar la operacin. Una forma de realizar lo anterior, es usar ForNext con la propiedad Cells. Usando la propiedad Cells usted puede sustituir el contador (u otras variables o expresiones), para el nmero ndice de la celda En el siguiente ejemplo, la variable counter es sustituida por el ndice de la fila. El procedimiento repite atravs del rango C1:C20, sustituyendo por 0 (cero) cualquier nmero, cuyo valor absoluto sea menor qoe 0.01.

Sub RoundTo Zero1() For counter = 1 To 20 Set curCell = Worksheets("Sheet1").Cells(counter, 3) If Abs(curCell.Value) < 0.01 Then curCell.Value = 0 Next counter End Sub

Otra forma simple para repetir atravs de un rango es usar For EachNext, con la coleccin de celdas devueltas por el mtodo Range. Visual Basic, automticamente, define una variable objeto para la siguiente celda, cada vez que la repeticin se ejecuta. El siguiente procedimiento repite atravs del rango A1:D10, sustituyendo por 0 (cero) cualquier nmero, cuyo valor absoluto sea menor que 0.01. Sub RoundToZero2() For Each c In Worksheets("Sheet1").Range("A1:D10").Cells If Abs(c.Value) < 0.01 Then c.Value = 0 Next End Sub

Instruccin Do...Loop Repite un bloque de instrucciones mientras una condicin es verdadera, o mientras una condicin se hace verdadera. Syntax Do [{While | Until} condicin] [instrucciones] [Exit Do] [instrucciones] Loop

Ejemplo Repitiendo instrucciones mientras una condicin es verdadera.

Sub ChkFirstWhile() counter = 0 myNum = 20

En este ejemplo se chequea la condicin antes de entrar en la repeticin. Si myNum fuera igual a 9 en lugar de 20, las instrucciones

Do While myNum > 10 myNum = myNum - 1 counter = counter + 1 Loop MsgBox "The loop made " & counter & " repetitions." End Sub O puede utilizar otra Sintax Do [instrucciones] [Exit Do] [instrucciones] Loop [{While | Until} condicin] Ejemplo Sub ChkLastWhile() counter = 0 myNum = 20 Do myNum = myNum - 1 counter = counter + 1 Loop While myNum > 10 MsgBox "The loop made " & counter & " repetitions." End Sub

dentro del loop no se ejecutaran jams. En este caso las instrucciones del loop se ejecutarian slo hasta una vez antes que la condicin sea falsa.

Ejemplo Repitiendo instrucciones hasta que una condicin sea verdadera. Sub ChkFirstUntil() counter = 0 myNum = 20 Do Until myNum = 10

myNum = myNum - 1 counter = counter + 1 Loop MsgBox "The loop made " & counter & " repetitions." End Sub El procedimiento anterior chequea la condicin antes del lazo de repeticin. Sub ChkLastUntil() counter = 0 myNum = 1 Do myNum = myNum + 1 counter = counter + 1 Loop Until myNum = 10 MsgBox "The loop made " & counter & " repetitions." End Sub El procedimiento anterior chequea la condicin despus qye el lazo de repeticin ha comenzado.

Salir de un DoLoop desde dentro del lazo de repeticin. Ejemplo Sub ExitExample() counter = 0 myNum = 9 Do Until myNum = 10 myNum = myNum - 1 counter = counter + 1 If myNum < 10 Then Exit Do Loop MsgBox "The loop made " & counter & " repetitions." End Sub

En el ejemplo anterior, a myNum se le asigna un valor que crea una repeticin sin fin, que se resuelve con la instruccin IfThen Else y Exit Do.

Instruccion ForNext Se trata de otra instruccin muy utilizada para lazos de repeticin. Syntax For counter = star To end (Step step) Instrucciones Exit For Instrucciones Next Ejemplo Sub Borra() For i = 1 To 10 Cells(i, 3).Delete next End Sub El contador es i. Borra el contenido de la celdas C1:C10. El Step, osea, el incremento del contador es igual a 1 cuando no se especifique lo contrario.

Producto Prod1 Prod2 Prod3

Precios 10 15 20

CODIGO 100 200 300 400 500 600 700 800 900 1000 1100 1200

CRUDO 2 4 6 8 10 12 14 16 18 20 22 24

FUEL 2 4 6 8 10 12 14 16 18 20 22 24

DIESEL 2 4 6 8 10 12 14 16 18 20 22 24

G.MOT 2 4 6 8 10 12 14 16 18 20 22 24

KERO 2 4 6 8 10 12 14 16 18 20 22 24

Active de nuevo EjCVB, o la hoja que desee.

CODIGO

ENTIDAD

ORGAN.

PROV.

MUNIC.

103100 105100 108100 109100 131100 151100

ENT1 ENT2 ENT3 ENT4 ENT5 ENT6

SIME MINBAS MINAZ MIP MINAG MITRANS

Mat. P.Rio Hab. C.Hab. Cfgos. Stgo.

Mat. Guanes Guines Plaza Cfgos. Palma

COMO HACER REFERENCIA A CELDAS Y RANGOS


Podemos hacer referencias a celdas y rangos en diferentes estilos: A1 estilo de referencia. Range("A1") Range("A1:B5") Ejemplo de Visual Basic Sub NotacionA1() Workbooks("Entregas").Sheets("Cupet").Range("A1:B5).Font.Bold = True End Sub Pone en negritas las celdas A1:B5, ubicadas en la Hoja Cupet del Libro Entregas. Celda A1 Celda A1 hasta b5

Utilizando nmeros ndices Los nmeros ndices no son ms que los correspondientes a la fila y columna. Cells(No.Fila, No. Col) Cells(6,1) Range(Cells(1,1), Cells(5,2)) Celda A6 Rango ("A1:B5")

Esta es la forma ms prctica para elaborar Macros de Visual Basic, por su gran versatibilidad. Ejemplo de Visual Basic Sub NotacionA1() Workbooks("Entregas").Sheets("Cupet").Range(Cells(1,1),Cells(5,2)).Font.Bold = True

End Sub Pone en negritas las celdas A1:B5, ubicadas en la Hoja Cupet del Libro Entregas. Utilizando notacin simplificada [A1] [A1:B5] Ejemplo de Visual Basic Sub NotacionA1() Workbooks("Entregas").Sheets("Cupet").[A1:B5].Font.Bold = True End Sub Pone en negritas las celdas A1:B5, ubicadas en la Hoja Cupet del Libro Entregas. Refiriendose a Nombres de Rangos Para nombrar una celda o un rango seleccionados , hagalo mediante el Comando INSERT - Name - Define. Una vez nombrado el rango, puede utilizar este nombre en lugar de otro estilo de referencia. Por ejemplo, nombremos a A1:B5 como VENTAS. Range("Ventas") Ejemplo de Visual Basic Sub NotacionA1() Workbooks("Entregas").Sheets("Cupet").Range("VENTAS").Font.Bold = True End Sub Sub NotacionA1() Range("[Entregas.xls]Cupet!VENTAS").Font.Bold = True End Sub Rango(A1:B5) Celda A1 Rango("A1:B5")

Ambos ponen en negritas las celdas A1:B5, ubicadas en la Hoja Cupet del Libro Entregas. Refirindose a celdas relativas a otras celdas. Una forma comn a este tipo de referencia es usando la propiedad Offset. En el siguiente ejemplo, el contenido de la celda ubicada una fila hacia abajo y tres columnas a la derecha de la celda activa en la hoja de trabajo es formateada con doble subrayado. Sub Underline() ActiveCell.Offset(1,3).Font.Underline = xlDouble End Sub Refirindose a rangos mltiples. Usando el mtodo apropiado puede referirse fcilmente a mltiples rangos, como por ejemplo: Sub LimpiarRangos() Worksheets("sheet1").Range("c5:d9, g9:h16, b14:d18).ClearContents End Sub

Definiciones y Ejemplos de Objeto, Propiedad y Mtodo.


Objetos(Objects)
Un objeto representa un elemento de una Aplicacin, tal como, una hoja de trabajo (Worksheet), una celda (Cell), un grfico (Chart), un modelo (Form) o un imforme (Report). En los cdigos de Visual Basic, se debe identificar un objeto, antes de aplicar alguno de los mtodos de objetos o cambiar los valores de sus propiedades. Una coleccin (Collection) es un objeto que contiene varios otros objetos, usualmente, pero no siempe, del mismo tipo. En Excel, por ejemplo, el objeto Libros de Trabajo (Workbooks object), contiene todos los objetos libros (Work book object) abiertos. Las partes (items) en una coleccin, pueden ser identificados por nmeros o nombres. Ejemplos de objetos frecuentemente utilizados son:- Application, Border, Chart, Dialog, Font, Name, PageSetup, Pane, Range, Shape, Style, Window, Workbook, Worsheet, etc- Objects.

Mtodo(Method)
Un mtodo es una accin que un objeto puede ejecutar, por ejemplo, Clearcontents es un mtodo del objeto rango, porque limpia el contenido de las celdas, es decir, ejecuta una accin. Ejemplos de Mtodos frecuentemente utilizados son:- Calculate, Activate, Add, Align, Clear, Close, Copy, Delete, Goto, InputBox, Move, Open, Paste, PrintOut, Run, Save, Select, Protect, Unprotect, etc,- Methods

Propiedad (Property)
Una propiedad es un atributo de un objeto que define una de las caractersticas del mismo, como su tamao, color, o su localizacin en la pantalla, o un aspecto de su comportamiento, como por ejemplo, si esta visible o no. Para cambiar las caratersticas de un objeto, usted debe cambiar el valor de sus propiedades.

Ejemplos de Propiedades frecuentemente utilizados son:- ActiveCell, ActivePane, ActiveSheet, Bold, ActiveWorkbook, Border, Brightness, CenterHorizontally, Color, Column, ColumnWidth, FreezePanes, Locked, MarginTop, MergeCells, Row, Value, View, Zoom, etc. - Property Veamos algunos ejemplos prcticos de cdigos de Visual Basic. Sub Cerrar() Workbooks(1).Close End Sub De la coleccin de Libros abiertos se cierra el primero abierto. En este caso, cada uno de los libros de trabajo (Workbook), de la coleccin de Libros Abiertos (Workbooks), se identifica con un nmero de orden, segn fueron abiertos. Sub Cerrar() Workbooks("Entregas.xls").Close End Sub En este ejemplo el libro nombrado Entregas.xls, es el que se cierra. En ambos ejemplos se utiliza el Mtodo Close para cerrar el libro. Sub CongelarPaneles() Worksheets("Consumo").Range("c5").Select ActiveWindow.FreezePanes = True End Sub En este ejemplo Range("c5"), es un worksheet object, que representa la celda c5 de la Hoja de Clculo nombrada Consumo. La accin que ejecuta el objeto mediante el mtodo Select , es el de seleccionar la celda o activarla, posteriormente se aplica una propiedad a toda la ventana activa, mediante la propiedad FreezePanes, que con siste en congelar los talones superiores e izquierdo, a partir de la celda seleccionada. Como explicamos anterior mente, las propiedades cambian los valores de las caractersticas, por lo que en su mayora se expresan mediante el signo =. En este caso True, activa el congelamiento y False lo desactiva.

Cursillo de Excel Avanzado


Este Curso de Excel Avanzado esta destinado a personas que ya poseen un determinado dominio de esta aplicacin, pero que an no han logrado utilizar el mismo a una mayor potencialidad, en lo referente a la utilizacin de sus funciones y a la automatizacin de tareas, con la aplicacin de Visual Basic. Se trata de un cursillo prctico, donde se seleccionan algunas de las principales funciones de Excel, las ms necesarias, para la elaboracin de aplicaciones, as como los principales cdigos de Visual Basic para su automatizacin. Esperamos sea de utilidad para usted.

PRIMERA PARTE
FUNCIONES DE HOJAS DE TRABAJO Fechas y Hora Matemticas y Trigonomtricas Estadsticas Busqueda y Referencias Bases de Datos Textos Lgicas

Informativas Se muestran ejemplos prcticos de algunos de los muchos usos en la aplicacin de las funciones seleccionadas, los cuales se analizarn de forma ms especfica en la Parte correspondiente a las Aplicaciones. Las funciones se agrupan por categoras, y para su visualizacin y estudio basta con hacer " click " en la deseada.

Ejemplos de Funciones de Fecha y Hora


MONTH
Devuelve el nmero del mes del 1 (Enero) al 12 (Diciembre) Syntax MONTH(serial_number) El Nmero de Serie es un cdigo de fecha y tiempo usado por Excel para los clculos de fechas y horas. Puede utilizar Nmero de Serie como texto, tales como "4-15-1993" o "15-Apr-1993" en lugar de como n Celda G20 mero. El texto es convertido automticamente en Nmero de Serie. Ejemplo Err:502 5 4 3-Apr-00

Puede introducir una nueva fecha de la forma (mes/da/ao) y observar el resultado en la celda correspondiente del ejemplo.

En muchas aplicaciones se requiere contar en una celda dada con el nmero del mes,a partir de una fecha dada, con el objetivo de ulteriores elaboraciones de datos.

DAY
Devuelve el nmero del da del 1 al 31. Syntax DAY(serial_number) El Nmero de Serie es un cdigo de fecha y tiempo usado por Excel para los clculos de fechas y horas. Puede utilizar Nmero de Serie como texto, tales como "4-15-1993" o "15-Apr-1993" en lugar de como n
Celda G40 Puede introducir una nueva fecha de la forma (mes/da/ao) y observar el resultado en la celda correspondiente del ejemplo.

mero. El texto es convertido automticamente en Nmero de Serie. Ejemplo Err:502 8 2 2-May-00

Celda G40 Puede introducir una nueva fecha de la forma (mes/da/ao) y observar el resultado en la celda correspondiente del ejemplo.

En muchas aplicaciones se requiere contar en una celda dada con el nmero del da,a partir de una fecha dada, con el objetivo de ulteriores elaboraciones de datos.

DATEVALUE
Devuelve el Nmero de Serie de la fecha, representada por la fecha texto. Syntax DATEVALUE(date_text) La fecha texto es un texto que devuelve una fecha en el formato de Excel desde January 1, 1900 hasta December 31, 9999. El Nmero de Serie correspondiente a January 1, 1900 es igual a 1 y as sucesivamente hasta December 31, 9999, al cual corresponde el 2958465 Ejemplos Los siguientes ejemplos usan el sistema de fecha 1900. DATEVALUE("8/22/55") igual a 20323 DATEVALUE("22-AUG-55") igual a 20323 DATEVALUE("1/1/1900") igual a 1 DATEVALUE("12/31/9999") igual a 2958465 20323 20323 2 2958465

Otras funciones tambin devuelven el Nmero de Serie o la Fecha segn sea formateada la celda donde se encuentre la frmula, por ejemplo:

DATE
Syntax DATE(year,month,day) Ejemplos 8/22/1955 20323

CALCULOS CON FECHAS Veremos dos ejemplos: 1.Calcular los das de diferencia entre dos fechas. 2. Adicionar das a una fecha dada para obtener una nueva fecha. Ejemplos 33 33 8-May-00 10-Jun-00

Excel interpreta el texto como una fecha en el formato mm/dd/yy, convierte las fechas en Nmeros de Series, y calcula entonces la diferencia entre ellos. 10-Jun-00 10-Jun-00 8-May-00 33

Ejemplos de Funciones Mat. & Trig.


EVEN
Devuelve un nmero redondeado hacia el entero par superior. Syntax EVEN(number) Ejemplos EVEN(1.5) igual a 2 EVEN(3) igual a 4 EVEN(2) igual a 2 EVEN(-1) igual a -2 2 4 2 -2

EXP
Devuelve a "e" elevado a un nmero. Syntax EXP(number) Ejemplos EXP(1) igual a 2.718282 (valor aproximado de e) 2.72

EXP(2) igual a e2, or 7.389056 EXP(LN(3)) igual a 3

7.39 3

FACT
Devuelve el factorial de un nmero. Syntax FACT(number) Ejemplos FACT(1) igual 1 FACT(1.9) igual FACT(1) igual 1 FACT(0) igual 1 FACT(-1) igual a #NUM! FACT(5) igual a 1*2*3*4*5 igual a 120 1 1 1 Err:502 120

LCM
Devuelve el Mnimo Comn Mltiplo Syntax LCM(number1,number2, ...) Ejemplos

GCD
Devuelve el Mximo Comn Divisor Syntax GCD(number1,number2, ...) Ejemplos

LCM(5, 2) igual a 10 LCM(24, 36) igual a 72

10 72

GCD(5, 2) igual a 10 GCD(24, 36) igual a 72

1 12

LN
Devuelve el logartmo natural de un nmero. Syntax LN(number) Ejemplos LN(86) igual a 4.454347 LN(2.7182818) igual a 1 LN(EXP(3)) igual a 3 EXP(LN(4)) igual a 4 4.45 1 3 4

LOG
Devuelve el logartmo de un nmero en la base que usted especifique. Syntax LOG(number,base) Ejemplos LOG(10) igual a 1 1

LOG(8, 2) igual a 3 LOG(86, 2.7182818) igual a 4.454347

3 4.45

LOG10
Devuelve el logartmo base 10 de un nmero. Syntax LOG10(number) Ejemplos LOG10(86) igual a 1.934498451 LOG10(10) igual a 1 LOG10(1E5) igual a 5 LOG10(10^5) igual a 5 1.93 1 5 5

OOD
Devuelve un nmero redondeado hacia el entero none superior. Syntax ODD(number) Ejemplos ODD(1.5) igual a 3 3

ODD(3) igual a 3 ODD(-2) igual a -3

3 -3

PRODUCT
Multiplica todos los n'umeros dados como argumentos y devuelve el producto. Syntax PRODUCT(number1,number2, ...) Los nmeros 1, 2, son 1 a 30 nmeros que usted quiere multiplicar. Ejemplos Si las celdas G161:I161 contienen 5, 15, y 30: PRODUCT(G161:I161) igual a 2,250 PRODUCT(G161:I161, 2) igual a 4,500 5 15 2250 4500 30

POWER
Devuelve el resultado de un nmero elevado a una potencia Syntax POWER(number,power) Ejemplos POWER(5,2) igual a 25 POWER(98.6,3.2) igual a 2401077 25 ###

POWER(4,5/4) igual a 5.656854

5.66

ROUND
Redondea un nmero a un nmero especificado de decimales. Syntax ROUND(number,num_digits) Ejemplos ROUND(2.15, 1) igual a 2.2 ROUND(-1.475, 2) igual a -1.48 ROUND(21.5, -1) igual a 20 2.2 -1.48 20

SUMIF
Suma las celdas especificadas a partir de un criterio dado. Syntax SUMIF(range,criteria,sum_range) range es el rango de celdas que se quiere evaluar. criteria es el criterio en forma de un nmero, expresin, o text, que define que celdas hay que sumar. sum_range son las actuales celdas a sumar. Ejemplos Suponga que las celdas B222:B225 contienen los siguientes valores para cuatro casas: $100,000, $200,000, $300,000 y $400,000 respectivamente. Las celdas C222:C225 contienen las siguientes comisiones de venta

en cada uno de los correspondientes valores: $7,000, $14,000, $21,000 y $28,000 SUMIF(B222:B225,">160,000",C222:C225) igual a $63,000
VALOR COMISION
C222

100,000 200,000 300,000 400,000

7,000 14,000 21,000 28,000

Se traduce as : sume las celdas en el rango C222:C225, para las cuales, las celdas del rango B222:B225, sean mayores que 160,000. En este caso se suman: C223:C225.
63,000

SQRT
Devuelve una raiz cuadrada positiva. Syntax SQRT(number) Ejemplos SQRT(16) igual a 4 SQRT(-16) igual a #NUM! SQRT(ABS(-16)) igual a 4
4 Err:502 4

SUMPRODUCT
Multiplica los componentes correspondientes de las series dadas y devuelve la suma de los productos. Syntax SUMPRODUCT(array1,array2,array3, ...)

Array1, array2, array3, ... son 2 a 30 series cuyos componentes usted quiere multiplicar y sumar. Los argumentos de las series deben tener la misma dimensin. Ejemplos B 3 8 1 SUMPRODUCT({3,4;8,6;1,9}, {2,7;6,7;5,3}) igual a 156 156 C 4 6 9 D E 2 6 5 F 7 7 3

La operacin realizada equivale a la suma de : 3*2+4*7+8*6+6*7+1*5+9*3 El ejemplo anterior devuelve el mismo resultado que la frmula SUM(B260:C262*E260:F262) entrada como un"array". 156 Para entrar una frmula array, seleccione la celda, escriba la frmula y presione CTRL+SHIFT+ENTER

Ejemplos de Funciones Estadsticas


COUNT
Cuenta el nmero de celdas que continen nmeros en un rango de celdas dado. Syntax COUNT(value1,value2, ...) Ejemplos COUNT(F14:F23) igual a 7 30+COUNT(H14:H23) igual a 37 COUNT(J14:J23, 2) igual a 8 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7

37

COUNTA
Cuenta el nmero de celdas que no estan vacias, osea que contienen cualquier tipo de informacin en un rango dado. Syntax COUNTA(value1,value2, ...) Ejemplos

COUNTA(F36:F45) igual a 6 COUNTA(H36:H45, "Two") igual a 7

JUAN # 3 5 6 7

JUAN # 3 5 6 7

COUNTBLANK
Cuenta celdas vacias en un rango especfico. Syntax COUNTBLANK(range) Ejemplos COUNTBLANK(F57:F66) igual a 4 JUAN # 3 5 6 7

COUNTIF

Cuenta el nmero de celdas en un rango que coinciden con el criterio dado. Syntax COUNTIF(range,criteria) Ejemplos COUNTIF(F79:F86,"JUAN") COUNTIF(H79:H86,">3") JUAN PEDRO JOSE JUAN MARIO JOSE JUAN JUAN 4 1 2 3 4 5 6 7

MAX
Devuelve el valor mayor en un juego de Datos Syntax MAX(number1,number2,...) Ejemplos MAX(E99:E107) igual a 7 1 2 3 4 5 6 7

MIN
Devuelve el valor menor en un juego de Datos Syntax MIN(number1,number2,...) Ejemplos MIN(J99:J107) igual a 1 1 2 3 4 5 6 7

SMALL
Devuelve el K-gesimo menor valor en un rango de datos. Syntax SMALL(array,k) K es la posicin a partir del menor de los valores en el rango del dato a devolver. Ejemplos SMALL(G122:G128,4) igual a 6 El cuarto dato ms pequeo es 1, 3, 5, 6. 5 7 9 1 3 6 12

LARGE
Devuelve el K-gesimo mayor valor en un rango de datos. Syntax LARGE(array,k) K es la posicin a partir del mayor de los valores en el rango del dato a devolver.

Ejemplos LARGE(G122:G128,4) igual a 6 El cuarto dato mayor es 12, 9, 7, 6. 6

CORREL
Devuelve el Coeficiente de Correlacin entre las series 1 y 2. Syntax CORREL(array1,array2) Ejemplos CORREL({3,2,4,5,6},{9,7,12,15,17}) igual a 0.997054 CORREL(G159:G163,H159:H163) igual a 0.997054 3 2 4 5 6 9 7 12 15 17 1

LINEST
Utiliza el mtodo de los Mnimos Cuadrados para el mejor ajuste de una linea recta a sus datos. La ecuacin para la lnea es: y = mx + b or y = m1x1 + m2x2 + ... + b (si hay rangos multiples de los valores x) Syntax LINEST(known_y's,known_x's,const,stats) Known_y's es la serie de valores y que usted ya conoce en la relacin y = mx + b.

Known_x's es una serie opcional de valores x que usted puede ya conocer en la relacin y = mx + b. Const es un valor lgico que especifica cuando se fuerza a la constante b a ser igual que 0. Si const es TRUE o se omite, b es calculada normalmente. Si const es FALSE, b es considerada igual a 0 y los valores m se ajustan a y = mx. Stats es un valor lgico que especifica cuando devolver estadstica adicional de regresin. Si stats es TRUE, LINEST devuelve la estadstica adicional, de forma que la serie es {mn,mn-1,...,m1,b;sen,sen-1,...,se1,seb;r2,sey;F,df;ssreg,ssresid}. Si stats es FALSE o se omite, LINEST devuelve slo los coeficientes m y la constante b. La estadstica adicional es la siguiente: Statistic se1,se2,...,sen Seb r2 sey F df ssreg ssresid Los errores standar de los coeficientes m1, m2, , mn. Los errores standar para la constante b (seb = #N/A cuando constt es FALSE). El coeficiente de determinacin. El error standar para la y estimada. La F estadstica, o el valor F observado. Los grados de libertad. La regresin suma de cuadrados. La suma de cuadrados residual.

Cuando usted tiene uan sola variable independiente x, puede utilizar las siguientes f'ormulas: INDEX(LINEST(known_y's,known_x's),1), para determinar la pendiente. INDEX(LINEST(known_y's,known_x's),2), para determinar intercepcin y = b.

Ejemplo 1. Pendiente e Intercepcin Y. LINEST({1,9,5,7},{0,4,2,3}) igual a {2,1}, pendiente = m = 2 , y-intercepcin = b = 1

y = mx + b = 2x + b, para x = 0, y = 1, para y = 1, b = 1 2 y = 2x + 1 Ejemplo 2. Regresin Lineal Simple Suponga un negocio tiene ventas de $3,100, $4,500, $4,400, $5,400, $7,500, y $8,100 durante los primeros seis meses del ao fiscal. Asumiendo que los valores se ubican en el rango I225:I230, usted puede usar la siguiente regresin lineal simple para estimar el noveno mes. 3100 4500 4400 SUM(LINEST(I225:I230)*{9,1}) igual a SUM({1000,2000}*{9,1}) igual a $11,000 5400 y = 1000x + b = 1000x + 2000 = 1000*9 + 2000 = 11000 7500 8100 11000 1000 2000 En general, SUM({m,b}*{x,1}) igual a mx + b, el valor y estimado para un x dado. 1

Ejemplo 3. Regresin Linear Multiple. Suponga un comerciante quiere establecer un grupo de pequeas oficinas en un distrito de negocios. Se puede utilizar la Regrtesin Lineal Multiple para estimar el valor de un edificio de oficinas basado en: Variable y x1 x2 x3 x4 Se refiere a: Valor asequible del edificio de oficinas. Area en pies cuadrados. Nmero de oficinas Nmero de entradas Edad del edificio en aos.

Se asume que hay una relacin lineal entre cada variable independiente y el valor del edificio y. Se toma una muestra aleatoria de 11 edificios de 1500 posibles y se obtiene la siguiente data.

B x1 2,310 2,333 2,356 2,379 2,402 2,425 2,448 2,471 2,494 2,517 2,540

C x2 2 2 3 3 2 4 2 2 3 4 2

D x3 2 2 1.5 2 3 2 1.5 2 3 4 3

E x4 20 12 33 43 53 23 99 34 23 55 22

F y 142,000 144,000 151,000 150,000 139,000 169,000 126,000 142,900 163,000 169,000 149,000

Cuando se entra como un array la formula siguiente: LINEST(F254:F264,B254:E264,TRUE,TRUE) se obtiene el resultado siguiente: B -234.24 13.27 1 459.75 ### C D E F 2553.21 12529.77 27.64 52317.83 530.67 400.07 5.43 12237.36 970.58 #N/A #N/A #N/A 6 #N/A #N/A #N/A ### #N/A #N/A #N/A

La ecuacin y = m1*x1 + m2*x2 + m3*x3 + m4*x4 + b, puede ahora obtenerse usando los valores de la primera fila. y = 27.64*x1 + 12,530*x2 + 2,553*x3 - 234.24*x4 + 52,318 Ahora se puede estimar el valor asequible para un edificio en la misma area de 2,500 pies cuadrados, tres oficinas, 2 entradas y 25 aos de antiguedad. y = 27.64*2500 + 12530*3 + 2553*2 - 234.24*25 + 52318 = $158,261

FORECAST
Calcula o predice un valor futuro, a partir de valores existentes, utilizando regresin lineal Syntax FORECAST(x,known_y's,known_x's) x es el punto para el cual se requiere predecir un valor. La ecuacin para el FORECAST es a+bx. Ejemplo FORECAST(30,{6,7,9,15,21},{20,28,31,38,40}) igual a 10.60725 6 7 9 15 21 10.61 20 28 31 38 40 10.61

LOGEST, GROWTH, TREND.


Son otras funciones para pronosticar, para el ajuste de curva exponencial, crecimiento exponencial y hallar valores a lo largo de una linea de tendencia, respectivamente, sobre las cuales puede conocer en la ayuda de Excel.

Ejemplos de Funciones de Busqueda y Referencias


ADDRESS
Crea una referencia de celda como texto, especificanco los nmeros de fila y columna. Syntax ADDRESS(row_num,column_num,abs_num,a1,sheet_text) Abs_num especifica el tipo de referencia a devolver. 1 o omitido 2 3 4 Absoluta Fila absoluta ; columna relativa. Fila relativa, columna absoluta. Relativa

A1 es valor lgico que especifica el estilo de referencia A1 o R1C1.TRUE u omitido devuelve estilo A1, FALSE devuelve R1C1. Sheet_text es texto especificando el nombre de la hoja de trabajo a ser usada worksheet como referencia externa; si es omitido no es usada hoja de trabajo alguna. Ejemplos ADDRESS(2,3) igual a "$C$2" ADDRESS(2,3,2) igual a "C$2" ADDRESS(2,3,2,FALSE) igual a "R2C[3]" ADDRESS(2,3,1,FALSE,"[Book1]Sheet1") igual a "[Book1]Sheet1!R2C3" ADDRESS(2,3,1,FALSE,"EXCEL SHEET") igual a "'EXCEL SHEET'!R2C3" $C$2 C$2 R2C[3] '[Book1]sheet1'!R2C3 'EXCEL SHEET'!R2C3

COLUMN

ROW

Retorna el nmero de la columna de la referencia. Syntax COLUMN(reference) Ejemplo COLUMN(A3) igual a 1 1

Retorna el nmero de la fila de la referencia. Syntax ROW(reference) Ejemplo ROW(A3) igual a 3 3

CHOOSE
Se usa para seleccionar uno de un mximo de 29 valores, basado en un nmero ndice. Syntax CHOOSE(index_num,value1,value2,) El nmero ndice especifica cual valor argumento es seleccionado. El ndice es entre 1 y 29. Ejemplos CHOOSE(2,"1st","2nd","3rd","Finished") igual a "2nd" SUM(k60:CHOOSE(3,k61,k62,k63)) igual a SUM(k60:k63) Si k66 contiene 4, entonces: CHOOSE(k66,"Ene","Feb","Mar","Abr") igual a Abr Abr 2nd 100 10 20 30 40 100 4

MATCH

Retorna la posicin relativa de un item en una serie que coincide con un valor especifico en un orden dado. Syntax MATCH(lookup_value,lookup_array,match_type) Lookup_value es el valor que usted usa para encontrar el valor deseado en una tabla. Lookup_array es un rango contiguo de celdasque contienen posibles valores buscados. Match_type es el nmero -1, 0, or 1. Si es 1, MATCH encuentra el mayor valor, menor o igual al buscado.La serie debe ser ascendente. Si es 0, MATCH encuentra el primer valor que sea exactamente igual al buscado. La serie en cualquier orden. Si es -1, MATCH encuentra el menor valor, mayor o igual que el buscado. La serie descendente. Si match_type es omitido, se asume como 1. Ejemplos B Articulo Papel Libro Cuaderno Lpiz Presilla Goma C Cantidad 2000 5000 10000 15000 20000 25000 D Precio
D96

2.00 1.00 0.50 0.05 0.02 0.01

2 3 1 101

MATCH(5000,C96:C101,1) MATCH(13000,C96:C101,1) MATCH(1.5,D96:D101,-1) MATCH("Goma",B96:B101,0)+95

Fcilmente se puede determinar el No. de la fila donde se encuentra un dato especfico.

OFFSET

Devuelve una referencia a un rango que esta a un nmero de filas y columnas especificado de distancia de una celda o rango de celdas dadas. Syntax OFFSET(reference,rows, cols,height,width) Reference es la referencia desde la cual usted quiere basar el offset. Rows es el nmero de filas hacia arriba o abajo, a la que usted quiere referir la celda offset. Usando un 5 como argumento de la fila, quiere decir que su referencia esta a 5 filas hacia abajo de la referencia offset. Cols es el nmero de columnas, hacia la derecha si es positivo el nmero o izquierda si es negativo. Height es el nmero de filas, que se quiere de alto. Width es el nmero de columnas, que se quieren de ancho. Si height or width se omiten, se asume que sean los mismos de la referencia. Ejemplos OFFSET(B128,2,2,1,1) igual a D130. Si usted introduce esta frmula en una hoja de trabajo, Excel muestra el valor contenido en la celda D130.
D130 B128

5555

5555

SUM(OFFSET(B134,2,2,3,2)
B134

1 1 1

1 1 1 6

A partir de B134, dos filas hacia abajo, dos columnas hacia la derecha, al alto de tres filas y al ancho de dos columnas, es decir, se refleja la suma del contenido del Rango D136:E138

VLOOKUP

Busca un valor en la columna ms a la izquierda de una tabla, y devuelve un valor en la misma linea, a partir de una columna especificada en la tabla. Syntax VLOOKUP(lookup_value,table_array,col_index_num,range_lookup) Lookup_value es el valor a ser hallado en la primera columna de la serie. Lookup_value puede ser un valor, una referencia o un texto. Table_array es la tabla de informacin en la que se busca el dato. Col_index_num es el nmero de la columna en la tabla donde se busca el dato. Range_lookup es un valor lgico para encontrar una conciliacin exacta o aproximada. FALSE para conciliaciones exactas, TRUE aproximadas. Ejemplos CODIGO NOMBRE CANTIDAD 1 Papel 10 2 Lpiz 20 3 Goma 30 4 Libro 40 =VLOOKUP(J161,B161:D164,2,FALSE) es igual a Lpiz =VLOOKUP(J161,B161:D164,3,FALSE) es igual a 20 Libro 40 4
J161 Introduzca del 1 al 4

Es una de las funciones ms tiles de Excel, para aplicaciones.

Ejemplos de Funciones de Base de Datos


DCOUNT, DMAX, DMIN, DSUM, DPRODUCT, DAVERAGE, DGET
Excel incluye 12 funciones que analizan data almacenada in listas o bases de datos. Estas funciones usan tres argumentos: database, field y criteria (base de dato, campo y criterio); estos argumentos se refieren al rango de datos que usan las funciones. Syntax Dfunction(database,field,criteria) Ejemplos Utilizaremos laB19 siguiente base de dato: BARCO A A B C A B B C C CRUDO 100 200 300 400 500 600 100 150 200 FUEL 1000 2000 3000 4000 1500 2300 4500 6000 8000 DIESEL BARCO B 50 100 150 200 350 400 200 150 50
E19

F19

CRUDO >100

FUEL

DIESEL
I20

La base de Dato esta ubicada en el rango B19:E29, de color amarillo. Los Criterios en el rango F19:I20 El criterio que se muestra indica que se deber extraer la informacin solicitada del campo especificado, slo para el Barco B, siempre y cuando la informacin en el campo CRUDO sea mayor de 100.

DCOUNT DMAX DMIN DSUM

2 =DCOUNT($B$19:$E$29,"FUEL",$F$19:$I$20) 3000 =DMAX($B$19:$E$29,"FUEL",$F$19:$I$20) 2300 =DMIN($B$19:$E$29,"FUEL",$F$19:$I$20) 5300 =DSUM($B$19:$E$29,"FUEL",$F$19:$I$20)

DPRODUCT DAVERAGE DGET B

6900000 =DPRODUCT($B$19:$E$29,"FUEL",$F$19:$I$20) 2650 =DAVERAGE($B$19:$E$29,"FUEL",$F$19:$I$20) BARCO CRUDO FUEL 4500 DIESEL


I40

=DGET($B$19:$E$29,"BARCO",$F$39:$I$40)

DOUNT = 2, quiere decir, que hay slo dos partidas en el campo FUEL, correspondientes al barco B con informacin en el campo CRUDO mayor de 100, que son 3000 y 2300 en las celdas D23 y D26, respectivamente. La informacin en la celda D27 no cumple el criterio por no ser mayor que 100. El rango de la Base de Datos debe incluir los nombre de los campos, que son determinantes para la consideracin de los Criterios. El campo se puede reflejar con el nombre del mismo entre comillas o con el nmero de la columna donde esta ubicado:
=DCOUNT($B$19:$E$29,"FUEL",$F$19:$I$20) =DCOUNT($B$19:$E$29,3,$F$19:$I$20)

En la frmula se ubica el rango de celdas donde esta localizado el criterio, cuyos nombres de campo deben coincidir exactamente con los de la tabla. Para ms informacin sobre los diferentes tipos de criterios consulte la ayuda (Criteria). Se trata de funciones muy tiles para el trabajo con Excel, las cuales facilitan significativamente la elaboracin de sistemas de gestin de informacin, lo que podr apreciarse prcticamente.

Ejemplos de Funciones de Texto


EXACT, LEN, LEFT, LOWER, UPPER, RIGHT EXACT
Compara dos textos y devuelve TRUE o FALSE si son exactamente iguales o no. Syntax EXACT(text1,text2) Ejemplos EXACT("word","word") igual a TRUE EXACT("Word","word") igual a FALSE EXACT("w ord","word") igual a FALSE TRUE FALSE FALSE

Para Chequear que en la celda G27 se ha introducido el dato correcto use esta f'ormula introducida como array. {=OR(EXACT(TestValue, CompareRange))} TRUE Capitolio
Celda G27. Introduzca otro texto que no sea Capitolio y vea que pasa en B27.

LEN
Devuelve el nmero de caracteres en un texto, incluido espacios en blanco. Syntax

LEN(text) Ejemplos LEN("word") igual a 4 LEN("Somos la Ley") igual a 12 4 12

LEFT
Devuelve el primer caracter de la izquierda en un texto Syntax LEFT(text,num_chars) Num_chars especifica cuantos caracteres quiere extraer. Si es omitido extrae slo 1. Ejemplos LEFT("Precio de Venta", 4) igual a "Prec" Si E61 contiene "Mio" LEFT(E61) igual a "M" Mio

RIGHT
Devuelve el ltimo caracter de la derecha en un texto Syntax LEFT(text,num_chars) Num_chars especifica cuantos caracteres quiere extraer. Si es omitido extrae slo 1. Ejemplos Prec RIGHT("Precio de Venta", 4) igual a "enta" Si J61 contiene "Mio" M RIGHT(J61) igual a "o" Mio enta
=RIGHT(J61)

Suponga que extrae un dato de un sistema que es un nmero negativo, pero con el signo a la derecha y es necesario, evitar esto, es decir, extraerlo con el signo negativo a la izquierda. E71 Haga la prueba El dato esta en la celda E71: LEFT(E71,LEN(E71)-1)*-1 25-25

LOWER
Convierte en minsculas las letras maysculas de un texto. Syntax LOWER(text) Ejemplos LOWER("W. Glez") igual a "w. glez" LOWER("Apt. 2B") iguala "apt. 2b" w. glez apt. 2b

UPPER
Convierte en maysculas las letras minsculas de un texto. Syntax UPPER(text) Ejemplos UPPER("W. Glez") igual a "W. GLEZ" UPPER("Apt. 2B") iguala "APT. 2B" W. GLEZ APT. 2B

Ejemplos de Funciones Lgicas


AND, OR, IF AND
Devuelve TRUE si todos los argumentos son verdaderos, sino FALSE. Syntax AND(logical1,logical2, ...) Ejemplos AND(TRUE, TRUE) igual a TRUE AND(TRUE, FALSE) igual a FALSE AND(2+2=4, 2+3=5) igual a TRUE Si G23 contiene un nmero entre 1 y 100, entonces: AND(1<G23, G23<100) igual a TRUE 20 TRUE TRUE

OR
Devuelve TRUE si algn argumento es verdadero y FALSE si todos los argumentos son falsos. Syntax OR(logical1,logical2,...)

Ejemplos OR(TRUE) igual TRUE OR(1+1=1,2+2=5) igual a FALSE

IF
Devuelve un valor si una condicin especificada es verdadera u otro valor si es falsa. Syntax 1 IF(logical_test,value_if_true,value_if_false)

Ejemplos En el ejemplo siguiente, si el valor de la celda F57 es mayor que 10, se extrae el valor en F58, sino se extrae el valor en F57+2. IF(F57>10,F58,F57+2) 5 100
F57 Puede ir haciendo pruebas en esta celda.

7 IF(F57="Habana",F58,F57) IF(AND(F57>1,F57<10,F58, "Fuera de Rango") IF(OR(F57=5,F57=10),F58, F57*F58/2) IF(F57=5,F58,IF(F57=6,F58+1,IF(F57=7,F58+2,0))) IF(SUM(F57,F58)=200,"OK","DESCUADRE") IF(LEN(F57)=4,F57,F58) 5 100 100 100 DESCUADRE 100

Con IF puede utilizar las funciones de Excel como logical_text, lo cual le da una alta utilidad a esta funcin.

Then return A B C D F

Ejemplos de Funciones de Informacin


ISBLANK, ISERROR, ISEVEN, ISODD, ISNUMBER, ISTEXT
Se utilizan para comprobar el tipo de valor o referencia: celda en blanco, error en clculo, nmero par o impar, si es un valor numrico o un texto. Devuelven TRUE o FALSE. Syntax ISBLANK(value) ISERROR(value) ISEVEN(value) ISODD(value) ISNUMBER(value) ISTEXT(value) Ejemplos 5 ISBLANK(G21) ISERROR(G21) ISEVEN(G21) ISODD(G21) ISNUMBER(G21) ISTEXT(G21) IF(ISERROR(G21),0,G21) FALSE FALSE 0 1 TRUE FALSE 5

G21 Vaya haciendo la prueba aqu. Introduzca el dato apropiado.

IF(ISERROR(AVERAGE(A1:A4)),"No Numbers",AVERAGE(A1:A4))

También podría gustarte