Sumar con condiciones

24/09/2004 - 12:37 por Eduardo | Informe spam
Hola a todos
La pregunta es si con excel se puede realizar una suma de una columna,
obviando algunas celdas.
Es decir, si se pueden marcar algunas celdas y decirles que no sean tomadas
en cuenta en la suma. El caso es que tengo una tabla con muchos datos y en
medio tengo subtotales, y lo que quiero es que me realice la suma sin tener
en cuenta los subtotales.
Gracias de antemano

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
24/09/2004 - 13:08 | Informe spam
"Eduardo" escribió en el mensaje news:1cwulhcqd4lj6$.1clu04n110udg$
Hola a todos
La pregunta es si con excel se puede realizar una suma de una columna,
obviando algunas celdas.
Es decir, si se pueden marcar algunas celdas y decirles que no sean tomadas
en cuenta en la suma. El caso es que tengo una tabla con muchos datos y en
medio tengo subtotales, y lo que quiero es que me realice la suma sin tener
en cuenta los subtotales.
Gracias de antemano



Si estás usando la función SUMA para las sumas parciales, puedes sustituirla por la función SUBTOTALES, poniendo 9 como primer parámetro y el rango a sumar como segundo. Esto tiene la ventaja de que luego puedes volver a usar la misma función para totalizar la columna que tiene los subtotales y la propia función se encargará de no tener en cuenta las celdas con los subtotales.

Es complicado de explicar, así que tal vez lo mejor sea que mires la ayuda de la función.

En cuanto a la sustitución de SUMA por SUBTOTALES, incluso podrías hacerla mediante una simple búsqueda y reemplazo (menú edición), buscando "SUMA(" y sustituyendo con "SUBTOTALES(9;" --ambas sin las comillas--.
Un saludo.


Fernando Arroyo
MS MVP - Excel
Respuesta Responder a este mensaje
#2 Eduardo
24/09/2004 - 13:29 | Informe spam
On Fri, 24 Sep 2004 13:08:00 +0200, Fernando Arroyo wrote:

"Eduardo" escribió en el mensaje news:1cwulhcqd4lj6$.1clu04n110udg$
Hola a todos
La pregunta es si con excel se puede realizar una suma de una columna,
obviando algunas celdas.
Es decir, si se pueden marcar algunas celdas y decirles que no sean tomadas
en cuenta en la suma. El caso es que tengo una tabla con muchos datos y en
medio tengo subtotales, y lo que quiero es que me realice la suma sin tener
en cuenta los subtotales.
Gracias de antemano



Si estás usando la función SUMA para las sumas parciales, puedes sustituirla por la función SUBTOTALES, poniendo 9 como primer parámetro y el rango a sumar como segundo. Esto tiene la ventaja de que luego puedes volver a usar la misma función para totalizar la columna que tiene los subtotales y la propia función se encargará de no tener en cuenta las celdas con los subtotales.

Es complicado de explicar, así que tal vez lo mejor sea que mires la ayuda de la función.

En cuanto a la sustitución de SUMA por SUBTOTALES, incluso podrías hacerla mediante una simple búsqueda y reemplazo (menú edición), buscando "SUMA(" y sustituyendo con "SUBTOTALES(9;" --ambas sin las comillas--.
Un saludo.


Fernando Arroyo
MS MVP - Excel



OK, la funcion va muy bien y no la conocia, pero la idea es que me ignore
ciertas celdas, para no solo hacer subtotales, sino poner cualquier formula
que necesite, y que luego al sumar todas la columna, me ignore ciertas
celdas. En wordperfect, lo hace, marcando las celdas que yo quiera como
"ignorar". ¿se puede con excel?

Gracias por la dedicacion
Respuesta Responder a este mensaje
#3 Fernando Arroyo
27/09/2004 - 09:58 | Informe spam
"Eduardo" escribió en el mensaje news:1eyv9vjxchyq9.136qkyyve80fi$
On Fri, 24 Sep 2004 13:08:00 +0200, Fernando Arroyo wrote:
[...]
OK, la funcion va muy bien y no la conocia, pero la idea es que me ignore
ciertas celdas, para no solo hacer subtotales, sino poner cualquier formula
que necesite, y que luego al sumar todas la columna, me ignore ciertas
celdas. En wordperfect, lo hace, marcando las celdas que yo quiera como
"ignorar". ¿se puede con excel?

Gracias por la dedicacion



Que yo sepa, no. Lo único que se me ocurre es recurrir a una función personalizada:


Function MiSuma(ParamArray rngT() As Variant) As Double
Dim rngC As Variant
Dim n As Long
For n = LBound(rngT) To UBound(rngT)
For Each rngC In rngT(n).Cells
If Not rngC.HasFormula Then MiSuma = MiSuma + rngC
Next rngC
Next n
Set rngC = Nothing
End Function

La sintaxis es:

=MiSuma(rango 1;[rango 2];...[rango n])

Sólo como comentario: lo ideal para esta función sería poder usar el método SpecialCells con xlCellTypeConstants y xlNumbers como argumentos (con lo que el código se evitaría tener que recorrer todas las celdas), pero que yo sepa éste método no funciona en funciones personalizadas.
Un saludo.


Fernando Arroyo
MS MVP - Excel
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida