Web Applications Stack Exchange is a question and answer site for power users of web applications. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Google Docs has a feature where if you have a reference to a data cell in a formula, and you cut the data from that cell and paste it in a new location, the reference in the formula is updated to point to the new cell location.

I'd like to be able to cut and paste my data without my formulas changing.

I've done some hideous things in the past involving the INDIRECT() function to work round this feature, but it seems like there's got to be an easier way. Any suggestions?

share|improve this question
funny...I never thought of this feature as a bug. It has worked this was in Excel for decades. – mhoran_psprep Jan 9 '12 at 11:02
Did you find the time to check up on the answers given? Perhaps you can mark one of them as the best answer. – Jacob Jan Tuinstra Mar 10 '13 at 19:06

Came across this looking for a similar problem and ended up finding a solution for Excel which seems to work perfectly in the Google Spreadsheets.

For the cell references you don't want to change on paste simply add $ before each part.

So G12 would become $G$12

A cell from a spreadsheet I am using that does what I need, looks something like this:

share|improve this answer
This didn't work for me. See my alternative below webapps.stackexchange.com/questions/22558/… – Motti Strom Oct 15 '13 at 23:38
@Leonard, Wow the syntax is horrible. It's much more intuitive if it's the other way round, i.e. relative cells use $ while absolute cells are default. – Pacerier Dec 20 '14 at 7:58
@Pacerier I agree with you completely, though it works, it is horrible and hard to read. I don't use spreadsheets often enough to understand what you're suggesting though. Could you elaborate? – Leonard Dec 20 '14 at 14:40
@Leonard, I meant the default behavior is different, so instead of $G$1&Sheet1!B3&Sheet1!A3&$G$2, we do G1&Sheet1!$B$3&Sheet1!$A$3&G2. – Pacerier Dec 20 '14 at 15:15
@Pacerier For absolute references the terms "fixing", "locking" and "anchoring" are often applied. The last I find suitable because I see a passing resemblance between $ and some symbols for an anchor. Thinking along those lines might help with 'intuition'. – pnuts Dec 20 '14 at 17:27

From the Google Docs forum:

Select the range of cells. Then use Ctrl+C (copy; this should put the cells and their formulas in the paste buffer).

Now drag (hover over the edge of the selection until the mouse cursor changes into a hand; now you can drag) the selected cells to the new position.

Go back to the original top-left position of the copied cells and use Ctrl+V (paste).

Now you should have two sets of formulas both referencing the same cells.

share|improve this answer
This is the only answer that preserves formulas. – amcnabb Sep 15 '14 at 18:13
Agreed - this is the only correct answer. – stevemidgley Dec 9 '14 at 20:15

The =$A$1 notation can also be automatically moved if the value in (say) A1 is changed.

The only surefire solution is to enclose all your references in INDIRECT, e.g. =INDIRECT("$A$1") or even just =INDIRECT("A1").

The difficulty with either of these solutions is where you have many of the same formula, e.g.


Normally, you would fill in the first =A1 and then copy-and-paste (or drag down using autofill) to fill out the consecutive formula automatically. If, however the first formula is =$A$1 or =INDIRECT("A1") then this trick won't work (in fact, this is what $ is for - to prevent it being automatically changed).

If you have many consecutive formula, one solution is:

  1. Create the formula as you normally (use plain =A1 and autofill)
  2. Use the replace dialog (Ctrl-H) and use "search in formulas" to wrap all =A1, =A2 ... =A99 in the =INDIRECT("A1") etc. Note you have the option to use regular expressions when doing a find-and-replace.
share|improve this answer
Updated answer to suggest use of better find-and-replace in New Google Spreadsheets, which can do a replace in formulas and use regexps, – Motti Strom Jan 8 '15 at 18:33
Can you give an example of what the search/replace parameters would be to wrap all cell references in a formula with INDIRECT? – Michael Apr 8 '15 at 5:55

Work around this the same way as in Excel:

COPY and paste the data, and then go back and delete it from the original place.

share|improve this answer

In Google Spreadsheets, to cut and paste cells without auto-shifting their formulas, you use Ctrl + X to cut (or Ctrl + C to copy), and Ctrl + Shift + V to paste.

The Shift tells Google Sheets to leave your formulas alone.

share|improve this answer
fyi, if you are using apps like Flycut (mac) with CTRL+SHIFT+V shortcut already active, then it will conflict with the spreadsheet shortcut and formula locking won't work. Disable Flycut app's shortcut, or just quit it first before doing CTRL+SHIFT+V. – Hlung Jul 30 '14 at 18:13
Modifying paste with Shift appears to make Google Spreadsheet paste values rather than unmodified formulas. – Matt McClure Aug 26 '14 at 15:30
This is incorrect - ctrl-shift-v will simply paste the "values" of your formulas. This will prevent transposing your data, but the resulting cells will contain static values not formulas. – stevemidgley Dec 9 '14 at 20:14
Doesn't work, -1. – Pacerier Dec 20 '14 at 7:48
I never cuts. When you paste with ctrl+shift+v, it always copies the values, even if you did ctrl+x on the source cells. – sparebytes Feb 16 at 21:17

Cut (instead of Copy) seems to work for me, probably for the same reason dragging selected cells works - i.e. it's the same operation. This is also the only way I know of to paste to another page without the formula changing.

If you're trying to do a Copy instead of a Move, either use the drag method (copy before dragging), or copy it somewhere else on the page first.

share|improve this answer

Do a text copy of the formula instead of a cell copy: Use the mouse to select the formula text and press CTRL+C. Then select the destination field and press CTRL+V. This preserve the formula

share|improve this answer
But you would have to repeat this for each cell.... Is there any way to do text copy through multiple cells? – Pacerier Dec 20 '14 at 7:49

You can hit F4 to cycle through the various absolute referencing options when the cursor is on the cell or range. This works on Mac and Windows.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.