Búsqueda de varias columnas con BUSCARV y SUMIFS

Cuando necesita realizar una búsqueda, su instinto le indica que utilice BUSCARV. Pero, cuando su búsqueda utiliza múltiples condiciones y columnas, es posible que se sienta inclinado a utilizar SUMIFS. Sin embargo, cuando el valor que necesita devolver es una cadena de texto, en lugar de un valor numérico, no puede utilizar SUMIFS ya que solo devuelve números. ¿Pero eres tu? Esta publicación demuestra cómo realizar una búsqueda en varias columnas y devolver una cadena de texto combinando estas dos poderosas funciones. ¿Entusiasmado? ¡Yo también! Hagámoslo.

Índice
  1. Objetivo
  2. Detalles
  3. Recursos adicionales

Objetivo

Antes de profundizar en la mecánica, dejemos claro lo que intentamos lograr.

Tenemos un grupo de empleados almacenados en una tabla denominada Tabla1, como se muestra a continuación.

Mesa de empleados de Jeff Lenning

Estamos intentando crear un informe que recupere el estado dado el apellido y el nombre del empleado, como se muestra a continuación.

20150917b

Si el informe hubiera contenido el ID del empleado en lugar del apellido y el nombre, la búsqueda sería fácil, ¿verdad? Podríamos simplemente usar BUSCARV y listo. Pero nuestra búsqueda debe realizarse haciendo coincidir dos columnas, las columnas Apellido y Nombre. Si el valor que devolviéramos fuera numérico, como el código postal, podríamos usar SUMIFS. Pero, dado que SUMIFS devuelve números y no cadenas de texto (como el Estado), no podemos usar SUMIFS. Y dado que la búsqueda debe realizarse en varias columnas, no podemos usar BUSCARV. Si no podemos usar SUMIFS o BUSCARV, entonces, ¿qué se supone que debemos hacer? Bueno, ¿qué pasaría si usáramos SUMIFS y BUSCARV en la misma fórmula? ¿Podemos hacer eso? Sí. Así es cómo.

Detalles

Básicamente usamos SUMIFS para devolver el valor único de ID de empleado y luego ingresamos ese valor en BUSCARV como primer argumento. Esto significa que BUSCARV tiene un valor de búsqueda determinado por la función SUMIFS. SUMIFS recuperará el EEID del empleado deseado según las columnas Apellido y Nombre, y luego BUSCARV utilizará ese ID para realizar una búsqueda estándar y devolver el Estado. En resumen, utilizamos SUMIFS como primer argumento de BUSCARV. Tomemos las funciones una a la vez.

Aquí está el informe.

20150917c

Los datos se almacenan en la Tabla 1. Demos el primer paso con la función SUMIFS. Queremos que devuelva el EEID único. Entonces, usamos la siguiente fórmula.

=SUMIFS(Tabla1[EEID],Tabla1[Último],B7,Tabla1[Primero],C7)

Dónde:

  • Tabla1[EEID] es la columna de números a sumar
  • Tabla1[Apellido] es el primer rango de criterios, la columna de apellido
  • B7 es el primer valor de criterio, el valor del apellido del informe.
  • Tabla1[Primero] es el segundo rango de criterios, la primera columna de nombre
  • C7 es el segundo valor de criterio, el primer valor de nombre del informe.

Los resultados de completar esta fórmula se muestran a continuación.

20150917d

Pudimos usar SUMIFS para recuperar la ID del empleado basándose en la coincidencia de los valores de nombre y apellido. ¿Hasta ahora, todo bien? Ahora, solo tenemos que pedirle a BUSCARV que devuelva el estado según la identificación del empleado.

Nota: es importante señalar que esta técnica supone que cada valor EEID es único dentro de la columna y que solo una fila satisfará todas las condiciones SUMIFS. Si no se cumplen estos supuestos, es posible que esta técnica no funcione como se esperaba. Si su tabla de datos no tiene una columna de ID única, siempre puede agregar una columna auxiliar que numere los registros 1, 2, 3, etc.

Usemos la función SUMIFS anterior en una BUSCARV, como se muestra a continuación.

=BUSCARV(SUMIFS(Tabla1[EEID],Tabla1[Último],B7,Tabla1[Primero],C7),Tabla1,5,0)

Dónde:

  • SUMIFS(…) devuelve el ID del empleado para usarlo como valor de búsqueda de BUSCARV
  • Tabla1 es el rango de búsqueda, la tabla de empleados
  • 5 es la columna que tiene el valor a devolver, la columna Estado
  • 0 le dice a Excel que estamos buscando un valor EEID que coincida exactamente

Después de completar la fórmula, nuestro informe estará completo, como se muestra a continuación.

Búsqueda por Jeff Lenning

Lo logramos… ¡sí!

Nota: También es interesante notar que esta técnica también se puede usar con columnas de fechas y, si es necesario, podríamos usar operadores de comparación para encontrar valores dentro de un rango de fechas.

Si tiene alguna otra técnica para realizar búsquedas de varias columnas, compártala publicando un comentario a continuación… ¡gracias!

Recursos adicionales

  • Archivo de Excel de muestra
  • Publicaciones SUMIFS de la Universidad de Excel
  • Publicaciones de BUSCARV de la Universidad de Excel