Sumar, pero con condicionantes

Quiero que me disculpen si he sido reiterativo con una consulta que tenia por allí, pero eso fue por nuevo, no volverá a pasar, discúlpenme, Ahora tengo otra consulta. Si tengo varias columnas pero de dos tipos, por ejemplo POR = ingresos, Y=bonos, como se puede ver en la primeras 6 columnas, en donde las columna POR puede ser negativa o positiva e iguales condiciones para las columnas Y, como puedo hacer para sumar en las ultimas dos columnas las Xs positivas de un lado y las Xs negativas del otro lado
X Y X Y X Y X
-+ +- -+ +- +- +- - +
En otras palabras como puedo hacer para sumar solo las positivas de un lado y las negativas del otro, pero que me las diferencie por el tipo de columna (Pero Y), es decir que quiero todas las positivas de un lado y las negativas del otro, pero con respecto al titulo de la columna X.
¿Me pueden ayudar?, muchas gracias de antemano

1 Respuesta

Respuesta
1
1.- No tienes que pedir disculpas
2.- Te recomiendo no dirigirte en plural, pues mientras preguntas, solo yo puedo verla y solo yo puedo contestarte
3.- Si solo tienes 6 columnas, lo más sencillo es usar la función SI
=SI(A2>0,A2,0)+SI(C2>0,C2,0)+SI(E2>0,E2,0)
Esta fórmula te sumara las celdas positivas de las columnas A, C y E, con encabezado POR, para las negativas solo tienes que invertir el signo de la condición
=SI(A2<0,A2,0)+SI(C2<0,C2,0)+SI(E2<0,E2,0)
Tu tarea es implementarlo para las Y que es igual o sea muy fácil...
¿Pero en caso de que sean más de 10 columnas?, es que el ejercicio lo tengo para 30 columnas en igual condiciones, es que tengo 2 fuentes, en las cuales pueden tomar valores positivos o negativos, pero al ninal hay que considerar solo los positivos de un lado y los negativos del otro pero diferenciados por su fuente, tu respuesta me serve pero es un poco larga, ¿no habrá otra manera? ¿Más corta? De hecho tu respuesta me parece excelente
Tienes razón, seria algo largo, aunque es una solución simple, con las cientos de funciones que tiene Excel, "tal vez" sea posible hacerlo de otra manera, intente con algunas funciones de referencia y bases de datos, pero no logre encontrarlo, aunque te soy sincero no busque mucho por falta de tiempo y por que se me facilita más hacer mi propia función...
Option Explicit
Public Function SumarEspecial(ByVal Datos As Range, _
ByVal Encabezado As String, _
ByVal Positivo As Boolean)
Dim c As Range
Dim Suma As Double
For Each c In Datos
If Trim(c.End(xlUp).Value) = Encabezado Then
If Positivo Then
If c.Value > 0 Then
Suma = Suma + c.Value
End If
Else
If c.Value < 0 Then
Suma = Suma + c.Value
End If
End If
End If
Next c
SumarEspecial = Suma
End Function
Solo le das el rango que quieras sumar, en este caso por filas, le dices que encabezado quieres y si quieres sumar los + o -, por ejemplo...
=SumarEspecial($A2:$AD2,"X",VERDADERO)
Si quieres el libro donde hice las pruebas, solicitalo a mi correo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas