Función Buscarv

También podría gustarte

Está en la página 1de 22

FUNCION BUSCARV

La función BUSCARV busca datos que están en primera columna de una tabla(a esta
tabla se la denomina matriz de búsqueda 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 números y quiere
completarla poniendo las notas en palabras

para hacer esto cuenta con otra tabla de equivalencias

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 rótulos para tener directamente la
matriz de datos

despues coloca la siguiente fórmula en la celda E3 de la Hoja 1:

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 solución a este
antiestético mensaje.

A continuación se arrastra la función hasta completar la tabla


en este caso la matriz de búsqueda está en otra hoja, pero puede estar en cualquier lado,
incluso dentro de otra tabla.

PONER NOMBRES A RANGOS


En la Hoja de Excel hay una barra que se destaca y es común a todas las versiones, esta
es la barra que contiene el cuadro de nombres y la barra de fórmulas

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
escribiéndolo en dicho cuadro y pulsando ENTER, teniendo el cuidado de no dejar
espacios.
De la misma manera podemos darle nombres a rangos, seleccionándolos primero, luego
dñandoles 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 triángulo negro apuntado por la flecha.

Esto que parece algo no muy


importante tiene su razón de ser, sino porque EXCEL se tomaría el trabajo de brindarnos
otras posibilidades de introducir nombres?. Una de ellas, en Excel 2007, es ir a la
pestaña de fórmulas y en la sección nombres definidos pulsar en asignar nombre aun rango,

como se muestra en la figura, en la que también se ve el administrador de nombres que


nos permite editar, borrar y agregar nombres
Para utilizar los nombres que hemos definido en una fórmula podemos pulsar en utilizar en
la fórmula
Vamos a ver un ejemplo:

Un negocio que vende artículos de computación desea saber el porcentaje, sobre el


volumen de total de ventas, de lo que se vedió de un artículo en un día determinado, para
esto cuenta con los datos en una Hoja de Excel y el problema resuelto sin usar nombres
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 fórmula
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 fórmulas son muy complicadas y que incluso pueden tener
referencias que están en otras hojas, pues bien, es aquí donde los NOMBRES muestran
toda su potencia.

FORMULAS LOGICAS
Las fórmulas lógicas se diferencian de las fórmulas, en que estas últimas devuelven un
resultado numérico, en tanto que las primeras entregan un resultado lógico, es decir:
verdadero o falso. Las mas simples sirven para hacer la comparación entre el contenido
numérico de dos celdas utilizando los operadores lógicos que se muestran en la siguiente
tabla
estos operadores se llaman binarios ya que la operación se realiza entre dos operandos,
para Excel estos operandos son el contenido numérico de dos celdas, por lo tanto
podemos compararlas.
Supongamos que una empresa quiere saber si el balance semanal de un determinado
mes tuvo ganancias o pérdidas, para lo que confeccionó la siguiente tabla

donde se introdujo la fórmula

en la celda D3 y luego se la arrastró hasta la fila 6


Cuando esta fórmula se anida con la función SI , por ejemplo, deja de ser una fórmula
para transformarse en una proposición lógica y en este caso podríamos poner en la celda
D3 la función

y la tabla queda
Que hace que la tabla tenga un aspecto mas claro.
Podemos hacernos una pregunta: quiero saber si 12.000 es menor que el numero que
esta B3 y mayor que esta en C3 ¿es correcto poner la fórmula.

FORMULAS
INTRODUCCION:
Una FORMULA es una expresión que sirve para realizar cálculos produciendo un valor
que se asigna a la celda en la que se introduce dicha expresión. Las fórmulas estan
formadas por operadores( símbolos matemáticos ) y operandos, que pueden ser números,
referencias a celdas y funciónes, estas funciónes deben entregar un valor numérico o
lógico, esto último es debido a que para Excel VERDADERO es equivalente al numero
uno y FALSO al cero.
Para evitar las confusiones que pueden surgir en el orden en que se realizan las
operaciónes, existe una jerarquía que determina que operaciónes se realizan primero y
cuales despues, tal jerarquía se denomina GERARQUIA DE PRECEDENCIA DE
OPERADORES y esta en la siguiente tabla
TABLA DE PRECEDENCIAS

por ejemplo: -5+7*8 da como resultado 51, pues se realiza primero el producto(56) y
luego se resta el 5. Este orden se puede alterar colocando paréntesis, ya que estos tienen
el orden de precedencia mas alto, veamos como se puede transformar una expresión
según donde se coloque el paréntesis, veamos
en la primera fórmula la prioridad es del producto que tiene un orden de precedencia
mayor y el resultado es 61.Esto se altera en la segunda fórmula poniendo paréntesis, se
efectúa primero la suma y luego el producto y el resultado es 96

FORMULAS MATRICIALES
INTRODUCCION:
Con las fórmulas matriciales se pueden hacer muchas cosas, es una herramienta de gran
potencia, en general estas fórmulas o funciones se usan para hacer 2 tipos de cosas.:

Ejecutar varias operaciónes y devolver un único valor en la celda donde se la introduce.


Ejecutar varias operaciónes y devolver múltiples valores en distintas celdas.
Las fórmulas matriciales actúan en 2 o mas rangos de valores, los que se denominan,
argumentos matriciales, los cuales tienen la característica de tener el mismo número de
filas y de columnas, por ejemplo, podrían actuar sobre los rangos A1:A12 y BI:B12.
Una fórmula matricial se introduce de la misma forma que la fórmula común, la
diferencia es que luego de introducirla hay que apretar las teclas Control+shift+ENTER,
con lo que automáticamente es rodeada por llaves y es por eso que se las conoce como fórmulas CSE. Para una
formula matricial multiplicar 2 argumentos matriciales, como A1:A12 *BI:B12. significa multiplicar
las
celdas A1*B1, A2*B2, A3*B3......A12*B12 si quiero sumar estos resultados parciales uso
la formula matricial {SUMA(A1:A12*B1:B12)}, para aclarar los conceptos vamos a
tener que hacer mas de un ejemplo, Empecemos por un ejemplo del tipo 1-.

El dueño de una mueblería quiere aumentar la variedad de los productos que vende para
lo que decide comprar, parte de los tradicionales, muebles de computación, para lo que
cuenta con la siguiente planilla
y quiere saber cuanto tiene que gastar. Decide tomar el camino corto y usa una simple
fórmula matricial, veamos lo que hizo

se ve que introdujo la fórmula matricial

de esta forma hizo 3 pasos en uno. Los 3 pasos hubieran sido:


1- Introducir la fórmula =D2*E2 en la celda F2.
2- Arrastrar esta fórmula hasta la celda F7

3- Ubicarnos en la celda F8 y pulsar el icono


o ubicarnos en la celda D9( por ejemplo ) e introducir la función
=SUMA(D2*E2;D3*E3;D4*E4;D5*E5;D6*E6;D7*E7)

se ve que ambas maneras, si bien dan el mismo resultado, son mucho mas tediosas
Se puede aprovechar este mismo ejemplo para mostrar como usar las fórmulas
matriciales que devuelven múltiples valores y así explicamos todo el proceso.Usando la
misma tabla que al principio vamos a obtener todos los productos parciales
1º seleccionamos la columna donde queremos que aparezcan los valores

.
2º introducimos la fórmula, seleccionando los rangos D2:D7 y E2:E7 y multiplicándolos

3º apretamos las teclas Control+shift+ENTER

y obteniendo los productos parciales y por lo tanto múltiples resultados como se ve en el


recuadro rojo.

PROMEDIO CON UNA CONDICION


Excel 2007 tiene una función que nos da el promedio de un conjunto de valores con una
condición, tal función se llama PROMEDIO.SI, con las fórmulas matriciales podemos
hacer lo mismo. Haremos un ejemplo con ambas opciones, aclarando que estando la
función PROMEDIO.SI, siempre es preferible usar esta alternativa debido a que utiliza
menos recursos de nuestro equipo.
Otra historia es para Excel 2003, puesto que en esta versión la única alternativa son las
fórmulas matriciales, siendo la razón que PROMEDIO.SI directamente no existe.
Supongamos que una fábrica de autos, lanzó un nuevo modelo en el mes de Enero y
quiere saber cual fue el promedio de ventas de los 3 primeros días del mes en cada una
de las zonas en las que esta divide al país. Las zonas son: Norte, Sur, Este, Oeste y
centro. Para lograr su objetivo se vuelcan los datos de las ventas de esos días en una
tabla, con un sector a la derecha para los resultados

la fórmula, para la zona Norte es:

en la figura se hace la comparación con la función PROMEDIO.SI y se ve que coinciden

MAXIMO CON UNA CONDICION


Sería muy útil que Excel 2003/2007 tuviera la fórmula del tipo "máximo con una
condición", algo como MAX.SI o MAXIMO.SI , pero si se fijan en el conjunto de
funciones de Excel, esta no aparece nada parecido, ni siquiera en Excel 2007, esta es
una mala noticia ya que, sin duda seria muy útil; hay muchos problemas que se podrían
resolver. Por suerte podemos resolver esta falencia con las FORMULAS
MATRICIALES.
Supongamos este problema:
Un grupo de alumnos rindio 3 materias, Matemática, física y química y quieren saber el
puntaje máximo que sacaron.
Los datos se podrían representar en una tabla como la siguiente

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
donde la fórmula matricial usada es, por ejemplo para el alumno Marquez

como puede verse, es muy parecida a la del tutorial PROMEDIO CON UNA
CONDICION

ANIDAMIENTO DE FUNCIONES
INTRODUCCION IR A TUTORIALES
El anidamiento de funciónes junto con la programación VBA es lo que mas potencia da
al programa EXCEL, aquí todo depende de a donde nos pueda llevar nuestra habilidad e
imaginación y es donde se convierte en un programa muy versátil pudiendo abarcar
diversas disciplinas como son la Ingeniería, Estadística, Matemática, Finanzas,
Contabilidad por decir algunas que se me ocurren.
El anidamiento de funciónes no es otra cosa que ubicar una función en el argumento de
otra de forma adecuada, dicho así parece muy simple pero veremos que la cosa puede
complicarse mucho dado que la anidación pude hacerse en muchos niveles e involucrar
a muchas funciónes dando expresiones muy largas y difíciles de manejar, esto dista
mucho de querer desalentar, mas bien insta a la curiosidad y a la práctica.
Empezaremos por lo mas simple para ir a lo mas complejo en forma progresiva pero
antes voy a aclarar esto de los niveles y el límite que hay y la forma adecuada de hacerlo,
para esto ,como siempre nada mejor que un ejemplo
Se sabe que el promedio de las temperaturas del año en curso de la provincia de
Misiónes es de 27º y se tiene una tabla con los promedios de las temperaturas de los
meses del año anterior, se quiere saber si es verdadero que los 27º entran en el rango de
los promedios de los meses del año anterior

se ve que 27º no entra en rango de las temperatura promedio de los meses del año
anterior y que en la fórmula usada hemos anidado las funciónes MAX() y MIN() en dos
argumentos de una función Y() la que se denomina de primer nivel, siendo MAX() y
MIN() de segundo nivel ya que forman parte de los argumentos de Y(). MAX() y MIN()
están ubicadas correctamente pues forman parte de proposiciónes lógicas que son las
que aceptan los argumentos de Y().Por otra parte las funciónes se pueden anidar hasta
64 veces en Excel 2007 y solo 7 veces en Exel 2003 y versiones anteriores.

INDICE Y COINCIDIR POR BUSCARV


La función BUSCARV tiene el problema de que en la matriz de busqueda la columna del
valor a buscar tiene ser la misma o estar a la izquierda del valor a devolver , esta función
no nos sirve si queremos devolver un valor hacia la izquierda, veamos la siguiente tabla
si quisiéramos saber en que mes la venta fue de 80.230 no podríamos 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 intersección de ellos, el valor de la columna lo tenemos, ya que
este debe estar en la columna nº1 que es la del mes, solo nos falta el valor de la fila, que
muy amablemente nos lo entrega la función COINCIDIR quedando la siguiente fórmula

si la referencia en COINCIDIR es B15, la tabla en la que se busca la posición C2:C13,


en INDICE la matriz de la cual se saca el valor B2:C13 y la columna es la nº1.
Si ponemos los datos en una Hoja de Excel
y la fórmula se introduce en la celda E15, obtenemos el mes de Agosto, como se puede
ver en la tabla
Excel 2007 (básico)

FUNCION SI() ANIDADA CON LA FUNCIION Y() y O()


La función SI es una de las que mas se usan para el anidamiento ya que su estructura es
muy adecuada para esto:
En el parámetro 1 hay que poner una fórmula lógica, un anidamiento con funciones
lógicas o la propia función si actuando como función lógica.
En loa parámetros 2 y 3 se pueden anidar una multitud de funciones, como funciones
lógicas, lafunciñon si() actuando como función condicional o lógica etc.
Ahora vamos a ver un un ejemplo relativamente simple de la situación del punto 1.
Una empresa quiere promover a una nueva sección a los empleado que cumplan con las
siguientes condiciones :
Pertenecer al turno mañana.
Ser de la categoría 1 o que su sueldo sea menor o igual a 7.000$.
Para esto cuenta con la siguiente tabla que debe ser completada; donde los turnos son
M,T ,N ,correspondientes a mañana, tarde y noche respectivamente y las secciones van
de 1 a 4
Que se resuelve utilizando la fórmula
=SI(Y(O(E2=4;D2<=7000);Y(C2="M"));"PROMUEVE";"NO PROMUEVE")

como se ve, en el 1º parámetro tenemos una función Y que tiene anidadas en sus
parámetros, una función O y otra función Y, lo que aumenta el número de posibilidades
que se están evaluando o condiciones que se tienen que cumplir como:
ser del turno mañana (se tiene que cumplir siempre).
ser de la categoría 1 o que su sueldo sea <=7.000$ o ambas cosas.
Este es un ejemplo relativamente simple, anidando en el parámetro 1 y sin anidar nada
en los otros dos, pero la complejidad puede aumentar grandemente.
Excel 2007 (básico)

ELIMINAR MENSAJES DE ERROR EN BUSCARV


En la función BUSCARV muchas veces ocurre que el primer parámetro, que es la
referencia a una celda, esta vacío en forma momentánea, por ejemplo cuando se hace
una consulta a una base de datos, dando el error #N/A (no aplicable), también este error
puede aparecer cuando un valor buscado no está en la matriz de datos. Para eliminar
este antiestético mensaje recurrimos a un anidamiento de las funciones SI, ESERROR Y
BUSCARV.
Por ejemplo: supongamos que una línea aérea dispone de un momnitor, donde los
pasajeros pueden consultar el descuento que tiene determinado destino, teniendo el
formulario de consulta el siguiente aspecto

Para resolver el problema con Excel introducimos la fórmula de búsqueda en la celda


que esta debajo de DESCUENTO y elaboramos de una matriz de búsqueda 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 búsqueda e introducimos la función


BUACARV con la con la siguiente sintaxis:
BUSCARV(C2;descuento;2;FALSO)
como se muestra en la figura.
Se ve que BUSCARV da error aunque se introdujo la función correctamente, esto se
debe a que la referencia C2 esta vacía porque aun no se introdujo ningún destino. Otro
error se presentaría si se introdujera un destino que no esta en "descuento"

ambos mensajes de error desaparecen si se reemplaza a BUSCARV por la fórmula

donde se ha puesto una leyenda de advertencia si el destino no se encuentra

y se ve que funciona para la celda C3 vacía

o para un destino que sí está en la tabla "descuento".


Se preguntarán 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 proposición lógica 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
búsqueda 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 métodos para trabajar con ellas, lo que nos
dará pie para un tutorial mas adelante.

UN EJEMPLO SENCILLO DE RANGO


VARIABLE
Voy a dar un ejemplo sencillo de referencia dinámica, también llamada rango variable.
Suponganos que en una familia se anotan los gastos diarios confeccionando la siguiente
tabla en Excel
una forma de calcular los subtotales, por ejemplo hasta el día 4, sería emplear la función
SUMA con el rango fijo C2:C5 , pero si al día 5 queremos ingresar otro dato, este no es
tomado hasta que no actualicemos el rango a C2:C6, se entiende que es muy poco
práctico hacer esto toda vez que queramos ingresar un valor, lo que necesitamos es un
rango que varíe en forma automática o sea un rango variable. Para hacer que nuestro
rango se actualice usaremos la función CONTAR anidada con DESREF dentro de la
función 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 parámetros; 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 función CONTAR , que cuenta las celdas que no estan
vacías, 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


Si al día 11 se gasto tanto, no quiero ni pensar lo que va a ser al día 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.

También podría gustarte