BUSCARX con SI
Descargar el Libro de Ejemplo
Este tutorial demostrará cómo combinar las funciones BUSCARX y SI en Excel. Si su versión de Excel no soporta BUSCARX, lea cómo utilizar BUSCARV en su lugar.
BUSCARX Criterios de búsqueda múltiples
Hay muchas maneras de utilizar la función SI junto con la función BUSCARX, pero primero, veamos un ejemplo utilizando 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 correspondiente columna 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 resultados incorrectos para condiciones que implican 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 adecuada a sus correspondientes columnas utilizando los operadores lógicos (por ejemplo, =,<,>). Empecemos con el primer criterio (por ejemplo, ID de estudiante).
=B3=$C$2
Repitamos el paso para los otros criterios (por ejemplo, la materia).
=D3=$E$2
Matriz Y
A continuación, realizamos el equivalente 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 matrices.
Función BUSCARX
A continuación, utilizamos el resultado del Array Y como el nuevo array 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 se obtiene nuestra fórmula original:
=BUSCARX(1;(B3:B7=F3)*(C3:C7=G3);D3:D7)
BUSCARX Tratamiento de errores con SI
A veces necesitamos comprobar si el resultado de una función BUSCARX da lugar a un error. Una buena forma de hacerlo es utilizando la Función SI, que además es la mejor forma de notificar la causa del error.
BUSCARX SI con ESNOD
Primero verifiquemos si el BUSCARX falló en encontrar una coincidencia usando la fórmula SI con ESNOD.
=SI(ESNOD(BUSCARX(E3;B3:B7;C3:C7));"Producto No Encontrado!";F3/BUSCARX(E3;B3:B7;C3:C7))
Repasemos la fórmula anterior:
Función ESNOD
Primero, comprobemos el error #N/D, que básicamente significa que no se encontró 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 al 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, comprobemos si está 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 procedemos al 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 con 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
Primero, 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 mediante la función SI y devolvemos el mensaje correspondiente (por ejemplo, «¡Entrada Inválida!») si es VERDADERO o procedemos al cálculo si es FALSO.
=SI(G3;"Entrada Inválida!";F3/BUSCARX(E3;B3:B7;C3:C7))
BUSCARX con SI.CONJUNTO
La fórmula final de manejo 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 No Válida!";F3/BUSCARX(E3;B3:B7;C3:C7))
)
)
Como observamos arriba, la fórmula SI anidada se complica a medida que añadimos más condiciones. Una mejor manera de abordar esto es utilizando 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 No Válida!";
VERDADERO;F3/BUSCARX(E3;B3:B7;C3:C7)
)
Nota: La función SI.CONJUNTO puede evaluar múltiples conjuntos de criterios lógicos. Comienza por la primera condición pasando a la siguiente hasta que encuentra la primera condición VERDADERO y devuelve el valor de retorno correspondiente a la misma. Revisemos la fórmula anterior:
ESNOD
Comenzamos con nuestra primera condición, que es la función ESNOD. Si ESNOD es VERDADERO, devolvemos su valor correspondiente (por ejemplo, «¡Producto no encontrado!»). En caso contrario, procedemos 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 manejo de errores, significa que ahora podemos proceder al cálculo sin errores.
=SI.CONJUNTO(G3;"Producto no Encontrado!";H3;"No hay datos!";I3;"Entrada No Válida!";VERDADERO;F3/BUSCARX(E3;B3:B7;C3:C7))
La combinación de todas las fórmulas anteriores da como resultado 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 No Válida!";
VERDADERO;F3/BUSCARX(E3;B3:B7;C3:C7)
)