Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Exc Cap11
Exc Cap11
C om b i n a c i n de f u n c i o n e s y f r m u l as
= S I ( Y( . . . ) . . . ) o = S i ( O( . . . ) . . . )
En secciones anteriores vimos que la funcin SI() deba cumplir una condicin, como por ejemplo, controlar si en una celda determinada haba un texto o cierto valor numrico. Pero, qu pasara si se tuviesen que cumplir ms de una condicin? Supongamos que la funcin SI() debe tener en cuenta dos condiciones. Estas dos condiciones podran ser: La funcin SI() hiciese algo slo si se tuvieran que cumplir las dos condiciones expuestas. Que la funcin SI() hiciese algo si se cumpliese una de las dos condiciones expuestas. Controlaremos una u otra forma, con dos operadores lgicos: el Y, y el O Y(condicin1;condicin2;...), donde podemos plantear hasta 30 condiciones, es decir que si se plantean 30 condiciones todas deben ser verdaderas para que la funcin devuelva verdadero. O(condicin1;condicin2;...), con la diferencia en que basta que una de las 30 condiciones como mximo, sea verdadera para que la funcin devuelva verdadero. La combinacin de estas frmulas con la funcin SI(), tendra la siguiente sintaxis: =SI(Y(Condicin1;Condicin2);Verdadero;Falso)
Pgina 107
En la ilustracin superior utilizamos la funcin SI(), la cual ha de controlar que se cumplan dos condiciones, es decir, que la empresa sea SA y que las horas de emisin contratadas sean mayor al promedio de horas contratadas por todas las empresas.
promedio(D3:D8)<D3)
;C3
;"-")
Tener en cuenta que para la resolucin de determinados problemas, podremos encontrar distintas soluciones.
Para poder copiar la frmula anteriormente descripta a las dems cedas de la columna Mejores Clientes, debe ser modificada de forma de no perder las referencias a las celdas que importan se mantengan constantes, del siguiente modo: =SI(y(derecha(C3;2)="SA";promedio($D$3:$D$8)<D3);C3;"-")
Excel tiene la posibilidad de anidar las funciones SI(), es decir que en caso de ser necesario, podemos volver a plantear nuevamente un Si(), en caso de que se cumpla o no la condicin planteada para el primero y as sucesivamente. Es posible anidar hasta siete funciones SI(), todo depende de la cantidad posible de salidas a contemplar. Dicho de otra forma un SI() permite obtener dos salidas posibles, una para el caso verdadero y otra para el caso falso; pero si tuviramos que contemplar tres posibles salidas o resultados, no nos alcanzara con un SI() y deberamos utilizar otro en la misma frmula.
Pgina 108
La frmula a utilizar para resolver esta situacin sera distinta, pues ahora existen tres posibles resultados. Dado que una sola funcin SI() permite contemplar dos posibles resultados, utilizaremos una segunda funcin SI() anidada en la primera. Dicha frmula podra ser: =SI(B4<=4;"insuficiente";SI(Y(B4>=5;B4<=7);"regular";"excelente")) o podra ser =SI(Y(B4>=5;B4<=7);"regular";SI(B4<=4;"insuficiente";"excelente")) o podra ser =SI(B4>=8;"excelente";SI(B4<=4;"insuficiente";"regular")) Si a su vez quisiramos una frmula mucho ms completa, donde contemplaramos los posibles valores invlidos para las notas, como lo pueden ser ingresos de notas menor que 1 y mayor que 12; a dicha frmula le agregaramos otro SI() anidado, dado que ahora son cuatro los posibles resultados a contemplar: =SI(O(B4<1;B4>12);"NotaInvlida";SI(B4<=4;"insuficiente"; SI(Y(B4>=5; B4<=7);"regular";"excelente"))) o podra ser =SI(B4<=4;"insuficiente";SI(Y(B4>=5;B4<=7);"regular"; SI(O(B4<1;B4>12);"Nota Invlida";"excelente")))
(sigue debajo) (sigue debajo)
Pgina 109
= B U SCA R V ( . . . )
Esta funcin permite buscar el valor de una celda en un rango de celdas y retorna el contenido de N columnas a su derecha.
Pgina 110
Por ejemplo en la planilla visualizada a continuacin, se plantea la necesidad de elaborar una tabla a travs de la cual se llevar un control de las ventas realizadas a los distintos clientes:
A travs de las frmulas del ejemplo, ser posible escribir el cdigo de cliente en la celda A4 y Excel har que aparezca automticamente el nombre del Cliente y su RUC en las celdas donde se encuentren dichas frmulas. Este tipo de hojas son tiles para realizar consultas a un listado. Por ejemplo en la celda B4, la frmula tomar lo que hay en la celda A4, y lo buscar en el rango CodigoClientes. Una vez que lo encuentre, (lo deber encontrar en la 1 columna), mostrar lo que se corresponde 2 columnas a su derecha (contndose ella), es decir, el nombre del cliente. Si se observa detenidamente, los tres argumentos utilizados en la funcin BUSCARV() son: primero la celda donde estar lo que intentamos buscar (el cdigo), luego el rango donde ha de buscarlo, y por ltimo el nmero de columna que queremos mostrar. Ahora escribiremos la frmula para la celda C4. Bsicamente es igual a la anterior, pero ahora el nmero de columna donde se localiza el dato que deber devolver ser el 3, es decir mostrar el RUC. Ahora slo faltar comprobar las dos frmulas escribiendo cualquier cdigo de la lista de artculos, en la celda A4. Un detalle importante de la funcin BUSCARV() es que si la lista o rango donde hay que buscar est desordenada, se tendr que aadir la palabra FALSO o el valor 0 (cero), al final de la frmula como cuarto parmetro. Como se muestra en el siguiente ejemplo: =BUSCARV(A4;CodigoClientes;2;FALSO) En el caso planteado no hace falta, pues la lista se encuentra ordenada.
E j e m p l o d e c o m b i n a c i n d e f u n c i o ne s y f r m u l a s
Con los siguientes ejemplos se tratar de mostrar las posibles soluciones a problemas que se pueden plantear, en la confeccin de planillas en general.
Pgina 111
Partiendo de una tabla donde se tienen registrados a los socios de un club deportivo (en una hoja nombrada como Socios), se debe resolver la situacin de establecer una frmula que permita obtener de forma automtica, el importe de la cuota para cada socio. Tener en cuenta lo siguiente: 1. A los socios se les cobra una cuota mensual dependiendo del sexo y el tipo de actividades que estos pueden desarrollar (dato registrado en la columna Tarifa, donde (1) es para aquellos que pueden practicar actividades bsicas como aerbica y musculacin; y (2) es para aquellos que pueden practicar todas las disciplinas del club incluyendo natacin, yoga, etc. El importe de las tarifas deber poder ajustarse con el transcurso del tiempo.
2.
En una hoja llamada Tarifas existe una tabla en la que se registran los diferentes importes de cuota por tarifa y sexo. Teniendo en cuenta las tablas existentes, la frmula a generar para establecer las cuotas de los socios podra ser la siguiente: =SI(Y(C4=1;D4="m");Tarifas!C6;SI(Y(C4=2;D4="m");Tarifas!C7; SI(Y(C4=1;D4="f");Tarifas!C4;Tarifas!C5))) Esta frmula sera introducida para el primer socio, en la celda E4, pero para poder copiar dicha frmula a las dems cedas de la columna Cuota, debe ser modificada de forma de no perder las referencias a las celdas que importan se mantengan constantes, de la siguiente forma: =SI(Y(C4=1;D4="m");Tarifas!$C$6;SI(Y(C4=2;D4="m");Tarifas!$C$7; SI(Y(C4=1;D4="f");Tarifas!$C$4;Tarifas!$C$5))) Como se puede ver, esta forma de resolver nuestro problema requiere de la escritura de una frmula muy larga, la cual puede permitir que nos equivoquemos en su ingreso.
Pgina 112
Claro est de que si quisiramos evaluar la posibilidad de que los datos pudieran ser ingresados de forma incorrecta en la tabla de Socios (como tarifas que sean diferentes a 1 o a 2 y sexos distintos a m o a f), deberamos modificar la frmula, de forma tal que la misma no tome como posible salida para el caso falso del SI() ms interno, la tarifa 2 femenina, ya que es la nica que no se contempla en toda la frmula, sino que sale por descarte de todas las contemplaciones anteriores. La frmula sera an ms extensa, como la que se muestra a continuacin: =SI(Y(C4=1;D4="m");Tarifas!$C$6;SI(Y(C4=2;D4="m");Tarifas!$C$7; SI(Y(C4=1;D4="f");Tarifas!$C$4;SI(Y(C4=2;D4="f"); Tarifas!$C$5;sexo o tarifa no vlidos)))) Hay otras formas de resolver nuestro problema, de forma ms sencilla y menos extensa que la anterior, como el que se detalla a continuacin: Para esto debemos modificar la estructura de la tabla donde se registran los importes (en la hoja Tarifas), del modo como se muestran en la imagen. De esta forma podremos valernos de otras herramientas como la utilizacin de la siguiente frmula:
=SI(D4="m";BUSCARV(C4;importes;3);BUSCARV(C4;importes;2)) Esta frmula que combina dos funciones, compara uno de los posibles valores para el sexo ingresado en la tabla socios (en este caso si es m); si corresponde este valor al sexo del socio en cuestin, buscar el dato ingresado en el rango importes (columna Tarifas) definido en la hoja Tarifas, y devolver lo correspondiente a la tercera columna (masculino), de lo contrario buscar el mismo dato pero en este caso devolver lo correspondiente para la segunda columna (femenino). Si quisiramos evaluar la posibilidad de que los datos pudieran ser ingresados de forma incorrecta en la tabla de Socios, de la misma forma que en el ejemplo anterior, deberamos modificar la frmula y plantear por ejemplo la siguiente: =SI(O(Y(D4<>"m";D4<>"f");Y(C4<>1;C4<>2));"datos errneos en socios"; SI(D4="m";BUSCARV(C4;importes;3);BUSCARV(C4;importes;2))) Una variante para el caso de la resolucin anterior podra ser el siguiente, donde se cambia el orden de las funciones utilizadas: =BUSCARV(C4;importes;SI(D4="m";3;2)) o contemplando los posibles datos invlidos de la tabla Socios: =SI(O(Y(D4<>"m";D4<>"f");Y(C4<>1;C4<>2));"datos errneos en socios";
Pgina 113
BUSCARV(C4;importes;SI(D4="m";3;2))) Lo que hemos visto hasta el momento son posibles soluciones a casos concretos, pero esto no quita que existan otras soluciones para los mismos, dado que ante un problema, Excel nos permite utilizar diversas herramientas y variantes de las mismas, para su solucin.
Si se quiere ver como Excel nos permite controlar el ingreso de datos a una planilla de clculos, de forma de poder obviar el posible ingreso de datos errneos en la misma y su posterior control en la generacin de frmulas, ver el captulo Validacin de dato.
= F R E CU E N C I A ( . . . )
Esta funcin permite calcular la frecuencia con que se repiten los valores de un cierto rango y devuelve una matriz vertical de nmeros. Cuenta la cantidad de resultados que se encuentran dentro de un rango. Debe introducirse como una frmula de matrices debido a que FRECUENCIA() devuelve una matriz.
Grupos
Una frmula matricial se introduce despus de seleccionar un rango de celdas adyacentes en las que se desea que aparezca el resultado de la distribucin, y por ltimo se presiona <Ctrl>+<Shift>+<Enter> para finalizar.
La funcin FRECUENCIA, pasa por alto celdas en blanco y texto. El nmero de elementos de la matriz devuelta es uno ms que el nmero de elementos en grupos.
Pgina 114
En este ejemplo, las celdas correspondientes a grupos seran B12:B13 las que contienen los valores 3000 y 4000. Cuando FRECUENCIA se introduce como una matriz, se cuenta el nmero de ventas con importes correspondientes a los rangos 0-3000 y 3000-4000.
Valores de referencia
Resultados
Frmula utilizada
Pgina 115
Pgina 116