En la gestión de datos, especialmente en entornos de recursos humanos o seguimiento académico, a menudo es necesario realizar evaluaciones multifacéticas. Esta fórmula combina la lógica condicional y la búsqueda en tablas para automatizar un proceso de dos pasos: primero, verifica un estado crítico (como la finalización de una formación obligatoria) y, si se cumple ese requisito, procede a asignar una categoría de desempeño basada en una puntuación.
Utiliza la función SI como un interruptor lógico principal. Si el estado de la formación no está completo, la fórmula se detiene y devuelve un aviso. Si está completo, cede el control a la función BUSCARV, que busca una puntuación en una tabla de referencia para asignarle la categoría de desempeño correspondiente. Es una solución elegante y eficiente para manejar evaluaciones complejas en una sola celda.
Sintaxis
=SI(estado_formacion="No Completado"; "Requiere Formación Obligatoria"; BUSCARV(valor_puntuacion; rango_tabla_categorias; numero_columna_categoria; VERDADERO))
La fórmula se descompone en las siguientes partes, donde una función BUSCARV está anidada dentro de una función SI:
- SI(…): La función principal que evalúa una condición.
- estado_formacion=»No Completado»: Esta es la prueba lógica. Comprueba si el valor en la celda referenciada como `estado_formacion` es exactamente «No Completado».
- «Requiere Formación Obligatoria»: Este es el valor_si_verdadero. Si la prueba lógica es cierta (el empleado no ha completado la formación), la fórmula devuelve este texto.
- BUSCARV(…): Este es el valor_si_falso. Si la prueba lógica es falsa (el empleado sí ha completado la formación), Excel ejecuta esta función para determinar la categoría de desempeño.
- valor_puntuacion: Dentro de BUSCARV, es el valor que se buscará. Generalmente, una celda que contiene la puntuación numérica del empleado.
- rango_tabla_categorias: Es la matriz o tabla de referencia donde se encuentran las puntuaciones y las categorías asociadas.
- numero_columna_categoria: El número de columna dentro del `rango_tabla_categorias` del cual se devolverá un valor (la categoría de desempeño).
- VERDADERO: Este argumento es crucial. Indica a BUSCARV que realice una búsqueda de coincidencia aproximada. Busca el valor más grande que sea menor o igual que `valor_puntuacion`. Para que funcione correctamente, la primera columna de `rango_tabla_categorias` debe estar ordenada de forma ascendente.
Ejemplos
Imaginemos que tenemos una tabla principal con los datos de los empleados y una tabla secundaria con los rangos de puntuación para las categorías de desempeño.
Tabla de Empleados (Datos Principales):
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Empleado | Puntuación | Formación | Categoría / Estado |
| 2 | Ana Torres | 92 | Completado | Resultado de la fórmula |
| 3 | Luis Jerez | 75 | Completado | Resultado de la fórmula |
| 4 | Carla Ramos | 81 | No Completado | Resultado de la fórmula |
| 5 | David Roca | 55 | Completado | Resultado de la fórmula |
Tabla de Categorías (Tabla de Búsqueda en el rango G2:H5):
| G | H | |
|---|---|---|
| 1 | Puntuación Mín. | Categoría |
| 2 | 0 | Insuficiente |
| 3 | 60 | Aceptable |
| 4 | 80 | Bueno |
| 5 | 90 | Excelente |
Ejemplo 1: Evaluar a Ana Torres, quien ha completado la formación y tiene una puntuación de 92.
=SI(C2="No Completado"; "Requiere Formación Obligatoria"; BUSCARV(B2; $G$2:$H$5; 2; VERDADERO)) -> Resultado esperado: Excelente
Como C2 no es «No Completado», la fórmula ejecuta el BUSCARV. Busca el valor 92 en la columna G. Como 92 es mayor o igual a 90 (la última entrada), devuelve «Excelente» de la segunda columna.
Ejemplo 2: Evaluar a Carla Ramos, quien no ha completado la formación.
=SI(C4="No Completado"; "Requiere Formación Obligatoria"; BUSCARV(B4; $G$2:$H$5; 2; VERDADERO)) -> Resultado esperado: Requiere Formación Obligatoria
En este caso, la condición `C4=»No Completado»` es verdadera. La fórmula devuelve inmediatamente el texto «Requiere Formación Obligatoria» y no llega a ejecutar la parte de BUSCARV.
Ejemplo 3: Evaluar a David Roca, con una puntuación de 55, que sí completó la formación.
=SI(C5="No Completado"; "Requiere Formación Obligatoria"; BUSCARV(B5; $G$2:$H$5; 2; VERDADERO)) -> Resultado esperado: Insuficiente
La condición de SI es falsa. La función BUSCARV busca el 55. El valor más alto en la tabla de categorías que es menor o igual a 55 es 0, por lo que la fórmula devuelve la categoría asociada a 0, que es «Insuficiente».
Aplicaciones Prácticas
- 1Evaluación de Personal: Ideal para departamentos de RRHH para automatizar la asignación de categorías de desempeño (Ej: «Necesita Mejora», «Cumple Expectativas», «Excede Expectativas») mientras se asegura que los empleados han completado cursos obligatorios de cumplimiento o seguridad.
- 2Calificaciones Académicas: Un profesor puede usar esta fórmula para asignar notas literales (A, B, C, D, F) a partir de una puntuación numérica, pero solo si el estudiante ha cumplido con un requisito previo, como la entrega de un proyecto final.
- 3Gestión de Proveedores: Clasificar a los proveedores en niveles («Premium», «Estándar», «Bajo Revisión») según su puntuación de rendimiento, pero mostrando una alerta («Documentación Pendiente») si no han entregado todos los certificados requeridos.
- 4Análisis de Ventas: Determinar el nivel de comisión de un vendedor basado en su volumen de ventas, pero primero comprobando si ha registrado todas sus actividades en el CRM. Si no, la celda podría mostrar «CRM Incompleto».
Observaciones
Ordenación de la tabla de búsqueda: El punto más importante al usar esta fórmula es que la primera columna del `rango_tabla_categorias` (en nuestro ejemplo, G2:G5) debe estar ordenada de menor a mayor. Si no lo está, el resultado de la búsqueda con coincidencia aproximada de BUSCARV será impredecible y probablemente incorrecto.
Uso de referencias absolutas ($): Al definir el `rango_tabla_categorias` (Ej: `$G$2:$H$5`), es fundamental usar referencias absolutas. Esto asegura que cuando arrastres la fórmula hacia abajo para aplicarla a otras filas, el rango de la tabla de búsqueda permanezca fijo y no se desplace.
Errores comunes
- #N/A: Ocurre si el `valor_puntuacion` es menor que el primer valor en la columna de búsqueda de la tabla de categorías. Por ejemplo, si la puntuación mínima en la tabla fuera 10 y un empleado tuviera una puntuación de 5.
- #¡REF!: Aparece si el `numero_columna_categoria` es mayor que el número de columnas en el `rango_tabla_categorias`. Por ejemplo, si indicamos que devuelva la columna 3 cuando el rango solo tiene 2 columnas (G y H).
- Resultados incorrectos: El error más sutil. Si la primera columna de la tabla de búsqueda no está ordenada de forma ascendente, la fórmula no mostrará un error, pero puede devolver una categoría incorrecta.
Alternativas
Aunque esta combinación es muy efectiva, las versiones más recientes de Excel ofrecen funciones más modernas y flexibles:
-
=SI(C2="No Completado"; "Requiere Formación"; BUSCARX(B2; $G$2:$G$5; $H$2:$H$5; "No Encontrado"; -1))La función BUSCARX es la sucesora de BUSCARV. El argumento `-1` en el modo de coincidencia (`[match_mode]`) le indica que busque una coincidencia exacta o el siguiente elemento más pequeño, replicando el comportamiento de BUSCARV con `VERDADERO` pero sin necesidad de que la tabla de búsqueda esté ordenada.
-
=SI.CONJUNTO(C2="No Completado"; "Requiere Formación"; B2>=90; "Excelente"; B2>=80; "Bueno"; B2>=60; "Aceptable"; VERDADERO; "Insuficiente")Si no te gusta usar una tabla de referencia separada, puedes anidar toda la lógica de categorización dentro de una función SI.CONJUNTO. Esta fórmula evalúa una serie de condiciones en orden y devuelve el valor correspondiente a la primera que sea verdadera. Es más legible que múltiples funciones SI anidadas, pero puede volverse larga si hay muchas categorías.
