Sumar valores con el mismo nombre

45

Tengo un Google Sheets con una larga lista de nombres y cantidades. Muchos de los nombres son duplicados. Por ejemplo:

John  | 10
Bill  | 2
Susan | 3
Frank | 4
Sally | 10
John  | 2
Susan | 2
John  | 3

¿Hay alguna forma automatizada de combinar todos los valores para obtener una lista sin nombres duplicados y una sola suma de todas las entradas de cada persona?

Por ejemplo:

John  | 15
Bill  | 2
Susan | 5
Sally | 10
Peter
fuente

Respuestas:

51

Suponiendo que los nombres están en A1: A8, cantidades en B1: B8, primero necesitamos una lista de nombres única en D1:

=UNIQUE(A1:A8)

Luego use la suma condicional en E1:

=SUMIF(A$1:A$8,D1,B$1:B$8)

Tenga en cuenta el $prefijo antes del número de celda. Esto mantendrá los mismos rangos cuando copiemos el contenido de las celdas (seleccione las celdas E1: E8 y presione Ctrl+ D).

Zmogas
fuente
2
¡Excelente! Solo desea agregar que en algunas configuraciones regionales debe reemplazar la coma con punto y coma, es decir, = SUMARIO (A $ 1: A $ 8; D1; B $ 1: B $ 8).
JLund
Gracias por la respuesta. Votado. ¿Cómo se ordena en orden descendente por la cantidad? En este ejemplo, John vendría primero, luego Sally, Susan y finalmente Bill.
Vaddadi Kartick
Ejemplo :) = ORDENAR (A2: B92; FALSO)
Zmogas
2
no funciona para mí
Gilbou
23

Si usa la función de consulta, entonces no tiene que preocuparse de que la lista crezca y de que no haya copiado la fórmula de suma lo suficiente.

Si los nombres están en A: A y las cantidades están en B: B, entonces en D1 ingrese:

=QUERY(A:B, "select A, sum(B) group by A")

Hay una respuesta mucho más a fondo aquí , incluso con capturas de pantalla.

SlimPickens
fuente
1
¿Qué pasa si tuviera una fila de encabezado? ¿Tendría que conocer los índices específicos de la fila inicial y final? Ajá, parece que puedo especificar el número de filas de encabezado ... support.google.com/docs/answer/3093343?hl=es
qix
Este es el método más limpio, creo. Tenga en cuenta que si no desea consultar toda la hoja de cálculo (por ejemplo, si tiene datos no relacionados a continuación), puede especificar un rango como A2: B28) Además, me gusta usar la función CONCATENAR para combinar varias columnas de mi hojas de cálculo en una fila para agrupar, como apellido, nombre.
Evan Donovan
7

También intentaré esto: prefiero usar la función de filtro. El uso de la selección de columnas permite que la tabla crezca automáticamente al agregar datos "nuevos":

FILTER(B:B;A:A=D2)

Si tiene un encabezado, puede cambiarlo en consecuencia:

FILTER($B$2:B;$A$2:A=D2)

Hacer la sumatoria subsecuente es fácil:

SUM(FILTER($B$2:B;$A$2:A=D2))

Ver ejemplo: Archivo que preparé con ejemplo

Jacob Jan Tuinstra
fuente
6

Use el Informe de tabla dinámica ... debajo del DataMenú.

Deberá asegurarse de que la primera fila tenga nombres de campo.

mhoran_psprep
fuente
Esto es realmente más fácil que las respuestas de la fórmula.
Dannid el
Sí, esta es la respuesta correcta. Olvídese de las fórmulas para una tarea de agrupación de este tipo.
giorgio79
1

Use la siguiente fórmula!

Encabezamiento: =UNIQUE(A:A)

Valor: =SUMIF(A:A,UNIQUE(A:A),B:B)

Kowser
fuente