Hay momentos donde las funciones de Excel no son suficientes para hacer realizar nuestras actividades diarias y parece algo tan sencillo que uno no entiende porque no está en el catálogo de fórmulas de Excel, pero si estan, y yo no me he dado cuenta, pido disculpas de una vez a Microsoft, pero si no 😠.
Lo bueno es que a Microsoft le gusta que nosotros hagamos su trabajo por eso nos deja la herramienta VBA donde podemos hacer casi todo lo que queramos. Para nuestro ejemplo vamos a hacer un ejemplo sencillo, pero que muestra el punto.
Queremos sumar solo el monto pagado, que este caso es todo lo que está en color verde y lo que está pendiente en color rojo. Trate de usar el SUMAR.SI pero por más que trate no encontré como hacerlo, por lo cual vamos a crear una formula usando VBA.
Estoy suponiendo que ya saben cómo abrir el VBA de Excel ¿verdad?, Aquí les dejo el código.
Function SUMARPORCOLOR(Color As Range, Rango As Range) Dim Total Dim Celda As Range For Each Celda In Rango If Celda.Interior.ColorIndex = Color.Interior.ColorIndex Then Total = Total + Celda.Value
Next Celda SUMARPORCOLOR = Total End |
Ya teniendo el código lo que tenemos que hacer es ir a Excel y escribir la formula.
Donde lo primero que vamos a ingresar es el color, entonces escogemos cualquier celda que tenga el color que queremos sumar, en este caso use D2, como se muestra en la imagen, luego seleccionamos el rango que queremos sumar, en este caso D2:D11 y como resultado ya tenemos la suma por color.
Espero que les pueda ayudar este truco.
Me marca error de sintaxis en el codigo
Porque si lo copias tal cual, tiene saltos de línea donde no corresponde.
Function SUMARPORCOLOR(Color As Range, Rango As Range)
Dim Total
Dim Celda As Range
For Each Celda In Rango
If Celda.Interior.ColorIndex = Color.Interior.ColorIndex Then
Total = Total + Celda.Value
End If
Next Celda
SUMARPORCOLOR = Total
End Function
gracias!
me resultó muy bien
Que bueno que te pude ayudar…