Hola grupo, lo que intento casi ya desesperado, sin que resulte es:
Dada una condición en el rango O6:O30 se cuentan las veces que se repite el
Nº de cliente (col3: rango C6:C30) y
- si no se repite: se toma el valor de la columna importe (col 10: J6:J30
que como esta en un bucle es cells(i+5,10))
- si se repite (este es el problema) quiero sume los importes (col 10: rango
J6:J30) en que el Nº cliente sea el mismo (col 3:Nº Cliente, y la cuenta en
O6:O30) poniendo solo el valor cuando la cuenta sea 1 y no en las restantes
del mismo cliente donde en la cuenta se pone 0
Este es el código que peta en el evaluate:
If Cells(i + 5, 15) = 1 Then
ActiveCell.Value = Cells(i + 5, 10)
ElseIf Cells(i + 5, 15) > 1 Then
ActiveCell.Value =
Evaluate("=SumProduct((C6:C30Æ)*(O6:O30>1)*(Cells(i+5,15)<>0)*J6:J30")
Else
ActiveCell.Value = 0
End If
Un ejemplo gráfico:
Nº cliente importe cuenta total cliente
1 1000 1 1000
2 100 2
600 -> Que aquí marque el total de ese cliente que se
repite 2 veces
2 500 0
0 -> Se repite el cliente, al ser la 2ª o más vez
aparece 0
3 350 1 350
La cuenta sale sin problemas, pero el total cliente no lo consigo pese a
haber investigado en el grupo, ver respuestas (para variar Fernando Arroyo
del 6 sep 2003; aunque hay más monstruos por ahí, de mayor quiero ser como
tú... de momento solo tengo 40 ;-)) ...
Gracias anticipadas a todas -os
Leer las respuestas