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

Preguntas similare

Leer las respuestas

#6 KL
09/12/2005 - 22:47 | Informe spam
Hola pasarin,

En este caso creo que seria mas recomendable volver a la version que tenias antes (la de dos SUMIF):

=SUMIF(Rango1=<A1*100000+60000,Rango2)-SUMIF(Rango1<A1*100000,Rango2)

o quizas modificar la formula que usa matrices fijas de esta manera:

=SUM(SUMIF(Rango1,{"<=","<"}&A1*100000+{0,60000},Rango2)*{1,-1})

o ir a la opcion de SUMPRODUCT:

=SUMPRODUCT(--(Rango1<¡*100000+60000);--(Rango1>¡*100000);Rango2)
=SUMPRODUCT((Rango1<¡*100000+60000)*(Rango1>¡*100000)*Rango2)

Saludos,
KL


"pasarin" wrote in message news:eSIRemO$
Gracias a todos, me ha ido bien con la primera opcion, pero ahora intento dar con la sintaxis que tendria para que no fuese entre
dos constantes sino entre el valor de una celda referenciada con formato RC y no acabo de dar con el tema , ?me podriais escribir
como seria la sintaxis si en vez querer sumar entre 1900000 y 1960000 fuese entre RC[-1]*100000 y (RC[-1]*10000+60000)?

Gracias y saludos

"KL" escribio en el mensaje news:ucN07$$%
HM,

Si tenias razon con tu segundo comentario - acabo de darme cuenta de que te referias a las formulas que usaban SUMPRODUCT.

Saludos,
KL


"KL" wrote in message news:%23JCSXj$%
Hola HM,

Gracias por la primera observacion - no me di cuenta de que eran columnas enteras. Respecto a la segunda - creo que es el primer
signo que debe cambiarse tal como lo hice yo: de =< a <=. Respecto a tu propuesta creo que para encontrar un intervalo ambos
signos deben ser mayor o menor, pero no diferentes.

Saludos,
KL


"Héctor Miguel" wrote in message news:%23gxmDK7%
hola, chicos !

solo dos 'observaciones' con relacion a las propuestas de usar la funcion 'sumproduct'...
-> 1) NO se 'admiten' columnas completas [como 'parece' ser la necesidad de pasarin] ;)
-> 2) [me parece que]... el segundo 'operador de comparacion' [segundo argumento]... necesita cambiarse...
de: '<'
a: '>='

saludos,
hector.
>>>>> KL escribio en el mensaje ...
... 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)



pasarin escribio en el mensaje ...
... 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 seria 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])"
















email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida