19 de enero de 2009

Sumar por colores

Un usaurio me pregunta si es posible sumar los valores de celdas que tengan determinado color.
En Excel 2007 sí es posible, pero el usuario tiene la versión 2003.

En Excel 2003 la única forma es a través de una función personalizada, como la siguiente:

Function SUMARCOLOR(RangoColor As Range, CeldaColor As Range) As Long

Dim rngCelda As Range

'revisamos cada celda del rango
For Each
rngCelda In RangoColor

'si los colores coinciden, sumar el valor de la celda al resultado previo
If
rngCelda.Interior.ColorIndex = CeldaColor.Interior.ColorIndex Then
SUMARCOLOR = SUMARCOLOR + rngCelda.Value
End If

Next

End Function

Como vemos, no es un código muy complejo que digamos. Simplemete comparamos cada celda del rango contra el color del segundo argumento y, si coinciden, lo vamos sumando al resultado de la función.

Para utilizarla, utilizamos el asistente para funciones, buscamos la función en la categoría Definidas por el usuario, y especificamos los argumentos, quedando una fórmula similar a:

=SUMARCOLOR(A2:I20, K2)

Aunque por otra parte, lo mejor hubiera sido establecer alguna condición para los colores, y después sumar los valores usando esta condición, así como utilizar esta misma condición en un formato condicional para obtener el color en las celdas. Hacerlo hubiera llevado menos tiempo que el estar coloreando cada una de las celdas.

12 comentarios:

  1. muy buena retroalimentación Leonel, gracias por tu apoyo el ususario que se vio beneficiado por esto fui yo.
    Antonio.

    ResponderBorrar
  2. Efectivamente, no la puedo hacer funcionar. Podrías subir un ejemplo?!

    ResponderBorrar
    Respuestas
    1. Hola. Debes pegar el código en Visual Basic en un módulo, y muy importante que las macros estén habilitadas. Saludos

      Borrar
  3. Excelente tu aporte para aprender mas... me sirvio de mucho... gracias

    ResponderBorrar
  4. gracias, si me funciono.

    ResponderBorrar
  5. Como se abilitan los marcos?

    ResponderBorrar
  6. para que les funciones la formula, deben poner primero el color a buscar y después el rango donde se sumara: =sumarcolor(a1, a1:a30) en el ejemplo sale al contrario por eso no me funcionaba también xD

    ResponderBorrar
  7. para que les funciones la formula, deben poner primero el color a buscar y después el rango donde se sumara: =sumarcolor(a1, a1:a30) en el ejemplo sale al contrario por eso no me funcionaba también xD

    ResponderBorrar
  8. yo tengo excel 2010 tambien funciona la formula???

    ResponderBorrar
  9. yo tengo excel 2010 tambien funciona la formula???

    ResponderBorrar
  10. The global Aerosol Cans Market size is projected at USD 10.2 billion in 2021 and is projected to reach USD 12.2 billion by 2026, at a CAGR of 3.7%, between 2021 and 2026. The aerosol cans market is witnessing growing demand from end-use industries such as personal care, household care, automotive, healthcare, and others. Initially, aerosol cans manufacturing was halted due to the sudden lockdown of the countries and shutdown of manufacturing facilities and their operations. Most of the aerosol can products fall under the non-essential category except healthcare; thus, companies were forced to stop aerosol cans production. Companies started the production of sanitizer bottles, facemasks, and other essential products to curb the losses due to the pandemic.

    ResponderBorrar

Sin Captcha. Sin verificación de imagenes.

Quiénes leen regularmente este blog

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Excel, Excel 2003, Excel 2007, Excel 2010, Excel 2016, Excel Online y el logo XL son marcas registradas de Microsoft Corporation.
Powered By Blogger