Tabla de contenido
En este tutorial, encontrará un puñado de ejemplos de fórmulas avanzadas que demuestran cómo utilizar las funciones VLOOKUP y SUM o SUMIF de Excel para buscar y sumar valores basándose en uno o varios criterios.
¿Está intentando crear un archivo de resumen en Excel que identifique todas las instancias de un valor concreto y, a continuación, sume otros valores que estén asociados a esas instancias? O bien, ¿necesita encontrar todos los valores de una matriz que cumplan la condición que especifique y, a continuación, sumar los valores relacionados de otra hoja de cálculo? O quizás se enfrenta a un reto más concreto, como buscar en una tabla defacturas de su empresa, identificando todas las facturas de un proveedor concreto y sumando después todos los valores de las facturas?
Las tareas pueden variar, pero la esencia es la misma: desea buscar y sumar valores con uno o varios criterios en Excel. ¿Qué tipo de valores? Cualquier valor numérico. ¿Qué tipo de criterios? Cualquiera : ) Empezando por un número o una referencia a una celda que contenga el valor correcto, y terminando con operadores lógicos y resultados devueltos por fórmulas de Excel.
Entonces, ¿dispone Microsoft Excel de alguna funcionalidad que pueda ayudar con las tareas anteriores? Por supuesto que sí! Puedes encontrar una solución combinando las funciones VLOOKUP o LOOKUP de Excel con SUM o SUMIF. Los ejemplos de fórmulas que siguen a continuación te ayudarán a entender cómo funcionan estas funciones de Excel y cómo aplicarlas a datos reales.
Tenga en cuenta que estos son ejemplos avanzados que implican que usted está familiarizado con los principios generales y la sintaxis de la función VLOOKUP. Si no es así, la primera parte de nuestro tutorial VLOOKUP para principiantes es sin duda vale la pena su atención - Excel VLOOKUP sintaxis y usos generales.
Excel VLOOKUP y SUM - hallar la suma de valores coincidentes
Si trabaja con datos numéricos en Excel, a menudo no sólo tiene que extraer valores asociados de otra tabla, sino también sumar números en varias columnas o filas. Para ello, puede utilizar una combinación de las funciones SUM y VLOOKUP, como se muestra a continuación.
Fuente de los datos:
Supongamos que tiene una lista de productos con las cifras de ventas de varios meses, una columna por cada mes. Los datos de origen están en la hoja denominada Ventas mensuales :
Ahora, quiere hacer una tabla resumen con las ventas totales de cada producto.
La solución es utilizar un array en el 3er parámetro ( col_index_num ) de la función VLOOKUP de Excel. He aquí una fórmula genérica:
SUMA(VLOOKUP( valor de búsqueda , rango de búsqueda , {2,3,...,n}, FALSE))Como puede ver, utilizamos una constante de matriz en el tercer argumento para realizar varias búsquedas dentro de la misma fórmula VLOOKUP con el fin de obtener la suma de los valores de las columnas 2,3 y 4.
Y ahora, vamos a ajustar esta combinación de funciones VLOOKUP y SUM para nuestros datos para encontrar el total de ventas en las columnas B - M en la tabla anterior:
=SUMA(VLOOKUP(B2, 'Ventas mensuales'! $A$2:$M$9, {2,3,4,5,6,7,8,9,10,11,12,13}, FALSE))
¡Importante! Dado que está creando una fórmula de matriz, asegúrese de pulsar Ctrl + Mayús + Intro en lugar de una simple pulsación de Intro cuando termine de escribir. Cuando haga esto, Microsoft Excel encerrará su fórmula entre llaves como ésta:
{=SUMA(VLOOKUP(B2, 'Ventas mensuales'!$A$2:$M$9, {2,3,4,5,6,7,8,9,10,11,12,13}, FALSE))}
Si pulsa la tecla Entre en como de costumbre, sólo se procesará el primer valor de la matriz, lo que producirá resultados incorrectos.
Consejo: Puede que tenga curiosidad por saber por qué la fórmula muestra [@Producto] como valor de búsqueda en la captura de pantalla anterior, ya que he convertido mis datos a una tabla ( Inserte tab> Cuadro Me resulta muy cómodo trabajar con tablas de Excel totalmente funcionales y sus referencias estructuradas. Por ejemplo, cuando escribes una fórmula en una celda, Excel la copia automáticamente en toda la columna y así te ahorra unos segundos preciosos :)
Como ves, usar las funciones VLOOKUP y SUM en Excel es fácil. Sin embargo, no es la solución ideal, especialmente si trabajas con tablas grandes. La cuestión es que usar fórmulas de array puede afectar negativamente al rendimiento del libro, ya que cada valor del array hace una llamada distinta a la función VLOOKUP. Así que, cuantos más valores tengas en el array y más fórmulas de array tengas enel libro, más lento funciona Excel.
Puedes evitar este problema utilizando una combinación de las funciones INDEX y MATCH en lugar de SUM y VLOOKUP, y te mostraré algunos ejemplos de fórmulas en el próximo artículo.
Descargar este ejemplo de VLOOKUP y SUM
Cómo realizar otros cálculos con la función VLOOKUP de Excel
Hace un momento vimos un ejemplo de cómo extraer valores de varias columnas de la tabla de consulta y calcular la suma de esos valores. Del mismo modo, puede realizar otros cálculos matemáticos con los resultados devueltos por la función VLOOKUP. Aquí tiene algunos ejemplos de fórmulas:
Operación | Ejemplo de fórmula | Descripción |
---|---|---|
Calcular la media | {=AVERAGE(VLOOKUP(A2, 'Tabla de consulta'$A$2:$D$10, {2,3,4}, FALSE))} | La fórmula busca el valor de la celda A2 en 'Lookup table' y calcula la media de los valores de las columnas B,C y D de la misma fila. |
Encontrar el valor máximo | {=MAX(VLOOKUP(A2, 'Tabla de consulta'$A$2:$D$10, {2,3,4}, FALSE))} | La fórmula busca el valor de la celda A2 en 'Lookup table' y encuentra el valor máximo en las columnas B,C y D de la misma fila. |
Encontrar el valor mínimo | {=MIN(VLOOKUP(A2, 'Tabla de consulta'$A$2:$D$10, {2,3,4}, FALSE))} | La fórmula busca el valor de la celda A2 en 'Lookup table' y encuentra el valor mínimo en las columnas B,C y D de la misma fila. |
Calcular el % de la suma | {=0,3*SUMA(VLOOKUP(A2, 'Tabla de consulta'$A$2:$D$10, {2,3,4}, FALSE))} | La fórmula busca el valor de la celda A2 en 'Lookup table', suma los valores de las columnas B,C y D de la misma fila y, a continuación, calcula el 30% de la suma. |
Nota: Dado que todas las fórmulas anteriores son fórmulas de matriz, recuerda pulsar Ctrl+Mayús+Intro para introducirlas correctamente en una celda.
Si añadimos las fórmulas anteriores a la tabla "Resumen de ventas" del ejemplo anterior, el resultado será similar a éste:
Descargar este ejemplo de cálculos VLOOKUP
LOOKUP AND SUM - busca en la matriz y suma los valores coincidentes
En caso de que su parámetro de búsqueda sea una matriz en lugar de un valor individual, la función VLOOKUP no sirve porque no puede buscar en matrices de datos. En este caso, puede utilizar la función LOOKUP de Excel que es análoga a VLOOKUP pero funciona tanto con matrices como con valores individuales.
Consideremos el siguiente ejemplo, para que pueda entender mejor de qué estoy hablando. Supongamos que tiene una tabla que enumera los nombres de los clientes, los productos adquiridos y la cantidad ( Mesa principal También tiene una segunda tabla con los precios de los productos ( Tabla de consulta Tu tarea es hacer una fórmula que encuentre el total de todos los pedidos realizados por un cliente determinado.
Como recordará, no puede utilizar la función VLOOKUP de Excel, ya que tiene varias instancias del valor de búsqueda (matriz de datos). En su lugar, utilice una combinación de las funciones SUM y LOOKUP como ésta:
=SUMA(LOOKUP($C$2:$C$10,'Tabla de consulta'!$A$2:$A$16,'Tabla de consulta'!$B$2:$B$16)*$D$2:$D$10*($B$2:$B$10=$G$1))
Como se trata de una fórmula de matriz, recuerda pulsar Ctrl + Mayús + Intro para completarla.
Y ahora, vamos a analizar los ingredientes de la fórmula para que entiendas cómo funciona cada una de las funciones y puedas adaptarla a tus propios datos.
Dejaremos de lado la función SUMA por un momento, porque su propósito es obvio, y nos centraremos en los 3 componentes que se multiplican:
LOOKUP($C$2:$C$10,'Tabla de consulta'!$A$2:$A$16,'Tabla de consulta'!$B$2:$B$16)
Esta función LOOKUP busca los productos enumerados en la columna C de la tabla principal y devuelve el precio correspondiente de la columna B de la tabla de búsqueda.
$D$2:$D$10
Este componente devuelve la cantidad de cada producto comprado por cada cliente, que aparece en la columna D de la tabla principal. Multiplicado por el precio, que devuelve la función LOOKUP anterior, le da el coste de cada producto comprado.
$B$2:$B$10=$G$1
Esta fórmula compara los nombres de los clientes en la columna B con el nombre en la celda G1. Si se encuentra una coincidencia, devuelve "1", de lo contrario "0". Se utiliza simplemente para "cortar" los nombres de los clientes que no sean el nombre en la celda G1, ya que todos sabemos que cualquier número multiplicado por cero es cero.
Como nuestra fórmula es una fórmula de matriz, itera el proceso descrito anteriormente para cada valor de la matriz de búsqueda. Y por último, la función SUMA suma los productos de todas las multiplicaciones. Nada difícil, ¿verdad?
Nota: Para que la fórmula LOOKUP funcione correctamente, es necesario ordenar la columna de búsqueda en la tabla Lookup en orden ascendente (de la A a la Z). Si la ordenación no es aceptable en sus datos, eche un vistazo a una impresionante fórmula SUM / TRANSPOSE sugerida por Leo.
Descargar este ejemplo de LOOKUP y SUM
VLOOKUP y SUMIF - buscar & sumar valores con criterios
La función SUMIF de Excel es similar a SUM que acabamos de discutir en el sentido de que también suma valores. La diferencia es que la función SUMIF suma sólo aquellos valores que cumplen los criterios que especifiques. Por ejemplo, la fórmula SUMIF más simple =SUMIF(A2:A10,">10")
suma los valores de las celdas A2 a A10 que sean mayores que 10.
Esto es muy fácil, ¿verdad? Y ahora consideremos un escenario un poco más complejo. Supongamos que tiene una tabla que enumera los nombres y números de identificación de los vendedores ( Tabla_de_busqueda Tiene otra tabla que contiene los mismos identificadores y las cifras de ventas asociadas ( Mesa_principal Su tarea consiste en hallar el total de ventas realizadas por una persona determinada según su DNI. Para ello, existen 2 factores que complican la tarea:
- La tabla de correo contiene varias entradas para el mismo ID en un orden aleatorio.
- No puede añadir la columna "Nombres de vendedores" a la tabla principal.
Y ahora, hagamos una fórmula que, en primer lugar, encuentre todas las ventas realizadas por una persona determinada y, en segundo lugar, sume los valores encontrados.
Antes de empezar con la fórmula, permíteme recordarte la sintaxis de la función SUMIF:
SUMIF(rango, criterios, [suma_rango])gama
- este parámetro se explica por sí mismo, simplemente un rango de celdas que desea evaluar según los criterios especificados.criterios
- la condición que indica a la fórmula qué valores debe sumar. Puede suministrarse en forma de número, referencia de celda, expresión u otra función de Excel.suma_rango
- este parámetro es opcional, pero muy importante para nosotros. Define el rango donde se sumarán los valores de las celdas correspondientes. Si se omite, Excel suma los valores de las celdas que se especifican en el argumento rango (1er parámetro).
Teniendo en cuenta la información anterior, vamos a definir los 3 parámetros para nuestra función SUMIF. Como recordarás, queremos sumar todas las ventas realizadas por una persona determinada cuyo nombre está introducido en la celda F2 de la tabla principal (por favor, mira la imagen de arriba).
- Gama - ya que estamos buscando por ID de vendedor, el gama para nuestra función SUMIF es la columna B de la tabla principal. Por lo tanto, puedes introducir el rango B:B, o si conviertes tus datos a una tabla, puedes utilizar el nombre de la columna en su lugar:
Mesa_principal[ID]
- Criterios - Como tenemos los nombres de los vendedores en otra tabla (tabla de consulta), tenemos que utilizar la fórmula VLOOKUP para encontrar el ID correspondiente a una persona determinada. El nombre de la persona está escrito en la celda F2 de la tabla principal, así que lo buscamos utilizando esta fórmula:
VLOOKUP($F$2,Tabla_de_busqueda,2,FALSE)
Por supuesto, podría introducir el nombre en los criterios de búsqueda de su función VLOOKUP, pero utilizar una referencia de celda absoluta es un enfoque mejor porque esto crea una fórmula universal que funciona para cualquier entrada de nombre en una celda dada.
- Gama Suma - Esta es la parte más fácil. Como nuestros números de ventas están en la columna C llamada "Ventas", simplemente ponemos
Main_table[Sales]
.Ahora, todo lo que necesita es ensamblar las partes de la fórmula y su fórmula SUMIF + VLOOKUP estará lista:
=SUMIF(Main_table[ID], VLOOKUP($F$2, Lookup_table, 2, FALSE), Main_table[Sales])
Descargar este ejemplo de VLOOKUP y SUMIF
Fórmula libre manera de hacer vlookup en Excel
Por último, permítame presentarle la herramienta que puede buscar, emparejar y combinar sus tablas sin funciones ni fórmulas. La herramienta Combinar tablas incluida en nuestra Ultimate Suite para Excel fue diseñada y desarrollada como una alternativa a las funciones VLOOKUP y LOOKUP de Excel que ahorra tiempo y es fácil de usar, y puede ser muy útil tanto para principiantes como para usuarios avanzados.
En lugar de buscar fórmulas, basta con especificar las tablas principal y de consulta, definir una o varias columnas comunes e indicar al asistente los datos que desea obtener.
Si cree que este complemento puede resultarle útil en su trabajo, le invitamos a descargar una versión de prueba a través del siguiente enlace.
Descargas disponibles
VLOOKUP con SUM y SUMIF - ejemplos de fórmulas (archivo .xlsx)
Ultimate Suite - versión de prueba (archivo .exe)