Sumar por colores en Excel

Ya que las celdas de Excel pueden tener un color de relleno, es posible que en alguna ocasión te veas en la necesidad de sumar el contenido de celdas de acuerdo a su color. Existen dos opciones para realizar este tipo de suma.

Ordenar por color y sumar

Desde la versión de Excel 2007 es posible ordenar las celdas de una columna por color. El primer paso es  agregar un filtro a la tabla que contiene los datos y posteriormente seleccionar la opción Ordenar por color para elegir el color deseado.

Sumar por colores en Excel

Los datos de la tabla se organizarán de manera que las celdas que tienen el color seleccionado quedarán como las primeras filas.

Sumar por colores en Excel 2010

De esta manera podría utilizar la función SUMA y su argumento sería el rango de celdas del color azul.

=SUMA(B2:B4)

Aunque este procedimiento resuelve mi problema de sumar por colores en Excel, podría crear una macro que me ayude a sumar rápidamente por colores sin la necesidad de agregar un filtro a la tabla ni de ordenarla por el color deseado.

Sumar por colores con VBA

Para lograr esta suma utilizando VBA debemos crear un nuevo módulo y una función como la siguiente:

Sumar en Excel según el color de la celda

Podemos utilizar esta función en la hoja de Excel de la siguiente manera:

Sumar celdas por color en Excel

Observa cómo el primer argumento de la función indica la celda que contiene el color que deseo sumar, que en este caso es el color azul de la celda B4, y el segundo argumento indica el rango que deseo considerar en la evaluación.

Para sumar un color diferente será suficiente con cambiar el primer argumento de la función indicando la celda que contiene el nuevo color. A continuación hago la suma de las celdas con el color verde:

Cómo sumar celdas del mismo color en Excel

Es muy importante mencionar que este método funciona solamente cuando hemos aplicado un color a la celda utilizando el comando “Color de relleno”. Un color aplicado a una celda por el formato condicional no es almacenado en la propiedad ColorIndex y por lo tanto nuestra función VBA no detectará esos colores. Descarga el archivo de trabajo que contiene el código recién creado y comienza a hacer pruebas en tu propio equipo.

15 comentarios en “Sumar por colores en Excel

  1. Armando Mercado

    Hola, buenas noches tu página es muy buena y me ayudado mucho mi pregunta es la siguiente ¿Se pueden sumar varios colores de una misma columna lo pregunto porque yo tengo que colorear diferentes celdas pero algunas quedan en blanco, entonces no sé si se puedan seleccionar todos los colores que ocupo a la vez para que los sume ejemplo: yo coloreo con azul, amarillo, verde, rojo y además sin colorear que en este caso no me sirven? Espero haber sido claro y que me puedas ayudar de ante mano Muchas Gracias!

    1. Moisés Ortíz Autor

      Hola Armando, deberás utilizar una función para cada color y sumar el resultado de cada una:
      =SumarColor(B2,B2:B11) + SumarColor(B3,B2:B11)

  2. Jose

    Moises, como se reinicia la funcion si todos los dias agrego colores?

    1. Moisés Ortíz Autor

      Hola Jose, no me queda clara tu pregunta. La función no almacena colores por lo que no es necesario “reiniciarla”. Lo que hace el código VBA es comparar un rango de celdas con el color indicado en el primer argumento de la función y aquellas que coinciden se suman.

  3. Andrea

    Hola, Si mi software de excel se encuentra en ingles ¿cual seria la formula?, no la encuentro. Saludos

    1. Moisés Ortíz Autor

      Hola Andrea, No existe equivalencia porque no es una función de Excel sino una función que yo mismo cree (UDF).
      Para poder utilizarla debes implementar el código mostrado en el artículo dentro de tu propio código VBA.

  4. David

    Hola, muy bueno el post. Me gustaría poder contar y/o sumar por colores, pero el color al que deseo aplicar la formula proviene de la aplicación del Formato Condicional de Excel, que cambios o formula podría crear. Gracias

    1. Moisés Ortíz Autor

      Hola David, el formato condicional utiliza un rango de colores más amplio que el que se puede almacenar en la propiedad ColorIndex, pero aún así es posible sumar por colores si utilizamos la propiedad Color. Tengo un artículo que detalla ese método:
      https://exceltotal.com/operaciones-con-colores-en-excel/

  5. Juan Jose

    Necesito un VBA para contar el total de celdas con color amarrillo. Ese color Amarrillo es asignado por un formato condicional. Cuando el color no es asignado por formato condicional no tengo problema en contar las celdas. He leido, https://exceltotal.com/operaciones-con-colores-en-excel/. Pero eso no resuelve el problema cuando los colores son asignados por formato condicional.

    1. Moisés Ortíz Autor

      Hola Juan Jose, cuando los colores son asignados por formato condicional se almacenan en una propiedad diferente a la expuesta en este artículo. Esos colores son almacenados en la propiedad Interior.Color de la regla de formato correspondiente. Para acceder dicho valor puedes utilizar la siguiente instrucción:
      miHoja.Cells(1,1).FormatConditions(1).Interior.Color

  6. Rosa

    Hola, he intentado utilizar la formula de sumar celdas del mismo color,=SUMARCOLOR(H319; H323:H363)y no lo consigo. Estoy utilizando el excel2100 ( Modo de compatibilidad). Al hacer la formula me da el error #NOM? He buscado la formula y en mi Excel no la encuentro. Muchas Gracias. Rosa

    1. Moisés Ortíz Autor

      Hola Rosa, la función SUMARCOLOR mostrada en este artículo no es una función de Excel por lo que no la encontrarás por ningún lado. Esta es una función que yo desarrollé y para utilizarla necesitas descargar el archivo de trabajo y copiar el código VBA a tu propio libro de Excel.

  7. Alfredo Mira

    Buenos días Moisés. Me gustaría saber como sumar celdas de excel(2010) según el color del texto, no del relleno. Gracias

  8. Irma

    Exelente aportacion mil gracias