¿Es posible hacer lo siguiente en Excel?
Haga algo para el rango $A$1:A(B1) siendo B1 el valor en la celda B1. De modo que si arrastro la fórmula hacia abajo, la celda siguiente obtiene la fórmula realizada para el rango de $A$1:A(B2)
Respuesta1
Sí, escribe una fórmula como la siguiente:
=INDIRECT( "$A$1:A" & B1)
La parte "$A$1:A" siempre permanecerá igual, pero la referencia de celda fuera de esa cadena está "viva", por así decirlo, y cambiará a medida que la copie en la columna. Que parece lo que estás buscando.
La gente se centra INDIRECT()
mucho en las fórmulas que no se "romperán" si se insertan una fila o 4000 o una columna o 43 en algún lugar que arruinaría una fórmula DIRECTA, especialmente en el caso de que luego se eliminen algunas o todas. Pero tiene la otra característica principal de poder usar AMBAS cadenas Y células vivas para construir una referencia que luego interpreta.
También puedes hacerlos bastante complicados. Alguna cadena, unida a una celda viva, unida a alguna cadena más, unida a una fórmula que ni siquiera hace referencia a una celda viva en particular, pero genera algo, unida a alguna cadena más tal vez... y así sucesivamente. Si es una cadena que puede crear y que termina pareciéndose a una referencia de celda válida, INDIRECT()
puede usarla.
Incluso puede hacer referencia a un rango con nombre, aunque debe recordar no utilizar comillas dobles alrededor de él, aunque parezca que está agregando una cadena. Entonces INDIRECT(Cell_of_Interest)
y NO INDIRECT("Cell_of_Interest")
. Pero CREAR un rango con nombre en la cadena pasada INDIRECT()
puede ser complicado, así que... si tienes que pasarle un rango con nombre en lugar de escribirlo cuando escribes la fórmula, eso puede ser... irregular... en la práctica. .