Anidar funciones de busqueda

Concepto

Una función anidada es la que utiliza como argumentos otra función. Una función puede contener como máximo siete niveles de funciones anidadas. Si la función B se utiliza como argumento de la función A, la función B es una función de segundo nivel. Una función anidada dentro de la función B será una función de tercer nivel y así sucesivamente.

Anidado con funciones lógicas

Utilizar funciones anidadas permite crear hojas que consideren todos los elementos necesarios en una base de datos. Con las funciones lógicas se establecen las condiciones y los resultados dependen de una búsqueda horizontal o vertical.
Crea una hoja como la imagen de abajo que presente una lista de alumnos con sus respectivos resultados de dos cursos distintos. Usaremos las Funciones SI() y BUSCARV():

Al anidar la función SI() con las funciones de búsqueda nos permite considerar distintas opciones si se verifica o no la prueba, Utilizando sólo la función lógica se determina un único valor verdadero si la prueba se verifica y otro valor si la prueba es falsa.

En el ejemplo a utilizar la función SI() y la función BUSCARV() en el rango “D3:D9” se debe reflejar el resultado del primer curso tomando en cuenta los datos detallados en la columna “CURSO 1” y los resultados correspondientes a cada punto se presentan en el rango “A13:B18”.
La función a insertar en la celda “D3” es la siguiente:

=SI(B3>=5;BUSCARV(B3;$A$13:$B$18;2);"Insuficiente")

Analizando la función:

La prueba es verdadera si el contenido de la celda “B3” es mayor o igual que cinco, y de lo contrario es falsa.

Si la prueba es verdadera se busca el valor contenido en la celda “B3” en la matriz de datos del rango “A13:B18” y el resultado es el valor de la matriz ubicado en la intersección de esa fila y la columna dos. Abras notado que utilizo referencias absolutas para el rango A13:B18 quedando asi:

$A$13:$B$18

Si copiamos esta formula en otra casilla por defecto sin hacer la referencia absoluta todas las casillas cambian el valor incluso generaría el error #N/D si no encuentra el valor al que se hace referencia. Veamos el efecto sin referencias absolutas:

Con referencias absolutas:

Este argumento nos mostrará el número de columna desde donde se mostraran los datos. En este caso sería la columna que abarcan las celdas B13:B18.

Si el valor de la tabla no coincide mostrará el mensaje “Insuficiente”. El resultado final sería el siguiente:

Función SI() y función Y()

Al analizar las funciones lógicas se observa que al anidar la función SI() con otras funciones, permite establecer más de una prueba lógica para los valores considerados. Si a su vez se utiliza una función de búsqueda es posible obtener distintos valores si los argumentos se cumplen.

En la siguiente imagen de ejemplo, usaremos la función SI(), la función Y() y la función BUSCARV() en el rango “E3:E9” mostrará el resultado obtenido en el curso después de obtener como mínimo cinco en el “CURSO 1” y como mínimo tres en el “CURSO 2”, y los resultados se mostraran desde las celdas “A13:B18” considerando el segundo curso. Usaremos la tabla anterior para completar los datos:

Insertaremos la siguiente función en la celda “E3”:

Analizando la función:

  • Prueba lógica: Y(B3>=5;C3>=3) .- La prueba es verdadera si el contenido de la celda “B3” es mayor o igual que cinco y si el valor de la celda “C3” es mayor o igual que tres. Si no se cumplen ambos argumentos daría falso.
  • Valor si la prueba se verifica: BUSCARV(C3;$A$13:$B$18;2).- Si la prueba es verdadera se busca el valor contenido en la celda “C3” en la matriz de datos del rango comprendidos de las celdas “A13:B18” y el resultado es el valor de la matriz ubicado en la intersección de esa fila y la columna 2.
    Una observación: para copiar la función es necesario establecer una referencia absoluta en el rango que determina la matriz de datos a buscar, esta matriz no modifica su ubicación y el resultado es: “$A$13:$B$18”.
  • Valor si la prueba no se verifica saldrá el texto “Insuficiente”

El resultado sería despues de copiar y pegar todas las celdas implicadas:

Función SI() y función O()

La función Y() implica que se deben cada uno de los valores lógicos deben cumplirse . Con la función O() basta con que se cumpla al menos uno de los valores lógicos.

En el ejemplo de la imagen, usaremos la función SI(), la función O() y la función BUSCARV() en el rango “F3:F9” debiendose reflejar el resultado total obtenido en el curso si se ha aprobado ambos cursos, y la tabla de resultados se encuentran en el rango “A13:B19”. Añade un nuevo campo en F2 titulada NOTA FINAL.

La función a insertar en la celda “F3” es la siguiente:

=SI(O(D4="Insuficiente";E4="Insuficiente");"Suficiente";BUSCARV(B3;$A$13:$B$19;2))

Después de copiar la fórmula en las demás casillas el resultado sería:

Vemos que la casilla F4 nos informa de un error (#N/D), esto se debe a que cuando el busca un dato en la tabla de RESULTADOS este dato no existe en dicha tabla…

… osea que el dato que pedimos desde la celda B4 vemos que no está en la tabla de resultados. Añade los datos nuevos a la tabla de RESULTADOS para corregir el error. Usaremos la opción Insertar > fila haremos este paso 4 veces para añadir los 4 datos que faltan:

Una vez añadidos debería verse la tabla de la siguiente manera:

Ahora solo falta modificar la función BUSCARV() para añadirla a la busqueda:

Despues de esta mini explicación veamos el resultado corregido.

Analizando la función se obtiene:

  • Prueba lógica: O(D4=”No aprobado”;E4=”No aprobado”).- La prueba es verdadera si el contenido de la celda “D3” o el contenido de la celda “E3” es igual a “Insuficiente”,  y de no verificarse por lo menos uno de los resultados entonces es es falsa. Es decir que si en no aprueba uno o los dos cursos debe recuperar y aprueba si ambas instancias son aprobadas, el resultado total es la puntuación obtenida en “CURSO 1”.
  • Valor si la prueba se verifica: “Recuperar”.- Si la prueba se verifica, es decir si por lo menos uno de los contenidos es “Insuficiente”, el resultado es Recuperar.
  • Valor si la prueba no se verifica: BUSCARV(B4;$A$13:$B$22;2)).- Si la prueba es falsa se busca el valor contenido en la celda “B3” en la matriz de datos del rango “A13:B22” y el resultado es el valor de la matriz ubicado en la intersección de esa fila y la columna dos.Una observación: para copiar la función es necesario establecer una referencia absoluta en el rango que determina la matriz de datos a buscar. Esta matriz no modifica su ubicación y el resultado es: “$A$13:$B$22”.

Maximizar resultados

El elemento clave para maximizar los resultados en un libro de trabajo, es anidar funciones y de esta forma podemos abarcar un mayor número de opciones para crear hojas que contemplen todos los resultados posibles.

Para anidar funciones se debe contemplar la sintaxis de la función de primer nivel y luego considerar como argumentos las funciones de los niveles siguientes.

Los argumentos definen distintos elementos en cada sintaxis y depende de la función que contemple el resultado que se obtiene con ese argumento. La definición de una función como argumento implica la relación entre los datos tal y como se analizó en cada uno de los ejemplos.

Los resultados analizados son válidos para vinculaciones entre hojas de un mismo libro de trabajo y basta con realizar la selección en la hoja que presenta los datos a tener en cuenta.
Es necesario utilizar referencias absolutas para las celdas que no tengan que modificar su ubicación en la comparación de datos, para no obtener resultados de errores.

P.D. Las puntuaciones de las notas escolares se refieren al sistema español de puntuación. Los que residan fuera de España pueden ajustar la puntuación según el país donde residan.