Académique Documents
Professionnel Documents
Culture Documents
JoseV
Tcnicas y funciones para el manejo de Excel 2007
Biblioteca personal Tutorial de Excel 2007 Jos Vega [Escribir el nmero de telfono] [Escribir el nmero de fax] [Seleccionar fecha]
si quisiramos saber en que mes la venta fue de 80.230 no podramos usar BUSCARV, pero el problema se resuelve con el adecuado anidamiento de INDICE y COINCIDIR, a este anidamiento se le llama FORMULA, veamos como: INDICE puede extraer el valor de una matriz si le damos los datos de fila y columna, pues el valor estar en la interseccin de ellos, el valor de la columna lo tenemos, ya que este debe estar en la columna n1 que es la del mes, solo nos falta el valor de la fila, que muy amablemente nos lo entrega la funcin COINCIDIR quedando la siguiente frmula
si la referencia en COINCIDIR es B15, la tabla en la que se busca la posicin C2:C13, en INDICE la matriz de la cual se saca el valor B2:C13 y la columna es la n1. Si ponemos los datos en una Hoja de Excel
Pgina 2
y la frmula se introduce en la celda E15, obtenemos el mes de Agosto, como se puede ver en la tabla
Pgina 3
Pgina 4
como se ve, en el 1 parmetro tenemos una funcin Y que tiene anidadas en sus parmetros, una funcin O y otra funcin Y, lo que aumenta el nmero de posibilidades que se estn evaluando o condiciones que se tienen que cumplir como: ser del turno maana (se tiene que cumplir siempre). ser de la categora 1 o que su sueldo sea <=7.000$ o ambas cosas. Este es un ejemplo relativamente simple, anidando en el parmetro 1 y sin anidar nada en los otros dos, pero la complejidad puede aumentar grandemente.
Pgina 5
Para resolver el problema con Excel introducimos la frmula de bsqueda en la celda que esta debajo de DESCUENTO y elaboramos de una matriz de bsqueda en la Hoja2 (para que quede oculta a los usuarios) con los destinos y sus descuentos respectivos.
Damos el nombre "descuento" a la matriz de bsqueda e introducimos la funcin BUACARV con la con la siguiente sintaxis: BUSCARV(C2;descuento;2;FALSO) como se muestra en la figura.
Pgina 6
Se ve que BUSCARV da error aunque se introdujo la funcin correctamente, esto se debe a que la referencia C2 esta vaca porque aun no se introdujo ningn destino. Otro error se presentara si se introdujera un destino que no esta en "descuento"
Pgina 7
Se preguntarn como ESERROR se da cuenta de cual de los 2 errores se est cometiendo; la respuesta es que no tiene manera de darse cuenta, evitamos que tenga que decidir con C2="" , que es la proposicin lgica que junto con SI detectan si hay un blanco y si lo hay colocan otro blanco enD3 , si este error no est, entra a jugar el tercer argumento de SI, donde ya hay solo 2 posibilidades; que este el segundo error o no, si est es detectado por SI, ESERROR Y BUSCARV, descartado el segundo error se hace la bsqueda normal del principio. Las funciones anidadas son muy poderosas, aunque al principio suelen ser un verdadero dolor de cabeza, es por eso que hay algunos mtodos para trabajar con ellas, lo que nos dar pie para un tutorial mas adelante.
Pgina 8
una forma de calcular los subtotales, por ejemplo hasta el da 4, sera emplear la funcin SUMA con el rango fijo C2:C5 , pero si al da 5 queremos ingresar otro dato, este no es tomado hasta que no actualicemos el rango a C2:C6, se entiende que es muy poco prctico hacer esto toda vez que queramos ingresar un valor, lo que necesitamos es un rango que vare en forma automtica o sea un rango variable. Para hacer que nuestro rango se actualice usaremos la funcin CONTAR anidada con DESREF dentro de la funcin SUMA . Como puede verse, estamos ante el caso particular de una columna donde el rango debe alargarse(cambiar de alto) y por lotanto al usar DESREF solo nos hacen falta 2 parmetros; el parametro de partida C2 y alto, en los parametros de fila y columna( que son obligatorios) se pone cero o ""(blanco) y elparametro ancho ( que no es obligatorio ) se omite. Todo el truco est en hacer que alto se expanda hacia abajo y para eso lo reemplazamos con la funcin CONTAR , que cuenta las celdas que no estan vacas, por lo tanto siempre nos pondr el valor correcto en "alto" y finalmente nuestra formula queda
en CONTAR seleccionamos toda la columna C poniendo C:C o pulsando en y nuestra tabla queda finalmente asi
Pgina 9
Si al da 11 se gasto tanto, no quiero ni pensar lo que va a ser al da 31!! Les dejo un archivo para que comprueben como funciona
Como se puede ver, la actualizacion se produce no solo al agregar un valor al final de la lista sino tambien al cambiar un valor intermedio.
Pgina 10
ahora le pondremos nombre a la frmula DESREF(C2;0;0;CONTAR(C:C)), para esto vamos a la pestaa Frmulas, luego a la seccin Nombres definidos donde pulsamos en Asignar nombre a un rango
Pgina 11
en Nombre introducimos, por ejemplo, "GASTOS_ MENSUALES" y en "Hace referencia a" borramos lo que esta escrito, dejando el signo "=", y luego introducimos la formula DESREF(C2;0;0;CONTAR(C:C))
Pgina 12
Acordarse que al poner un nombre no deben dejarce espacios en blanco ni incluir los smbolos (+ ;* ; = ; -) ya que Excel interpreta que estamos por introducir una frmula o funcin. Si queremos eliminar un nombre, en el panel Nombres definidos pulamos en Administrador de nombres
donde podremos eliminar, agregar y editar nombres. Observar como Excel automticamente escribe la frmula as
Pgina 13
donde adems de introducir el nombre y la frmula, podemos eliminar algn nombre previamente escrito.
Pgina 14
pero a no ser que actualicemos los rangos, el da 11no quedara representado en el grfico. Sera mucho mas prctico que los rangos se actualizaran automticamente. Para hacer esto vamos a crear 1 nombre como lo hicimos en el tutorial RANGO VARIABLE UTILIZANDO NOMBRES , en este caso crearemos el nombre GASTOS (podramos haber elegido cualquier nombre) para la columna que representa a los valores en el eje que queremos que se actualice su rango, para esto utilizaremos las frmula =DESREF(Hoja1!$B$2;0;0;CONTAR(Hoja1!$B:$B)) que introducimos pulsando en la pestaa "Frmula" y luego en" Nombre Nuevo"
Pgina 15
y ya tenemos definido el nombre GASTOS. A continuacin seleccionamos cualquier barra del grfico y veremos que aparece la funcin SERIES, en la barra de frmulas
o sea que reemplazamos los rangos del grfico esttico de la columna GASTOS por el nombre que hace dinmica a esta columna. Como se ve no hace falta poner un nombre para los rangos de la columna N1(DIA) como lo hubiramos tenido que hacer en versiones anteriores a la 2003.Con esto hemos terminado y ahora si el da 11 y todos los que agreguemos de aqu en mas, quedaran representados en el grfico, como se puede ver
Pgina 16
No es que lo anterior sea demasiado comoplicado, pero con las versines de Excel 2007 y Excel 2003 se pueden actualizar grficos de forma mucho mas sencilla, veamos: Excel 2007 Una vez confeccionado nuestro grfico esttico, seleccionamos otra vez la tabla de datos, luego vamos a la pestaa Insertar y despus pulsamos en tabla
ya est nuestro grfico actualizable. Notar que Excel 2007 por defecto tilda la casilla de encabezados, por lo que si no los hubiera, tendramos que destildarla.. Excel 2003 En Excel 2003 seleccionamos cualquier celda de la tabla de datos, digamos la B3, luego vamos al men Datos->Lista->Crear lista
Pgina 17
luego aparece panel "crear lista "( en Excel 2007 era crear tabla),
si todos los datos estn bien aceptamos y ya est creado nuestro grfico que toma los datos de una lista que se puede agrandar o achicar, segn sea el caso de que quitemos o agreguemos valores
en la figura se ve la lista bordeada por un color azul y un asterisco, tambin azul, que indica que podemos agregar un valor en esa fila. Como vern el tema de los grficos con rangos variables se ha simplificado mucho en Excel 2007 y Excel 2003.
Pgina 18
Esta es la tabla que usa un comercio de indumentaria, cuando tiene artculos que pueden estar confeccionados por varios fabricantes. Supongamos que Felipe, empleado de un comercio de ropa masculina, tiene que hacer una factura para un cliente, con el siguiente esquema
Pgina 19
para esto tiene cargado en la Hoja1de Excel el modelo de factura y fuera de la rea de impresin la tabla de doble entrada igual a la mostrada arriba, luego en la primera fila de la columna "PRECIO UNITARIO" escribe la frmula para encontrar el precio en la tabla de doble entrada
donde se anida INDICE con COINCIDIR y se definen los NOMBRES precios=tabla!$B$2:$D$5 fabricas=tabla!$B$1:$D$1 artculos=tabla!$A$2:$A$5
Para que no salgan los mensajes de error cuando las celdas de los artculos y las fabricas estn vacas como se muestra
se utiliza la frmula condicional SI anidada con la anterior, para la columna "PRECIO UNITARIO"
para la columna "CANTIDAD" , as, aunque estn cargadas las frmulas, el esquema de la factura, siempre lucir, antes de agregar valores, como al principio.
Pgina 20
En estas condiciones Felipe podr llenar tranquilamente la factura, que le queda finalmente como se muestra abajo y que puede usar para otros clientes.
Pgina 21
Pgina 22
FUNCION Y()
La funcin Y() ,como O() es una funcin lgica ya que sus argumentos son proposiciones lgicas, la funcin evala los argumentos y devuelve un resultado VERDADERO o FALSO ( aclaro que esta funcin puede tener un solo parametro sin dar error, aunque no tiene mucho sentido prctico) Su sintaxis es: Y(parmetro1;parmetro2;parmetro3;.....) La funcin devuelve VERDADERO si la evaluacin de todos los parmetros es VERDADERA y dara FALSO si la evaluacin al menos uno de sus parmetros es FALSA o si todos son FALSOS. Veamos un ejemplo
Pgina 23
FUNCION O()
Como Y() la funcin O() es una funcin lgica, porque sus argumentos son proposiciones lgicas o pruebas lgicas la funcin evala los argumentos y devuelve un resultado VERDADERO o FALSO., su sintaxis es O(parmetro1;parmetro2;parmetro3;.....) La funcin devuelve FALSO si la evaluacin de todos los parmetros es FALSO y dara VERDADERO si la evaluacin almenos uno de sus parmetros es VERDADERO o si todos son VERDADEROS. Veamos un ejemplo
Pgina 24
FUNCION INDICE
La funcin INDICE tiene la particularidad de tener dos sintaxis: 1. SINTAXIS MATRICIAL : devuelve un valor o matriz de valores 2. SINTAXIS REFERNCIAL: devuelve un rango o referencia. SINTAXIS MATRICIAL : En matemtica una matriz es un arreglo de nmeros, una tabla de valores o dicho de otra manera una forma de ordenar nmeros identificndolos por su ubicacin en filas y columnas o mas precisamente por la interseccin de una fila con una columna. En Excel, un rango, es lo que para la matemtica una matriz, vayamos a una Hoja de Excel
aqu podemos identificar el rango B1:E5 ( recuadrado en rojo) con una matriz de 4 filas por 4 columnas donde estas se numeran, desde arriba y a la izquierda empezando por 1, en forma creciente, con lo que por ejemplo el numero 567 correspondera a la interseccin de la fila 3 con la columna 2, el numero 23 con la interseccin de la fila 1 con la columna 4 etc. Esto es lo que hace la funcin INDICE, devolver el numero que esta en la celda que es la interseccin de una fila con una columna, aclaro que en este caso en la celda puede haber un numero, una cadena de caracteres, un mensaje de error, una formula etc. Dicho esto se entender mejor la sintaxis de la funcin INDICE
en este caso INDICE nos devuelve el valor 567 CASOS PARTICULARES 1. Si el primer argumento es una matriz columna ( 1columna por n filas) se omite el argumento columna. 2. Si el primer argumento es una matriz fila ( 1 fila por n columnase) se omite el argumento fila 3. Si el primer argumento es una matriz de n columnas por m filas y se pone cero como segundo argumento INDICE puede devolver una columna o una fila de la matriz n X m,para hacer esto INDICE se introduce como una FORMULA MATRICIAL SINTAXIS REFERENCIAL: Devuelve la referencia de la celda ubicada en la interseccin de una fila y de una columna determinadas de un rango. Si hay mas de un rango se podr elegir, mediante un tercer argumento llamado rea, en
Tutorial de Excel 2007 Jos Vega Pgina 25
cual de ellos se buscar la interseccin de filas y columnas, el primer rango se relaciona con el rea 1, el segundo rango con el rea 2 y as sucesivamente. Para el siguiente ejemplo
la sintaxis es
Pgina 26
FUNCION COINCIDIR
La funcin COINCIDIR es una funcin de bsqueda como BUSCARV pero a diferencia de esta, COINCIDIR no devuelve un valor sino una posicin dentro de un rango, este rango puede ser una columna o una fila y contener nmeros, palabras o una combinacin de ambos . La sintaxis tiene 3 parmetros; el 1 es el valor referencia cuya posicin se quiere encontrar, el 2 el rango y el tercero pude ser -1, 0 y 1, que tomen esos valores va a depender de: 1. Si la lista est desordenada el tercer parmetro es 0, dando error si el numero no est en dicha lista. 2. Si la lista est ordenada en forma ascendente el valor es 1 o no se pone ninguno, si el valor no est pero se encuentra entre otros dos , o sea a<valor<b, se elige la posicin del valor a. 3. Si la lista est ordenada en forma descendente el valor es -1 y si el valor no est pero se encuentra entre otros dos valores o sea a>valor>b se da la posicin del valor b) Vamos a dar ejemplos para aclarar los conceptos: Caso 1: lista desordenada
La lista est desordenada y el valor 325 se encuentra en la lista siendo su posicin 2 Caso2: Lista ordenada en forma ascendente
Pgina 27
como se ve el valor no est en la lista pero 50,6<81<84 y en este caso se da la posicin de 50,6 que es 3 Caso 3: Lista ordenada en forma descendente
el valor no est pero se encuentra entre 50,6 y 80 por lo tanto la funcin da la posicin de 80 que es 2 . Los casos 2 y 3 tienen el problema de que no podemos saber de antemano si la funcin nos devolver la posicin del valor mas cercano al buscado, en los ejemplos mostrado tuvimos suerte, pero veamos este otro caso con una lista ascendente
COINCIDIR nos devolvi el valor 4 correspondiente a 25,3 que no es la posicin del valor mas cercano al buscado, este valor tendra que haber sido 5 que es la posicin de 100 que es el valor que mas se aproxima a 99. Este problema se soluciona con FORMULAS MATRICIALES
Pgina 28
COMPROBACION: en los ejemplos anteriores se podra haber puesto una referencia en lugar del valoren s, en el primer parmetro; se aconseja hacer esto para averiguar lo que devuelve COINCIDIR cuando se introducen valores que no estn en la lista( para los 3 casos).
Pgina 29
FUNCION BUSCARV
La funcin BUSCARV busca datos que estn en primera columna de una tabla(a esta tabla se la denomina matriz de bsqueda o de datos), si el valor es encontrado devuelve el dato asociado (valor que esta en la misma fila que el dato a buscar) de una columna especificada, la sintaxis es;
los primeros tres argumentos son obligatorios y el cuarto es opcional Veamos el siguiente ejemplo: Un profesor tiene una tabla con las notas de un alumno puestas en nmeros y quiere completarla poniendo las notas en palabras
vuelca estos datos en un libro de Excel poniendo en la Hoja1 la tabla a completar y en la Hoja2 la tabla con las equivalencias pero sin los rtulos para tener directamente la matriz de datos
Pgina 30
en la que D3 es una referencia donde est el contenido , que en este caso es el valoor 2, aunque hay casos en que por la naturaleza del problema, por ejemplo una consulta, la referencia puede al principio estar vacia, dando el error #N/A (no aplicable), en el tutorial ELIMINAR MESAJE DE ERROR EN BV, daremos una solucin a este antiesttico mensaje.
Pgina 31
en este caso la matriz de bsqueda est en otra hoja, pero puede estar en cualquier lado, incluso dentro de otra tabla.
Pgina 32
Pgina 33
Para responder a la inquietud de los alumnos se vuelca la tabla en una Hoja de Excel poniendo una tabla a la derecha para los resultados
Pgina 34
donde la frmula matricial usada es, por ejemplo para el alumno Marquez
como puede verse, es muy parecida a la del tutorial PROMEDIO CON UNA CONDICION
Pgina 35
FUNCION DESREF
La funcin DESREF es tan til como difcil de entender al principio. DESREF devuelve una referencia a partir de otra que podemos llamar referencia de partida, vamos a tratar de aclarar esto. Recordemos que una referencia es el cdigo de una celda( A1;F3;H124, etc) o el cdigo de un rango de celdas(A3:G6;H5:K7;etc) y aqu pasan dos cosas distintas segn se trate de una celda o un rango de celdas; veamos:
Aqu se ve que si se trata de la referencia a una celda Excel devuelve el contenido de esa celda( la frmula est puesta en el recuadro negro) y en este caso DESREF funciona as
La referencia que devuelve( y por tanto su contenido) es el que resulta de ubicarse en la celda B2 y desplazace x filas y luego x columnas. Concretamente una posibilidad podra ser
y esta expresin puesta en una hoja de Excel ( en la celda de partida B2) resulta en lo siguiente
y obtengo la referencia a una celda, que en este caso es la D5 y por lo tanto su contenido. Hablando en forma simple: parto de B3 me desplazo 3 celdas hacia abajo, luego 2 celdas hacia la derecha devuelve la referencia a la celda D5 y muestra su contenido.
Pgina 36
Una aclaracin: si me desplazo hacia arriba o a la izquierda tengo que anteponer el signo menos y cuidar siempre de no salirme de los lmites de la hoja porque sino da error, como podemos ver
la referencia est fuera de la hoja. Cuando nuestra referencia de partida es un rango, la sintaxis de DESREF() cambia un poco
si dejamos los argumentos para celda en cero, partimos de C2:E7 y ponemos 9 para alto y 4 para ancho
vemos que la referencia de partida, que est resaltada en rojo, se transforma en la referencia C2:F10, resaltada en verde, es como si la referencia de partida se dilatara de C2:E7 a C2:F10, que finalmente es lo que devuelve DESREF, pero como se ve nos da un error y es lgico que as sea pues en este caso Excel no sabe que hacer qu nmero va a devolver si tiene 3 opcines?, lo mas coherente es que haga algo con ellos, como sumarlos por ejemplo, pero DESREF por si sola no puede y tiene que anidarse con otras
Pgina 37
funcines como SUMA ( que sumaria 42+100+450=592), pero tambin puede anidarse con PROMEDIO, MAX, MIN, etc y as se elimina el error, como vemos en la siguiente tabla
Se preguntaran; tienen alguna funcin los argumentos de fila y columna?, la respueste es si, ellos actan como si el rango de partida fuese una celda( despues de todo una celda es in rango de 1x1) y lo mueven de acuerdo alos valores que adopta: hacia abajo, arriba derecha e izquierda con las mismas reglas de las celdas, luego los parmetros de ancho y alto se encargan de teminar el trabajo contrayendolos, dilatndolos o dejndolos como estan. Veamos un ejemplo en que participan todos los argumentos
Se ve que la referencia al rango final es F8:H12, partiendo del rango inicial C2:D5, y su suma es 140( tambin est el mximo y mnimo.) En estos momentos no se alcanza a ver el potencial que tiene la funcin DESREF, una muestra se puede ver en el tutorial RANGOS DINAMICOS
Pgina 38
en el cuadro de nombres, como puede verse, esta la referencia a la celda activa, que en este caso es la A1, este es el nombre por defecto, pero podemos darle otro nombre escribindolo en dicho cuadro y pulsando ENTER, teniendo el cuidado de no dejar espacios.
De la misma manera podemos darle nombres a rangos, seleccionndolos primero, luego dandoles un nombre, en el cuadro de nombres y apretando ENTER.
En el caso de la figura de arriba Mi_rango es el nombre que se le dio al rango A1:B3, de esta manera podremos darle un nombre a la cantidad de rangos que se nos ocurra, estos aparecen en una lista desplegable pulsando en el tringulo negro apuntado por la flecha.
Esto que parece algo no muy importante tiene su razn de ser, sino porque EXCEL se tomara el trabajo de brindarnos otras posibilidades de introducir nombres?. Una de ellas, en Excel 2007, es ir a la pestaa de frmulas y en la seccin nombres definidos pulsar en asignar nombre aun rango, como se muestra en la figura,
en la que tambin se ve el administrador de nombres que nos permite editar, borrar y agregar nombres Para utilizar los nombres que hemos definido en una frmula podemos pulsar en utilizar en la frmula
Vamos a ver un ejemplo:
Un negocio que vende artculos de computacin desea saber el porcentaje, sobre el volumen de total de ventas, de lo que se vedi de un artculo en un da determinado, para esto cuenta con los datos en una Hoja de Excel y el problema resuelto sin usar nombres
Tutorial de Excel 2007 Jos Vega Pgina 39
Para resolver el problema con nombres vamos a: asignar nombre aun rango +y en el men emergente le damos el nombre VENTAS, seleccionamos el rango B2:B7, lo introducimos en la casilla Hace referencia a y aceptamos
y ya estamos en condiciones de usar el nombre VENTAS, quedando nuestra frmula como sigue =B2*100/SUMA(VENTAS)
ste es un ejemplo sencillo, en donde los nombres no parecen ser muy tiles, pero hay problemas en los que las frmulas son muy complicadas y que incluso pueden tener referencias que estn en otras hojas, pues bien, es aqu donde los NOMBRES muestran toda su potencia.
Pgina 40
TABLAS DINAMICAS
INTRODUCCIN:
Las Tablas Dinmicas son una forma alternativa de presentar o resumir los datos de una lista, es decir, una forma de ver los datos desde puntos de vista diferentes. El nombre Tabla Dinmica se debe a que los encabezados de fila y columna de la lista pueden cambiar de posicin y tambin pueden ser filtrados. Con las Tablas Dinmicas tambin podremos preparar los datos para ser utilizados en la confeccin de grficos. La comprensin cabal de este tema se obtiene con la prctica y es as como se ver que es uno de los tpicos mas potentes de Excel, principalmente en las versiones mas recientes. Empezaremos con un ejemplo: Una empresa de exportacin de mquinas agrcolas tiene la siguiente tabla en una Hoja de Excel 2007.donde figuran los datos del 1 trimestre del ao.
a partir de ella se quiere crear una nueva tabla en la que se informe la cantidad de maquinarias exportadas y el detalle de cuantas se vendieron de cada una. Para crear la tabla que nos responda a estas preguntas, nos ubicamos en cualquier celda de la tabla, luego vamos a la pestaa "insertar" panel "Tablas"
Pgina 41
en el que pulsamos en "Tabla dinmica", al hacer esto aparece un men en el que tenemos las opciones de "Grfico dinmico" y "Tabla dinmica" , pulsaremos en este ltimo como se puede ver
en este caso el rango de la tabla base (tabla de partida) queda automticamente seleccionado, incuyendo los rtulos, tambin seleccionamos "Nueva hoja de clculo" y pulsamos en aceptar y automticamente se crea la Hoja4 en la que se destacan: 1. Una nueva cinta de opciones denominada "Herramienta de tabla dinmica"
2. Un panel llamado "Lista de campos de tabla dinmica" que es una novedad de Excel 2007 y que tiene un rectngulo en la parte superior, donde se ubican los campos o rtulos de la tabla de origen, tambin hay cuatro rectngulos, en la parte inferior, denominados " Filtro de informe", "Rtulos de columna", "Rtulos de fila" y "Valores" donde irn apareciendo los rtulos de la tabla a medida que los seleccionemos en la parte suprior en forma de botones como el que se nuestra
Los botones se pueden arrastrar de un rectngulo a otro aunque los rtulos que tienen valores numricos, siempre aparecen en rectngulo "Valores".
Pgina 42
como se ve, hasta este momento, tiene las casillas de verificacin de rtulos sin marcar , pues bien, es justamente seleccionar las casillas "MAQUINA" y "CANTIDAD" lo debemos hacer en el prximo paso
Observar que aparecen automticamente 2 botones. Listo ya tenemos la primera tabla con las respuestas pedidas recuadradas en rojo
Pgina 43
si nos interesara saber solamente el dato de cuantas fertilizadora y sembradora se exportaron, junto con su total, tenemos un comando de filtrado en la parte superior y as obtenemos la siguiente tabla
luego de aplicar el filtro. Este es un ejemplo didctico para hacer una introduccin, pero se le puede sacar mucho mas el jugo a esta herramienta. Podemos querer saber el detalle de las mquinas que fueron exportadas y por cual vendedor. En este caso tendremos que seleccionar la casilla del rtulo VENDEDOR y en la nueva Hoja aparece una tabla y el panel "Lista de campos de tabla dinmica"
se ve que en los rectngulos, mas precisamente en el llamado Rtulo de fila, aparece un nuevo botn, el botn VENDEDOR en forma simultnea a la la seleccin de la casilla de verificacin VENDEDOR.
Pgina 44
La tabla responde a lo que queremos saber, pero le podemos dar otro aspecto arrastrando el botn VENDEDOR al rectngulo "Rtulo de columna"
y la tabla queda como la que esta abajo , luego de haberle dado algo de formato
En esta tabla se puede ver, por ejemplo, que Pea vendi 16 fertilizadoras y un tractor. Sera interesante saber el nmero de maquinarias exportadas a que pas y por cual vendedor. Para hacer lo , verificamos la casilla "Pas" y filtramos MAQUINA
y se genera la tabla
Pgina 45
donde se puede ver que Chuan le vendi 30 mquinas a China. Hasta ahora nuestra tabla dinmica efecta sumas, pero puede hacer otras operaciones tales como porcentajes, mximos, mnimo y otras mas que iremos viendo. Podemos preguntarnos cual fue la mxima cantidad de maquinarias que vendi Pea. Para hacer esto nos ubicamos en una celda cualquiera de la tabla de arriba y apretando el botn derecho del mouse aparece el siguiente men emergente
en el que pulsamos en "Configuracin de campo de valor", como indica la flecha, con lo que aparece el panel tambin llamado "Configuracin de campo de valor"
en el que si vamos a la pestaa "Resumen por" estn las opciones de resumen en las que elegiremos Mx y luego de aceptar, la tabla se transforma en
Pgina 46
que nos dice que la cantidad Mxima de maquinarias que vendi Pea es 9, como se ve en el recuadro rojo, en forma adicional podemos ver que esta cantidad fue vendida a Brasil ( verificar con la tabla de partida o tabla base) Este resultado se puede ver con una simple inspeccin de los datos, que en este caso son tres, pero cuando estos aumentan es donde vemos la utilidad del clculo de un mximo.
Pgina 47
Ambas desventajas se pueden solucionar con la programacin VBA que quiere decir programacin visual basic para aplicaciones, lo lamento pero aqu no tenemos mas remedio que aprender a programar y eso es lo que van a ir aprendiendo con los tutorarles de este apartado. VBA es una programacin que est ntimamente relacionada con los libros y las hojas de clculo y para esto Excel cuenta con un editor de programacin donde se pone el cdigo, a este se puede acceder, en Excel 2007, yendo a la pestaa programador y luego a la seccin cdigo donde hacemos clic en Visual Basic
En Excel 2003 hay que ir al men desplegable herramientas y de ah la ruta macros y Editor de Visual Basic
ambas formas nos lleva, luego de hacer doble clic en Hoja1por ejemplo, al editor
Tutorial de Excel 2007 Jos Vega Pgina 48
las macros que se escriban aqu, estaran relacionadas con la Hoja1. Comencemos por lo mas simple y escribamos una macro que seleccione la celda B5de la Hoja1 del libro VBAProject (Libro2)
no tiene espacios y termina con "( )" . Para ejecutar este cdigo pulsamos en el icono para que aparezca el panel Macros
o en la tecla F5
Pgina 49
donde puede verse el nombre de la macro que ya est seleccionada, luego pulsamos en "ejecutar" y despues en el icono , o seleccionando " Alta + F5 que nos lleva a la pantalla con el resultado
que es la seleccin de la celda B5. Otro cdigo muy simple es escribir un valor en una celda. Escribamos el valor 2007 en la elda D8
y si lo queremos borrar
En la programacin VBA se trabaja con OBJETOS ( Hojas, celdas, Rangos, etc) que como todo objeto, tiene propiedades, por ejemplo el objeto celda pude tener la propiedad de alto, ancho, estar seleccionada, tener un valor, o no tener ninguno, etc En los cdigos que hemos escrito tenemos los objetos Range("B5") ( celda B5) con la propiedad de estar seleccionada y el objeto Range("D8") ( celda D8) con la propiedad de tener un nmero (2007) y despues estar vaca. CODIGOS MAS SIMPLES PARA EMPEZAR 1-Seleccionar una Celda Range("A1").Select 2-Escribir en la celda que est seleccionada en el momento actual Activecell.FormulaR1C1="Pedro" la combinacin los cdigos 1 y 2 es equivalente a esta sola lnea: Range("A1").Value=" pedro" El uso de FormulaR1C1 sera explicado mas adelante 3-Letra Negrita Selection.Font.Bold = True 4-Letra Cursiva Selection.Font.Italic = True 5-Letra Subrayada Selection.Font.Underline = xlUnderlineStyleSingle 6-Centrar Texto With Selection .HorizontalAlignment = xlCenter End With 7-Alinear a la izquierda With Selection .HorizontalAlignment = xlLeft End With 8-Alinear a la Derecha With Selection
Tutorial de Excel 2007 Jos Vega Pgina 51
.HorizontalAlignment = xlRight End With 9-Tipo de Letra(Fuente) With Selection .Font .Name = "Arial" End With 10-Tamao de Letra(Tamao de Fuente) With Selection.Font .Size = 12 End With 11-Copiar Selection.Copy 12-Pegar ActiveSheet.Paste 13-Cortar Selection.Cut 14-Ordenar Ascendente Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom 15-Orden Descendente Selection.Sort Key1:=Range("A1"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom 16-Buscar Cells.Find(What:="Csar", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False).Activate 17-Insertar Fila Selection.EntireRow.Insert 18-Eliminar Fila Selection.EntireRow.Delete 19-Insertar Columna
Pgina 52
Selection.EntireColumn.Insert 20-Eliminar Columna Selection.EntireColumn.Delete 21-Abrir un Libro Workbooks.Open Filename:="C:\Mis documentos\Tablas dinamicas.xls" 22-Grabar un Libro ActiveWorkbook.SaveAs Filename:="C:\Mis documentos\tablas.xls", FileFormat _ :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _ False, CreateBackup:=False La mayoria de estos cdigos se pueden verificar con la grabadora de Macros. Significado de la FORMULA R1C1 La FORMULA R1C1 se emplea para colocar el resultado de una lnea de cdigo en la celda que actualmente est activa. Veamos el siguiente caso
supongamos que queremos sumar los nmeros de de la columna D y que el resultado aparezca en la celda F6 que es la que est seleccionada, el cdigo que se debera escribir es el siguiente
El parntesis destacado en rojo tiene por objetivo cubrir el tango donde estn los nmeros a sumar, o sea, desplazarme 2 columnas a la izquierda [-2] con 5 y 2 filas hacia arriba es decir [-5] y [-2]. Se entiende que R significan filas y C columnas y que anteponemos un - si nos desplazamos hacia la izquierda o hacia arriba. Cuando escribimos una funcin, como en el caso anterior, siempre debe ser escrita ActiveCell.FormulaR1C1 = "=SUM(R[]C[]:R[]C[])", pues el segundo igual es que caracteriza a la funcin y el parntesis el rango donde se aplica. Lo que se acaba de hacer es lo mismo que dolocar =SUMA(D1:D3) en la celda F6 Hasta ahora hemos hecho una breve intrcduccion a la programacion VBA , pero una cosa fundamental es entender las estructuras de control de flujo de programa, lo que haremos mediante ejemplos
Pgina 53
Estructuras de iteracion
Frecuentemente algunas lneas de cdigo de repiten muchas veces con el consiguiente aumento del tamao del programa. Esto se solucionado mediante los llamados estructuras de iteracin, tambin llamadas ciclos de repeticin o bucles. Estos son:
While - Wend
Estructuras de desicion:
.If - Then - Else
Select - Case
Pgina 54