Sumar celdas en base a otras celdas.

Sumar celdas en base a otras celdas.

Tengo, por ejemplo, el siguiente archivo de Excel:

| USER ID | SCORE | TOTAL SCORE | TOTAL BONUS | NOTE  |
| ------- | ----- | ----------- | ----------- | ----- |
| 18      | 10    |             |             |       |
| 18      | 25    |             |             |       |
| 18      | 15    |             |             |       |
| 18      | 5     |             |             | bonus |
| 18      | 30    |             |             |       |
| 24      | 2     |             |             |       |
| 24      | 7     |             |             |       |
| 24      | 21    |             |             |       |
| 32      | 6     |             |             |       |
| 32      | 9     |             |             | bonus |
| 32      | 18    |             |             |       |
| 32      | 40    |             |             |       |

Para cada ID DE USUARIO, en la primera fila, debo tener la suma total de las puntuaciones, excluyendo los bonos (identificables por la columna NOTA), y por separado la suma de los bonos (si están presentes, de lo contrario será 0).

El resultado del ejemplo debería ser este:

| USER ID | SCORE | TOTAL SCORE | TOTAL BONUS | NOTE  |
| ------- | ----- | ----------- | ----------- | ----- |
| 18      | 10    | 80          | 5           |       |
| 18      | 25    |             |             |       |
| 18      | 15    |             |             |       |
| 18      | 5     |             |             | bonus |
| 18      | 30    |             |             |       |
| 24      | 2     | 30          | 0           |       |
| 24      | 7     |             |             |       |
| 24      | 21    |             |             |       |
| 32      | 6     | 64          | 9           |       |
| 32      | 9     |             |             | bonus |
| 32      | 18    |             |             |       |
| 32      | 40    |             |             |       |

¿Es factible automatizar la suma usando una función? ¿Quizás con SUMIF()?

Respuesta1

La tabla comienza enA1

Total Score:  C2: =IF(A2=A1,"",SUMIF($A$2:$A$13,A2,$B$2:$B$13)  -SUMIFS($B$2:$B$13,$A$2:$A$13,A2,$E$2:$E$13,"bonus"))

Total Bonus:  D2: =IF(A2=A1,"",SUMIFS($B$2:$B$13,$A$2:$A$13,A2,$E$2:$E$13,"bonus"))

y llenar.

ingrese la descripción de la imagen aquí

Respuesta2

Con algo de ayuda deEste artículo:

Necesitará crear algunas columnas adicionales. Primero calculé la puntuación total para la identificación del estudiante (incluida la bonificación), luego la bonificación total y, por último, resté la bonificación total de la puntuación total para obtener el resultado deseado.

resultados de excel

  • Calculamos la puntuación total y la bonificación total con la SUMPRODUCTfunción: SUMPRODUCT((A2:A13=A2)*B2:B13) La primera matriz son los ID de usuario, mediante los cuales se agrupan y suman los resultados. La segunda matriz es la puntuación del usuario.
  • Hacemos una fila en la que el bono total se calcula con una función SI:IF(F2="bonus",B2,0)
  • Calculamos el bono total, muy similar a la primera función: SUMPRODUCT((A2:A13=A2)*D2:D13)
  • Restamos la bonificación total de la puntuación total:C2-E2

Después de esto, lo único que queda es limpiar la mesa manualmente.

También existe la opción de formatear las celdas para que estén vacías si su valor es igual a 0 (puede aplicar eso a la columna "bonificación").

Respuesta3

Prueba esta fórmula:

PUNTAJE TOTALcolumna:

=IF(A2=A1,"",SUMPRODUCT(($A$2:$A$13=A2)*$B$2:$B$13))

ingrese la descripción de la imagen aquí

BONO TOTALcolumna:

=IF(A2=A1,"",SUMPRODUCT(N($A$2:$A$13=A2)))

ingrese la descripción de la imagen aquí

Respuesta4

ingrese la descripción de la imagen aquí

Cómo funciona:

  • Fórmula en la celda D2:

    =IF(A2=A1,"",SUMPRODUCT(($A$2:$A$13=A2)*($E$2:$E$13="bonus"),$B$2:$B$13))
    
  • Fórmula en la celda C2:

    =IFERROR(IF(A2=A1,"",SUMIF(A$2:A$13,A2,B$2:B$13))-D2,"")
    

Puede ajustar las referencias de celda en la fórmula según sea necesario.

información relacionada