47 votos

En Excel ¿cómo puedo suma de todos los números por encima de la celda actual?

Quiero tener una columna en Excel que consta de una cabecera, un montón de números y, a continuación, tiene la suma de los números en la parte inferior. Me gustaría que la suma de adaptarse a la inserción de nuevos números sobre el total. Algo como esto:

Numbers
 1
 2
 5
10

18        Total

Si más tarde me insertar 10 nuevos números en el medio de la lista, quiero que la suma de incluir automáticamente.

Sé el SUM() función se puede resumir toda una columna, pero si el total es también en esa columna, a continuación, se queja acerca de una referencia circular. ¿Cómo puedo simplemente sumar los números sobre el total?

77voto

Mark Meuer Puntos 368

Las funciones ROW() y COLUMN() le dará la actual celda de la fila y la columna. El uso de ellos en la ADDRESS() función para crear una cadena que representa el rango de la parte superior de la columna actual a la fila encima de la total. A continuación, utilice el INDIRECT() función para convertir la cadena en una verdadera gama de dar a la SUM() función. La fórmula para la celda del total sería:

=SUM(INDIRECT(ADDRESS(1,COLUMN())&":"&ADDRESS(ROW()-1,COLUMN())))

Puesto que en cualquier celda de una hoja de cálculo y se va a producir la suma de todos los números en la columna de arriba a la célula.

8voto

Doktoro Reichard Puntos 3355

De hecho, usted puede hacer lo que quiera con la llanura =SUM()

Suponiendo que la hoja de Excel se tiene el siguiente diseño:

\|  A  |  B  |
-+-----+-----+
1|  1  |     |
2|  2  |     |
3|  3  |     |
4|  4  |     |
5|  5  |     |
6|     |     |
7|  15 |Total|

Assumng A7 es =SUM(A1:A5), puede agregar más filas como usted por favor, como Excel ampliará el =SUM's rango en consecuencia.

Supongamos ahora que yo seleccione la fila 2, 3 y 4, y me insertar filas. El resultado será el siguiente:

 \|  A  |  B  |
--+-----+-----+
 1|  1  |     |
 2|     |     |
 3|     |     |
 4|     |     |
 5|  2  |     |
 6|  3  |     |
 7|  4  |     |
 8|  5  |     |
 9|     |     |
10|  15 |Total|

A10 es igual a =SUM(A1:A8). Como tal, usted ahora puede insertar nuevos números.

5voto

gobbledygook88 Puntos 175

ok, Indirecta() es volátil... así como su hoja crece, sólo se pondrá más lento. Si se suites, es mejor que utilice:

=Sum($A1:A1)

cuando se arrastra esta fórmula hacia abajo, usted siempre tendrá un rango de A1 hasta la actual (o anterior etc) de la célula. No Volátil, muy rápido, mucho más simple!

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X