How to Copy a Formula in Excel (7 Quick Methods for Every Situation)
The fastest way to copy a formula in Excel is to click the cell that already has the formula, press Ctrl + C to copy it, then click the cell where you want the formula and press Ctrl + V to paste. Excel pastes the calculation and automatically adjusts the cell references to match the new location. A formula like =A2+B2 becomes =A3+B3 when you paste it one row down, so the math stays correct as you move it around your sheet.
If you need that same formula repeated all the way down a column, there is an even faster trick. Click the cell with the formula, then point your mouse at the small green square in the bottom-right corner of the cell. That square is called the fill handle. Double-click it, and Excel copies the formula down to the bottom of your data in one motion. This single shortcut handles the most common reason people search for how to copy a formula in Excel: filling a calculation across an entire list of rows. If you regularly move finished spreadsheets between systems or hand them to a colleague, it also helps to know how to read an Excel file in C# so the numbers stay intact once the file leaves your screen.

Most workplace spreadsheets grow over time, and the formulas inside them often need to travel between sheets, workbooks, and even file formats. Excel offers several ways to copy a formula, and knowing a handful of them means you can pick the right one for the job instead of fighting the same drag-and-drop every time. One method copies the calculation, another copies only the resulting value, and a third keeps the formula pointing at the exact same cells. The sections below walk through every reliable method, including the ones the top guides tend to skip, plus the formatting and reference problems that trip people up. Teams who automate their reporting also lean on tools that create Excel files in .NET and set formulas programmatically, which is covered in the developer section at the end.
Method 1: Copy and Paste (Ctrl + C, Ctrl + V)
This is the everyday method that works in every version of Excel, including Excel on the web and Excel for Mac.
- Click to select the cell containing the formula so it becomes the selected cell.
-
Press Ctrl + C (or Cmd + C on a Mac).
- Click the destination cell, or select a range of multiple cells by dragging across them.
- Press Ctrl + V (or Cmd + V) to paste the formula, or hit Enter to paste into a single destination cell or an entire selected range.
Excel copies the formula and shifts the references relative to the new position, so each pasted copy keeps the right calculations and works from its own row rather than from the original cell. Paste into a block of cells and the formula fills the entire selection at once.

Method 2: The Fill Handle (Drag to Copy)
The fill handle is the quickest way to copy a formula across neighboring cells without touching the keyboard.
- Click the cell with the formula.
- Hover over the small green square in the lower-right corner until your cursor turns into a thin black plus sign.
- Click and hold the mouse button, then drag the fill handle down, up, left, or right across the adjacent cells you want to fill.
- Release the mouse, and Excel copies the formula into every cell you dragged over, updating the relative cell references for each new position.
For a long column, skip the dragging entirely: double-click the fill handle. Excel detects where your existing data ends and copies the formula down to that last row automatically, spreading it across all the other cells in the column. This saves a lot of scrolling on large sheets.

Method 3: Fill Down and Fill Right Keyboard Shortcuts
When your hands are already on the keyboard, two shortcuts copy formulas without any mouse work at all, and they’re a faster way to fill cells.
- Fill Down (Ctrl + D): Select the cell with the formula plus the blank cells below it, then press Ctrl + D. Excel copies the top formula down through the whole selection, which is the quickest way to fill multiple rows at once.
- Fill Right (Ctrl + R): Select the cell with the formula along with the empty cells to its right, then press Ctrl + R to copy the formula across. Ctrl + End jumps to the last cell with data, which can help you quickly select a large range before filling downward.
These two shortcuts are favorites among people who build financial models or large tables, because they let you select a range and fill it in a fraction of a second.
Method 4: The Ribbon Fill Menu
Prefer clicking through menus? The ribbon offers the same fill commands with visual buttons.
- Select the formula cell together with the cells you want to fill.
-
Go to the Home tab.
-
In the Editing group on the far right, click Fill.
- Choose Down, Right, Up, or Left, or pick Series for more advanced patterns.
The ribbon route is handy when you are teaching someone else, since every option is labeled and visible rather than hidden behind a shortcut.
Method 5: Right-Click Context Menu and Paste Special
Sometimes you want the formula but none of the formatting, or only the formatting and not the formula. Paste Special gives you that control.
- Click the formula cell and press Ctrl + C.
- Right-click the destination cell, whether it sits on the same sheet or a new sheet.
-
Select Paste Special from the menu (older versions reach the same dialog if you click Edit and then Paste Special).
- Choose Formulas to paste only the calculation, leaving the destination cell’s existing colors, borders, and fonts untouched.
Paste Special is the go-to method when you are copying into a styled report and want to keep the design consistent. The same dialog lets you paste Values instead, so the destination cell will display the result as a fixed number rather than a live formula. You can also reach it after copying by pressing Ctrl + Alt + V.
Method 6: Copy a Formula Without Changing the Cell References
By default Excel adjusts references as it copies, which is usually what you want. Occasionally you need the exact same formula in a new spot, pointing at the exact same cells. There are two clean ways to do this.
Option A: Use absolute references. Add dollar signs to lock a reference so it will stay fixed when copied. In this example, =$A$2+$B$2 stays pointed at A2 and B2 no matter where you paste it, unlike ordinary relative cell references that shift with each new position. Press F4 while editing a reference to cycle through the locking options.
Option B: Copy the formula text itself. Click the formula cell, then look at the formula bar at the top of the screen. Highlight the formula text there, copy it with Ctrl + C, press Esc, click your destination cell, and paste. Because you copied plain text rather than the cell, Excel leaves every reference exactly as written.
Method 7: Copy a Formula With a VBA Macro
For repetitive jobs across many sheets or workbooks, a short macro copies formulas the same way every time, on demand.
-
Press Alt + F11 to open the Visual Basic editor.
-
Go to Insert then Module.
- Paste in a routine like the one below, which copies the formula in B2 down to B100:
Sub CopyFormulaDown()
Range("B2").Copy Range("B3:B100")
Application.CutCopyMode = False
End Sub
Sub CopyFormulaDown()
Range("B2").Copy Range("B3:B100")
Application.CutCopyMode = False
End Sub
Sub CopyFormulaDown()
Range("B2").Copy(Range("B3:B100"))
Application.CutCopyMode = False
End Sub
- Press F5 to run it, or assign it to a button on the sheet.
Macros suit recurring monthly reports where the same formulas land in the same cells every cycle. For anything that needs to run on a schedule or as part of a larger application, the developer section below shows a more maintainable approach.
Common Issues and Troubleshooting
Copying formulas occasionally produces unexpected results. Each problem below has a quick solution.
The formula copied as text and shows the formula instead of a result. Your sheet is in "Show Formulas" mode, or the destination cell is formatted as Text. Press Ctrl + ` (the grave accent key, top-left of most keyboards) to toggle Show Formulas off. If the cell is formatted as Text, change it to General under the Home tab, then re-enter the formula.
The references shifted when you did not want them to. Excel uses relative references by default. Lock the references with dollar signs ($A$2) before copying, or copy the formula text from the formula bar as described in Method 6.
The result did not update after pasting. Calculation may be set to Manual. Go to the Formulas tab, click Calculation Options, and switch it to Automatic. You can also press F9 to force a recalculation.
You got a #REF! error after copying. The pasted formula now points at cells that fall off the edge of the sheet or into deleted cells. Check the references in the new location and replace the broken starting cell so the relative references still land on valid cells.
Dragging the fill handle copies the number instead of continuing a pattern. Hold Ctrl while dragging to switch between copying and filling a series, or use the small Auto Fill Options button that appears after the drag to choose "Copy Cells" or "Fill Series."
Pasting overwrote the formatting in your report. Use Paste Special and choose Formulas (Method 5) so only the calculation transfers and your existing styling stays in place.
For Developers: Copying Formulas in C# With IronXL
When formula copying needs to happen inside an application, on a server, or as part of an automated report, a code library handles it without opening Excel at all. IronXL reads, writes, and edits spreadsheet files in C# and .NET, and copying a formula across a range takes only a few lines:
using IronXL;
// Open an existing workbook
WorkBook workBook = WorkBook.Load("SalesReport.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();
// Read the formula from the source cell, then apply it down a range
string formula = workSheet["D2"].Formula;
for (int row = 3; row <= 100; row++)
{
workSheet[$"D{row}"].Formula = formula;
}
workBook.SaveAs("SalesReport.xlsx");
using IronXL;
// Open an existing workbook
WorkBook workBook = WorkBook.Load("SalesReport.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();
// Read the formula from the source cell, then apply it down a range
string formula = workSheet["D2"].Formula;
for (int row = 3; row <= 100; row++)
{
workSheet[$"D{row}"].Formula = formula;
}
workBook.SaveAs("SalesReport.xlsx");
Imports IronXL
' Open an existing workbook
Dim workBook As WorkBook = WorkBook.Load("SalesReport.xlsx")
Dim workSheet As WorkSheet = workBook.WorkSheets.First()
' Read the formula from the source cell, then apply it down a range
Dim formula As String = workSheet("D2").Formula
For row As Integer = 3 To 100
workSheet($"D{row}").Formula = formula
Next
workBook.SaveAs("SalesReport.xlsx")
This runs without Microsoft Excel installed, works on Windows, macOS, Linux, and cloud environments, and fits cleanly into scheduled jobs or web applications. For more on the underlying calculation engine, the guide on working with Excel formulas in C# walks through reading, writing, and evaluating formulas in detail.




