Obtener suma de valores condicionado a dos criteri

Estoy tratando de automatizar una fórmula en excel que haga que me sume unas cantidades en una columna siempre que se cumplan dos criterios en otras columnas. Quiero que me sume las ventas de un listado de 11.000 clientes si pertenecen a un delegado (de los 10 que tenemos) y si las ventas de otro producto sdon mayor que cero en ellos. He utilizado lla herramienta de Asistente Suma Condicional pero me da error 1004. ¿Podéis ayudarme a crear una fórmula normal que me valga para las 10 delegados en todos los periodos de tiempo? Muchas gracias!
                      Delegado Ventas Producto 1 Ventas Producto 2
Cliente 1 Delegado 1 1.000 0
Cliente 2 Delegado 1 1.000 500
Cliente 3 Delegado 2 1.000 100
Querría sumar para el Delegado unoLa ventas del producto 1 si las ventas de Producto 2 son >0.
Mil gracias por las ayudas!

1 respuesta

Respuesta
1
Teniendo:
Delegados en Columna A
Ventas de producto 1 en columna B
Ventas de producto 2 en columna C
.
Análisis:
Sumar ventas del producto 1, sí las ventas del producto 2 es mayor a 0, y sí columna A pertenece a un grupo X; la fórmula para el grupo de "Delegado 1" sería:
.
=SUMAR.SI.CONJUNTO(B:B;A:A;"Delegado 1";C:C;">0")
.
(En: Office 2007)
Muchas gracias por la respuesta! No tengo Office 2007 por lo que esta fórmula no me funciona. ¿Conoces otra que lo supla?
Gracias!
Esther
Tendrías que definir una función personalizada. Para hacerla, presiona Alt+F11 y en el menú del lado izquierdo, agrega un módulo, allí pegas lo siguiente:
'
Public Function SumarSiConjunto( _
Rango_suma As Range, _
Rango_criterios1 As Range, _
Criterio1 As Variant, _
Rango_criterios_que_deben_ser_mayores_a_0 As Range) As Double
Dim asd As Double
Dim Celtemp As Variant
For Each celda In Rango_criterios1
    Celtemp = celda.Value
    If Celtemp = Criterio1 Then
        If Rango_criterios_que_deben_ser_mayores_a_0.Item(celda.Row, 1) > 0 Then
            asd = asd + Rango_suma.Item(celda.Row, 1)
        End If
    End If
Next
SumarSiConjunto = asd
End Function
'
Ya puedes cerrar el editor de visual.
La fórmula sería:
=PERSONAL.XLSB!SumarSiConjunto(B1:B5;A1:A5;"Delegado 1";C1:C5)
Mucho cuidado:
No usar rango abiertos, como A:A B:B, ej:
=PERSONAL.XLSB!SumarSiConjunto(B:B;A:A;"Delegado 1";C:C)
Debes usar rango exactos, A1:A12, B1:B12, C1:C12 etc.
Mil gracias!
Me da error en la fórmula, ¿sabes por qué puede ser? Se me queda en el primer tramo en la parte.
A mí me funciona perfectamente, debes estar haciendo algo mal.
Me falla justo cuando pongo el delegado. EL error me da en la fórmula al introducir el nombre del Delegado 1 que en mi caso sería "Alberto Roibas". ¿Me abre para buscar otro archivo en mi C./. Como puedo corregirlo?
Muchas gracias por todo el apoyo!
E.
Estuve revisando, inclusive en office 2003, y funciona perfecto, no sé cómo lo estás haciendo, pero la macro está bien. Sin embargo prueba cambiando en la macro las dos variables tipo Variant por String.
(Finaliza la pregunta.)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas