BUSCARX con Función SI – Excel y Google Sheets
Descargar el Libro de Ejemplo
Este tutorial mostrará cómo combinar las funciones BUSCARX e SI en Excel. Si su versión de Excel no es compatible con BUSCARX, lea cómo utilizar BUSCARV en su lugar.
BUSCARX Múltiples Criterios de Búsqueda
Hay muchas maneras de usar la Función SI junto con la Función BUSCARX, pero primero, veamos un ejemplo usando el elemento central de la Función SI, el criterio lógico.
Un ejemplo común es realizar una búsqueda con múltiples criterios, y la solución más común para esto es concatenar los criterios de búsqueda (por ejemplo, F3&G3) y su columna correspondiente en los datos de búsqueda (por ejemplo, B3:B7&C3:C7).
=BUSCARX(F3&G3;B3:B7&C3:C7;D3:D7)
El método anterior funciona bien la mayoría de las veces, pero puede dar lugar a resultados incorrectos en el caso de condiciones que incluyan números.
Un método más infalible es crear una matriz de valores booleanos a partir de criterios lógicos.
=BUSCARX(1;(B3:B7=F3)*(C3:C7=G3);D3:D7)
Veamos esta fórmula:
Criterios Lógicos
En primer lugar, apliquemos la condición apropiada a sus columnas correspondientes utilizando los operadores lógicos (por ejemplo, =,<,>).
Empecemos por el primer criterio (por ejemplo, ID Estudiante).
=B3=$C$2
Repita el paso para los demás criterios (por ejemplo, Materia).
=D3=$E$2
Matriz Y
A continuación, realizamos el equivalente en matrices de la función Y multiplicando las matrices booleanas donde VERDADERO es 1 y FALSO es 0.
=C3*E3
Nota: La función Y es una función agregada (muchas entradas para una salida). Por lo tanto, no funcionará en nuestro escenario de matriz.
Función BUSCARX
A continuación, usamos el resultado del arreglo Y como el nuevo arreglo de búsqueda donde buscaremos 1 en lugar del valor de búsqueda original.
=BUSCARX(1;F3:F7;G3:G7)
Combinando todas las fórmulas anteriores obtenemos nuestra fórmula original:
=BUSCARX(1;(B3:B7=F3)*(C3:C7=G3);D3:D7)
BUSCARX Manejo de Errores con SI
A veces necesitamos comprobar si el resultado de una Función BUSCARX produce un error. Una buena forma de hacerlo es utilizando la Función SI, que también es la mejor forma de notificarnos sobre la causa del error.
BUSCARX SI con ESNOD
Primero verifiquemos si el BUSCARX falló en encontrar una coincidencia utilizando la Fórmula SI con ESNOD.
=SI(ESNOD(BUSCARX(E3;B3:B7;C3:C7));"Producto No Encontrado!";F3/BUSCARX(E3;B3:B7;C3:C7))
Recorramos la fórmula anterior:
Función ESNOD
En primer lugar, vamos a comprobar el error #N/D, que básicamente significa que no se ha encontrado ninguna coincidencia, utilizando la función ESNOD.
=ESNOD(BUSCARX(E3;B3:B7;C3:C7))
Función SI
A continuación, vamos a utilizar la Función SI para comprobar el resultado de la Función ESNOD y devolver un mensaje (por ejemplo, «¡Producto No Encontrado!») si el resultado es VERDADERO. En caso contrario, si el resultado es falso, procederemos con el cálculo.
=SI(G3;"Producto No Encontrado!";F3/BUSCARX(E3;B3:B7;C3:C7))
Combinando todas las fórmulas se obtiene nuestra fórmula original:
=SI(ESNOD(BUSCARX(E3;B3:B7;C3:C7));"Producto No Encontrado!";F3/BUSCARX(E3;B3:B7;C3:C7))
BUSCARX SI con ESBLANCO
Otra cosa que hay que comprobar es si el resultado de BUSCARX está en blanco. Hay casos en los que el espacio en blanco significa que todavía no hay entrada, y por lo tanto, tenemos que distinguirlo de cero.
Simplemente sustituiremos el ESNOD por ESBLANCO para comprobar si está en blanco.
=SI(ESBLANCO(BUSCARX(E3;B3:B7;C3:C7));"No hay Datos!";F3/BUSCARX(E3;B3:B7;C3:C7))
Repasemos la fórmula anterior:
Función ESBLANCO
En primer lugar, vamos a comprobar si hay espacios en blanco utilizando la función ESBLANCO.
=ESBLANCO(BUSCARX(E3;B3:B7;C3:C7))
Función SI
Al igual que en el escenario anterior, introducimos el resultado de la función ESBLANCO en la función SI y devolvemos un mensaje (por ejemplo, «¡No hay Datos!») si es VERDADERO o continuamos con el cálculo si es FALSO.
=SI(G3;"No hay Datos!";F3/BUSCARX(E3;B3:B7;C3:C7))
Combinando todas las fórmulas se obtiene nuestra fórmula original:
=SI(ESBLANCO(BUSCARX(E3;B3:B7;C3:C7));"No hay Datos!";F3/BUSCARX(E3;B3:B7;C3:C7))
BUSCARX SI con ESTEXTO
Otra cosa que hay que evitar en los cálculos es la introducción accidental de texto. En este caso, utilizaremos la fórmula SI with ESTEXTO para comprobar si hay un valor de texto.
=SI(ESTEXTO(BUSCARX(E3;B3:B7;C3:C7));"Entrada Inválida!";F3/BUSCARX(E3;B3:B7;C3:C7))
Función ESTEXTO
En primer lugar, comprobamos si la salida de la función BUSCARX es un texto.
=ESTEXTO(BUSCARX(E3;B3:B7;C3:C7))
Función SI
A continuación, comprobamos el resultado utilizando la función SI y devolvemos el mensaje correspondiente (por ejemplo, «¡Entrada Inválida!») si es VERDADERO o continuamos con el cálculo si es FALSO.
=SI(G3;"Entrada Inválida!";F3/BUSCARX(E3;B3:B7;C3:C7))
BUSCARX con SI Anidados
La fórmula final de tratamiento de errores sería la combinación de las fórmulas SI anteriores, y podemos hacerlo anidándolas.
=SI(ESNOD(BUSCARX(E3;B3:B7;C3:C7));"Producto No Encontrado!";
SI(ESBLANCO(BUSCARX(E3;B3:B7;C3:C7));"No hay Datos!";
SI(ESTEXTO(BUSCARX(E3;B3:B7;C3:C7));"Entrada Inválida!";F3/BUSCARX(E3;B3:B7;C3:C7))
)
)
Como notamos arriba, la Fórmula SI Anidada se vuelve más complicada a medida que agregamos más condiciones. Una mejor manera de enfocar esto es usando la Función SI.CONJUNTO.
=SI.CONJUNTO(ESNOD(BUSCARX(E3;B3:B7;C3:C7));"Producto No Encontrado!";
ESBLANCO(BUSCARX(E3;B3:B7;C3:C7));"No hay Datos!";
ESTEXTO(BUSCARX(E3;B3:B7;C3:C7));"Entrada Inválida!";
VERDADERO;F3/BUSCARX(E3;B3:B7;C3:C7)
)
Nota: La Función SI.CONJUNTO puede evaluar múltiples conjuntos de criterios lógicos. Empieza por la primera condición pasando a la siguiente hasta que encuentra la primera condición VERDADERA y le devuelve el valor de retorno correspondiente.
Repasemos la fórmula anterior:
ESNOD
Comenzamos con nuestra primera condición, que es la función ISNA. Si ISNA es TRUE, devolvemos su valor correspondiente (por ejemplo, «¡Producto no encontrado!»). En caso contrario, pasamos a comprobar la siguiente condición.
=ESNOD(BUSCARX(E3;B3:B7;C3:C7))
ESBLANCO y ESTEXTO
Como la primera condición es FALSO en este escenario, comprobamos las condiciones sucesivas hasta encontrar la primera VERDADERO y devolvemos el valor correspondiente a la condición VERDADERO.
=ESBLANCO(BUSCARX(E3;B3:B7;C3:C7))
=ESTEXTO(BUSCARX(E3;B3:B7;C3:C7))
Valor por Defecto
Podemos establecer un valor por defecto estableciendo la última condición como VERDADERO en caso de que todas las condiciones sean FALSO, lo que en nuestro escenario de gestión de errores, significa que ahora podemos proceder al cálculo sin errores.
Combinando todas las fórmulas anteriores se obtiene nuestra fórmula original:
=SI.CONJUNTO(ESNOD(BUSCARX(E3;B3:B7;C3:C7));"Producto No Encontrado!";
ESBLANCO(BUSCARX(E3;B3:B7;C3:C7));"No hay Datos!";
ESTEXTO(BUSCARX(E3;B3:B7;C3:C7));"Entrada Inválida!";
VERDADERO;F3/BUSCARX(E3;B3:B7;C3:C7)
)