Sumar.si con condicion mayor que y menor que

07/12/2005 - 19:43 por pasarin | Informe spam
Hola , tengo que utilizar el sumar.si en VB (SUMIF) y quisiera que me sumase
las celdas cuyo criterio perteneciese a cierto intervalo en lugar de
obligarme a restar dos "sumif", lo que hace el código muy poco legible.
¿cual sería la sintaxis en VB?¿y en la función sumar.si de excel es posible
condicionar a un intervalo?.
Por ejemplo:
ActiveCell.FormulaR1C1 = _
"=SUMIF('bcr2 SAA'!C,""=<1960000"",'bcr2 SAA'!C[2])-SUMIF('bcr2
SAA'!C,""<1900000"",'bcr2 SAA'!C[2])"

Gracias y saludos
 

Leer las respuestas

#1 KL
07/12/2005 - 20:22 | Informe spam
Hola pasarin,

Hasta donde se SUMIF (SUMAR.SI) no permite intervalos como criterio. Dentro de las alternativas que existen la mas eficiente creo
que es la que usas tu (la mas rapida en ejecucion). Tambien entre otras alternativas estan (por orden de rapidez):

=SUM(SUMIF(Rango1,{"<60000","<1900000"},Rango2)*{1,-1})
=SUMPRODUCT(--(Rango1<60000);--(Rango1<1900000);Rango2)
=SUMPRODUCT((Rango1<60000)*(Rango1<1900000)*Rango2)

me imagino que sabras convertirlas en la anotacion R1C1 usando tus rangos concretos (si no, usa la grabadora de macros).

Saludos,
KL




"pasarin" wrote in message news:OAUia41%
Hola , tengo que utilizar el sumar.si en VB (SUMIF) y quisiera que me sumase las celdas cuyo criterio perteneciese a cierto
intervalo en lugar de obligarme a restar dos "sumif", lo que hace el código muy poco legible. ¿cual sería la sintaxis en VB?¿y en
la función sumar.si de excel es posible condicionar a un intervalo?.
Por ejemplo:
ActiveCell.FormulaR1C1 = _
"=SUMIF('bcr2 SAA'!C,""=<1960000"",'bcr2 SAA'!C[2])-SUMIF('bcr2 SAA'!C,""<1900000"",'bcr2 SAA'!C[2])"

Gracias y saludos

Preguntas similares