ejemplo de funciones
DESCRIPTION
okTRANSCRIPT
-
Ejemplo de Funciones para Bases de datos.
Ocurre en ocasiones que al trabajar con nuestro listados, o con nuestras bases de datos
en Excel, no son suficientemente potentes la 'funciones normales' de Excel; por ejemplo
porque necesitamos una suma condicionada a varios de los campos de nuestro origen de
datos. Normalmente con la funcin SI, o con la suma condicionada SUMAR.SI (ambas ya
vistas en diferentes post de ese blog) podamos concluir nuestros anlisis, de una forma
elaborada.
Pero existen algunas funciones de bases de datos (as categorizadas por Excel en el listado
de funciones), que aunque pocas, reproducen especialmente diseadas para Bases de
datos de Excel las funciones ms bsicas (SUMA, CONTAR, PROMEDIO, MAX, MIN,
PRODUCTO, etc.); las diferenciamos porque estas funciones de bases de datos comienzan
con 'BD' (BDCONTAR, BDSUMA, etc).
Lgicamente estas funciones necesitan una manera particular de ser definidas, es decir, a
la hora de incorporarle sus argumentos habr que pensar de diferente forma -condiciones
o criterios aplicados sobre distintos campos-.
Los argumentos mencionados son siempre tres, para todas estas funciones:
Base_de_datos es el rango de celdas que compone la lista o base de datos. Una base de
datos es una lista de datos relacionados en la que las filas de informacin son registros y
las columnas de datos, campos. La primera fila de la lista contiene los rtulos de cada
columna.
Nombre_de_campo indica el campo que se utiliza en la funcin. Nombre_de_campo
puede ser texto con el rtulo encerrado entre dobles comillas, o como un nmero que
represente la posicin de la columna en la lista: 1 para la primera columna, 2 para la
segunda y as sucesivamente.
Criterios es el rango de celdas que contiene las condiciones especificadas. Puede utilizar
cualquier rango en el argumento Criterios mientras ste incluya por lo menos un rtulo de
columna y por lo menos una celda debajo del rtulo de columna que especifique una
condicin de columna.
Es importante remarcar este argumento de Criterios, ya que para poder ejecutar estas
funciones de Bases de datos, necesitaremos un rango independiente de nuestro listado
de datos a analizar.
Propondremos un ejemplo sencillo donde poder practicar algunas de estas funciones.
Tenemos un listado sacado de nuestro diario contable, en el que tenemos informacin de
la Fecha del registro contable, de la Cuenta de gasto empleada, si proede de una
factura o de un abono y del importe (nos aparecen todos en positivo, ya que el signo no
lo indica ese campo factura/abono):
-
Plantearemos varias preguntas sobre ese listado e iremos viendo la forma de responderlas
con estas fuciones de bases de datos.
Si necesitamos conocer cuntos registros he tenido en mi contabilidad con la cuenta 622,
entonces aplico sobre el listado la funcin =BDCONTAR($A$1:$D$24;"Cuenta";F4:F5)
Nos fijaremos que el tercer argumento de criterios(F4:F5) nos dirije a unas celdas definidas
por mi.
Si pretendemos saber cul ha sido el acumulado en euros de todas nuestras facturas,
aplico la funcin =BDSUMA(A1:D24;"Importe";$F$9:$F$10) Si quisiera discriminar todas
aquellas facturas de mi listado cuyos importes estuviera comprendido entre 0 eur y 5.000
eur resumira con la siguiente funcin
=BDSUMA($A$1:$D$24;"Importe";F12:H13)
-
Una regla general a todas estas funciones, para saber cmo aplicarlas es: dentro del
origen de datos seleccionado, ejectame la operacin dada por la funcion BD sobre el
campo del segundo argumento, pero condicionada por el rango de condiciones sobre
distintos campos.
Funcin lgica: O
Ejercitaremos de manera muy sencilla con otra de las funciones lgicas de Excel, la
funcin O. Esta nos devolver VERDADERO si alguno de los argumentos es VERDADERO y
devolver FALSO si todos los argumentos son FALSO.
Veamos la sintaxis:
= O(valor_lgico1; valor_lgico2; ...)
Al igual que la funcin Y, en sta podremos incluir hasta 30 pruebas lgicas.
Plantaremos un pequeo ejemplo con un listado de personas con Nombre y Apellido, y
mediante la funcin O discriminaremos aquellas personas cuyo nombre comience con
vocal, para posteriormente asignarles, mediante el SI condicional, un valor igual 5, y para
los nombres que comiencen por consonante un valor igual a 1.
Nuestra lista podra ser:
http://excelforo.blogspot.com/2009/07/funcion-logica-o.html -
Aplicando la funcin O de la siguiente manera podremos averiguar si el nombre comienza
con vocal. Para ello anidaremos la funcin:
=IZQUIERDA(nombre; 1)
Para determinar con qu letra comienza cada nombre, dentro de la funcin lgica O:
=O(IZQUIERDA(nombre;1)="A";IZQUIERDA(nombre;1)="E";IZQUIERDA(nombre;1)="I";IZQUIERD
A(nombre;1)="O";IZQUIERDA(nombre;1)="U")
Ahora para asignarles un valor 5 a los que comienzan con vocal, y un valor 1 con
consonante, emplearemos la funcin SI; anidando la anterior funcin O descrita como
argumento condicional, y seleccionando como valor de verdadero 5 y como valor de
falso 1:
-
La funcin lgica SI(siguiendo la categorizacin propia de Excel para sus funciones.
Explicaremos otra de las funciones lgicas de Excel, funcin Y.
=Y(valor_lgico1;valor_lgico2; ...)
Esta funcin nos permitir comprobar si distintas condiciones, o pruebas lgicas, se
cumplen (son verdaderas) simultneamente; hasta un mximo de treinta!!.
Replicaremos, empleando esta funcin Y, el ejercicio planteado en un post anterior. El
modo de trabajo ser muy similar.
Recordemos que disponemos de un listado de contactos con datos personales, y usando
una tabla paralela con unas categoras comerciales, se les asignar a cada uno de ellos
en funcin a su edad y sexo.
y la tabla auxiliar con datos de puntuacin comercial:
-
Es entonces cuando aplicamos la funcin Y. La usaremos a modo de condicin dentro de
una funcin SI anidada. As:
Y(edad
-
Ejemplo para principiantes de SI anidado.
No pretendemos olvidar ni dejar de lado a aquellos usuarios con un nivel 'principiante'. Por
este motivo dedicaremos diversas entradas para explicar conceptos, funciones y
herramientas para ayudar a todos nuestros lectores que busquen mejorar su nivel.
En este caso ejercitaremos una de las funciones de Excel bsicas, la funcin condicional
SI, de la que ya hemos hablado en posts anteriores. Recordamos su sintaxis:
=SI(prueba_lgica;valor_si_verdadero;valor_si_falso)
Plantearemos un supuesto prctico para poder utilizar el SI, aadiendo un poco de
complejidad mediante el anidado de otra funcin SI. Disponemos de un listado de
contactos con datos que los identifican, entre otros sexo y edad; datos estos que
emplearemos para anidar nuestra funcin SI.
disponemos a su vez de un Tabla de puntuaciones comerciales, de acuerdo a su edad y
sexo, tomadas de una estadstica histrica:
Para poder asociar a cada uno de nuestros contactos, a partir de este listado del que
disponemos, emplearemos la funcin condicional SI, anidndola ya que nuestras variables
son dos; la funcin para cada fila quedara entonces:
http://excelforo.blogspot.com/2009/07/ejemplo-para-principiantes-de-si.htmlhttp://2.bp.blogspot.com/_t1n1W1RgAnQ/SmS7PNzPbsI/AAAAAAAAAQQ/eiGWXZGmQuE/s1600-h/otro+SI+anidado2.png -
donde podemos ver la manera en que queda anidado la funcin:
=SI(edad=50,
se ejecutara el siguiente SI secundario; sobre el que actuara la segunda condicin de
sexo (al igual que el anterior SI secundario). Podramos plantear el siguiente rbol de
decisin para ver ms claro nuestro planteamiento:
http://2.bp.blogspot.com/_t1n1W1RgAnQ/SmS8ODgLYpI/AAAAAAAAAQY/GMun2icoiJg/s1600-h/otro+SI+anidado3.pnghttp://4.bp.blogspot.com/_t1n1W1RgAnQ/SmTFj9NmBEI/AAAAAAAAAQg/vyC-dBb2XPY/s1600-h/otro+SI+anidado4.png