He creado un documento en el programa Microsoft Excel y quiero mejorar la interacción entre celdas.

Hola Fernado.
En la celda A1 tengo esta fórmula:
=Control!C$1
Necesito que al copiar la fórmula a las celdad de abajo me queden de la siguiente forma, en A2 =Control! D$1
en A3 =Control!E$1 y así sucesivamente, es decir, la fila se maniene constante, las columnas no, por cada celda que se baje, se avanzará una columna. ¿Cómo se hace?
Gracias

1 respuesta

Respuesta
1
Desde luego que el uso del signo $ en este caso no colaborará para resolver tu planteo.
Sin embargo, hay un par de alternativas, para hacerlo, apelando a otras funciones de MS Excel.
a.- Fórmula matricial TRANSPONER
Conceptualmente, lo que solicitas es una transposicón de datos. Esto es que lo que está orientado como filas se muestre como columnas.
De hecho existe un comando de Pegado especial... que efectúa esto pero deja valores en la celda de destino y no una referencia a las celdas de origen.
Pero existe una función que SI lo hace.
Se trata de una función matricial (array fórmula)y por tanto se rige por un par de normas diferentes a la de las fórmulas comunes:
1.- En la hoja de destino debes seleccionar un rango de tantas celdas verticales como celdas horizontales quieras transponer de la hoja "Control". (Ni una más ni una menos). Luego tipea la siguiente fórmula:
=TRANSPONER(Control!C1:G1)
(En este caso es un rango de cinco celdas horizontales, por lo tanto deberías haber seleccionado cinco celdas verticales en la hoja de destino antes de escribir la fórmula)
2.- Una vez que escribiste esta fórmula, presiona Ctrl+Shift+Enter (no basta sólo Enter) para ingresarlas en el rango de celdas seleccionadas.
Esta fórmula matricial traerá en ese orden lo que haya en el rango horizontal de la hoja "Control"
Como ves, este método tiene algún grado de rigidez. Pero existe otro:
b.- Referencia desviada (función DESREF)
Esta es una fórmula que partiendo de una celda determinada, leerá el contenido de aquella celda que se encuentre POR celdas a la derecha e Y celdas hacia abajo.
En el caso de tu ejemplo, tomando como referencia la celda C1 de la hoja de control, la fila POR será 0 (cero) y la columna a considerar estará dada por la fila donde se copie la fórmula. Ella es:
=DESREF(Control!$C$1;0;FILA()-FILA($A$1))
Como siempre considera si usas comas o punto comas para separar argumentos.
La función FILA() sin argumento da el número de la fila donde se coloque tal fórmula, mientras que usando la primer fila desde donde se empieza esta transposición (A1 en tu caso) obtendrás -por diferencia- un avance de una unidad por cada fila hacia abajo.
Queda en vos, elegir cuál método te conviene más.
Un abrazo!
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas