Pregunta sobre SUMAR. SI
Hola!
Tengo un problema que es el siguiente.
En una hoja Excel, por ejemplo la Hoja3, tengo la siguiente información:
Columna1 Columna2
252 47001
458 47001
879 47005
741 47009
002 47001
666 47005
777 47005
852 47009
Y así muchos más valores en ambas columnas.
Lo que quiero hacer es devolver en otra hoja Excel, por ejemplo la Hoja2, en una columna la suma de los valores de la Columna1 correspondientes a los valores de la Columna2, es decir,
sumar los valores correspondientes al 47001 y ponerlo en una casilla, sumar los valores asociados al 47005 y ponerlos en la casilla de debajo, sumar los valores asociados al 47009
y ponerlos en casilla de debajo tal que así:
712
2322
1593
Se me ha ocurrido utilizar la función SUMAR.SI
Primero he realizado una macro para ver el código generado por la función SUMAR.SI y luego a ese código le he añadió el bucle For Each para automatizar más la cosa y ahí empiezan mis problemas.
El aspecto que tiene esto es el siguiente:
For Each x In Worksheets("Sheet3").Range("B2:B9").Cells
Sheets("Hoja3").Select
ActiveCell.FormulaR1C1 = _
"=SUMIF(R[-3]C[-1]:R[4]C[-1],""=x"",R[-3]C[-2]:R[4]C[-2])"
Worksheets("Hoja2").Range("C2:C9").Select
Pero no me funciona, da error de fuera de rango. Tampoco se si estoy implementando bien el
bucle For Each ni la inclusión del valor por dentro del código de la macro.
Gracias por la ayuda prestada, David.
Tengo un problema que es el siguiente.
En una hoja Excel, por ejemplo la Hoja3, tengo la siguiente información:
Columna1 Columna2
252 47001
458 47001
879 47005
741 47009
002 47001
666 47005
777 47005
852 47009
Y así muchos más valores en ambas columnas.
Lo que quiero hacer es devolver en otra hoja Excel, por ejemplo la Hoja2, en una columna la suma de los valores de la Columna1 correspondientes a los valores de la Columna2, es decir,
sumar los valores correspondientes al 47001 y ponerlo en una casilla, sumar los valores asociados al 47005 y ponerlos en la casilla de debajo, sumar los valores asociados al 47009
y ponerlos en casilla de debajo tal que así:
712
2322
1593
Se me ha ocurrido utilizar la función SUMAR.SI
Primero he realizado una macro para ver el código generado por la función SUMAR.SI y luego a ese código le he añadió el bucle For Each para automatizar más la cosa y ahí empiezan mis problemas.
El aspecto que tiene esto es el siguiente:
For Each x In Worksheets("Sheet3").Range("B2:B9").Cells
Sheets("Hoja3").Select
ActiveCell.FormulaR1C1 = _
"=SUMIF(R[-3]C[-1]:R[4]C[-1],""=x"",R[-3]C[-2]:R[4]C[-2])"
Worksheets("Hoja2").Range("C2:C9").Select
Pero no me funciona, da error de fuera de rango. Tampoco se si estoy implementando bien el
bucle For Each ni la inclusión del valor por dentro del código de la macro.
Gracias por la ayuda prestada, David.
1 Respuesta
Respuesta de abj2005
1