Hojas de cálculo de Google tiene una función en la que si tiene una referencia a una celda de datos en una fórmula, y corta los datos de esa celda y los pega en una nueva ubicación, la referencia en la fórmula se actualiza para apuntar a la nueva ubicación de la celda.
Me gustaría poder cortar y pegar mis datos sin cambiar mis fórmulas.
He hecho algunas cosas horribles en el pasado relacionadas con la INDIRECT()
función para evitar esta característica, pero parece que tiene que haber una manera más fácil. ¿Alguna sugerencia?
google-sheets
grahamparks
fuente
fuente
Respuestas:
La
=$A$1
notación también se puede mover automáticamente si se cambia el valor en (digamos)A1
.La única solución segura es incluir todas sus referencias
INDIRECT
, por ejemplo,=INDIRECT("$A$1")
o incluso solo=INDIRECT("A1")
.La dificultad con cualquiera de estas soluciones es donde tienes muchas de la misma fórmula, por ej.
Normalmente, debe completar el primero
=A1
y luego copiar y pegar (o arrastrar hacia abajo usando el relleno automático) para completar la fórmula consecutiva automáticamente. Sin embargo, si la primera fórmula es=$A$1
o=INDIRECT("A1")
entonces este truco no funcionará (de hecho, esto es para qué$
sirve, para evitar que se cambie automáticamente).Si tiene muchas fórmulas consecutivas, una solución es:
=A1
y autocompletar)=A1
,=A2
...=A99
en el=INDIRECT("A1")
etc. Tenga en cuenta que tiene la opción de usar expresiones regulares al hacer una búsqueda y reemplazo.fuente
Desde el foro de Google Docs :
Seleccione el rango de celdas. Luego use Ctrl+ C(copiar; esto debería poner las celdas y sus fórmulas en el búfer de pasta).
Ahora arrastre (desplace el cursor sobre el borde de la selección hasta que el cursor del mouse se convierta en una mano; ahora puede arrastrar) las celdas seleccionadas a la nueva posición.
Vuelva a la posición original superior izquierda de las celdas copiadas y use Ctrl+ V(pegar).
Ahora debe tener dos conjuntos de fórmulas que hagan referencia a las mismas celdas.
fuente
Encontré esto buscando un problema similar y terminé encontrando una solución para Excel que parece funcionar perfectamente en las hojas de cálculo de Google.
Para las referencias de celda que no desea cambiar en pegar, simplemente agregue
$
antes de cada parte.Entonces
G12
se convertiría$G$12
Una celda de una hoja de cálculo que estoy usando que hace lo que necesito, se parece a esto:
fuente
$
mientras que las celdas absolutas son predeterminadas.$G$1&Sheet1!B3&Sheet1!A3&$G$2
, lo hacemosG1&Sheet1!$B$3&Sheet1!$A$3&G2
.En las hojas de cálculo de Google, para cortar y pegar celdas sin cambiar automáticamente sus fórmulas, usa Ctrl+ Xpara cortar (o Ctrl+ Cpara copiar) y Ctrl+ Shift+ Vpara pegar.
El Shiftle dice a Google Sheets que deje sus fórmulas en paz.
fuente
ctrl
+shift
+v
, siempre copia los valores, incluso si hizoctrl
+x
en las celdas de origen.Evite esto de la misma manera que en Excel:
COPIE y pegue los datos, y luego regrese y elimínelos del lugar original.
fuente
Cortar (en lugar de Copiar) parece funcionar para mí, probablemente por la misma razón que funciona arrastrar celdas seleccionadas, es decir, es la misma operación. Esta es también la única forma en que sé pegar en otra página sin cambiar la fórmula.
Si está intentando hacer una Copia en lugar de un Movimiento, use el método de arrastre (copie antes de arrastrar) o cópielo primero en otro lugar de la página.
fuente
Para mover un rango de celdas a una nueva ubicación en Hojas de cálculo de Google:
1. Seleccione el rango de celdas que desea mover
2. Mueva el mouse a cualquier borde de la selección hasta que el cursor se convierta en una mano
3. Arrastre las celdas a la nueva ubicación
Esto hace lo que debería, los mueve , por lo que toda la información de la celda permanecerá exactamente como estaba en su ubicación original.
PD. Google también ha instruido esto aquí, pero no dice que puede arrastrar desde cualquier borde, solo el superior, ¡y es por eso que mi instrucción es mejor! :) También es bueno tener en cuenta que las celdas que seleccione deben ser adyacentes para que esto funcione.
fuente
Haga una copia de texto de la fórmula en lugar de una copia de celda: use el mouse para seleccionar el texto de la fórmula y presione CTRL + C. Luego seleccione el campo de destino y presione CTRL + V. Esto preserva la fórmula
fuente
La manera más fácil es seleccionar todas las celdas que desea mover y arrastrar / soltar a donde desee. Si tiene fórmulas en otras celdas que hacían referencia a la ubicación original de las celdas que movió, las fórmulas de referencia se actualizarán automáticamente a la nueva ubicación de las celdas que movió. ¡Espero que esto ayude! (Suponiendo que esto funcione en Excel, pero solo lo hice en Hojas de cálculo de Google).
fuente
fuente
Simplemente encuentro y reemplazo todas las instancias de '=' con '' (o la mayor cantidad de fórmulas que estoy tratando de copiar como puedo) para convertir todas las fórmulas en texto sin formato. Copio y pego las celdas, luego agrego el '=' de nuevo.
Nota: esto probablemente no funcionará para hojas grandes, ya que puede tener consecuencias no deseadas al editar otras celdas, pero generalmente funciona para mis propósitos.
fuente
Aquí hay otra opción:
Si bien esto parece un procedimiento largo, en la práctica son solo algunas pulsaciones de teclas. Además, el paso 4 es obligatorio en mi configuración; sin él, Sheets seguirá actualizando las ubicaciones de las celdas como si fuera una copia y pegue directo. YMMV.
fuente
El uso
INDIRECT()
funciona muy bien para preservar la posición absoluta de las referencias después de que los objetivos se hayan copiado y pegado, pero el problema es que también conserva la posición absoluta cuando se copia la fórmula , lo que significa que no puede extender fácilmente una fórmula para cubrir una gran rango al usarlo.La solución es combinar
INDIRECT()
conROW()
,COLUMN()
yADDRESS()
generar mediante programación la posición de la celda objetivo basada en la celda de la fórmula.En el caso más simple, como cuando la celda objetivo tiene una columna fija y siempre permanece en la misma fila que la fórmula, esto se puede hacer de la siguiente manera:
INDIRECT("A"&ROW())
Para introducir desplazamientos dinámicos desde la celda de fórmula, puede usar
ADDRESS()
:INDIRECT(ADDRESS(ROW()-1,COL()-4))
En la siguiente captura de pantalla, las fórmulas en el
B1:E1
se extendieron a las 16 filas debajo, y luego la secuencia numéricaA7:A10
se cortó y pegó 6 celdas hacia abajo. Como puede ver, las fórmulas más simples se ajustaban y desincronizaban automáticamente, mientras que el uso ingenuo deINDIRECT()
no extrapolaba correctamente en todas las filas, pero las dos fórmulas que se usanINDIRECT()
junto con la recuperación programática de ubicaciones de filas y columnas pudieron mantener sus referencias:fuente
Puede presionar F4para recorrer las distintas opciones de referencia absoluta cuando el cursor está en la celda o rango. Esto funciona en Mac y Windows.
fuente