Quiero que en una determinada celda me sume el contenido de otras, según el valor que introduzca

Tras leer algunas de tus respuestas, acabo de registrarme, a ver si pudieras echarme un cable a lo que quiero hacer y no lo consigo.
Quiero que en una determinada celda me sume el contenido de otras, según el valor que introduzca en otra celda.
Por ejemplo, si en la celda A1 el valor es 3, que me sume el rango b7:e7. Si el valor de A1 es otro, que me sume otro rango de celdas.
Anticipandamente te agradezco tu ayuda.
Un saludo.
Pantxote

1 respuesta

Respuesta
1
Bienvenido, entonces, al foro...
Tu pregunta admite dos respuestas:
La más simple es usar un condicional, de la siguiente manera:
=SI(A1=3,SUMA(B7:E7),SUMA(T12:Z12))
Donde, si A1 es 3, suma el rango B7:E7, sino suma otro rango dado.
[Considera si sueles usar comas o punto y coma para separar argumentos de las funciones. Yo usé ","]
---
La segunda, un poco más compleja, es que según la condición "lea" el rango a sumar de una celda donde está indicado.
Por ejemplo:
=SI(A1=3,SUMA(INDIRECTO(G1)),SI(A1=2,SUMA(INDIRECTO(G2)),SUMA(INDIRECTO(G3))))
Aquí hay tres rangos posibles de suma que están escritos en las celdas G1, G2 y G3
La función INDIRECTO indica que en lugar de la celda tome su contenido como una dirección o rango válido.
Esto debería resolver tu pregunta. Si así fuera, agradeceré un comentario y que la finalices.
Si no, pregúntame de nuevo.
Un abrazo!
Fernando
"Me lo explicaron y lo olvidé,
lo leí y lo entendí,
lo hice y lo aprendí".
(Considera que la valoración que figura predeterminada
es 3/5. Tal vez quieras cambiarla...)
En caso contrario, puedes preguntarme nuevamente
aclarando qué entendí mal o qué faltó.
Hola,
He estado probando tus sugerencias a mi problema.
La primera de ellas, con ligeras modificaciones, como ves, me la acepta, pero solo hasta 8 sumas, si intento la 9ª me da error, y necesito hasta 12.
La otra, que usa INDIRECTO, no me la acepta, me da error.
Te aclararé: Tengo una columna para poner acumulados de las 12 columnas siguientes (una por mes) y deseo que en las celdas de esa columna me acumule desde un mes hasta los doce, según el valor de una celda sea de 1 hasta 12.
Lo tengo resuelto como te pongo, pero solo me admite hasta 8 supuestos.
=SI(B1=2;SUMA(C5:D5);SI(B1=3;SUMA(C5:E5);SI(B1=4;SUMA(C5:F5);SI(B1=5;SUMA(C5:G5);SI(B1=6;SUMA(C5:H5);SI(B1=7;SUMA(C5:I5);SI(B1=8;SUMA(C5:J5);(C5))))))))
Necesito que me admita SI(b1=9), etc, hasta 12.
Uso el Excel 2000.
De 8 no pasa.
Gracias de nuevo por tu ayuda.
Ok, entendí.
Pero esta pregunta no es como la primera donde simplemente planteas solo dos alternativas...
Efectivamente, MS Excel no permite anidar más de siete condicionales.
Sin embargo el tuyo es un problema habitual que suelo resolver valiéndome de la función INDIRECTO con la función DIRECCIÓN.
Donde quieras hacer el acumulado según los meses indicados en la celda coloca esta fórmula:
=SUMA(INDIRECTO("C5:"&DIRECCION(FILA($C5);COLUMNA($C5)+$B$1-1)))
La función DIRECCIÓN devuelve la referencia de la celda indicada por el numero de fila y el número de columna. A medida que aumente el número de meses la columna "hasta" irá desplazándose hacia la derecha. La columna "desde" es siempre la misma ("C").
Supongamos que B1 fuese = 9
La fórmula hará (paso a paso):
=SUMA(INDIRECTO("C5:"&DIRECCION(5;3+9-1)))
=SUMA(INDIRECTO("C5:"&"$K$5")))
=SUMA(INDIRECTO("C5:$K$5"))
=SUMA(C5:K5)
que es, exactamente lo que solicitabas. Si B1 = 1 (primer mes) la fórmula quedaría: =SUMA(C5:C5)
Espero que ahora haya resuelto tu duda.
Un abrazo!
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas