Flash Fill vs Formulas: When to Use Each
By ExcelReady TeamUpdated 7 min read
The short answer
Use Flash Fill for a quick one-off clean-up: type one example of the result, press Ctrl+E, and Excel fills the rest of the column with plain values. Use a formula when the data will change, new rows will be added, or someone needs to see how the result was made, because formulas recalculate and Flash Fill doesn't.
Key takeaways
- Flash Fill learns a pattern from your example and fills plain values; it never updates by itself.
- On Windows press Ctrl+E; on a Mac use Data > Flash Fill.
- Formulas such as TEXTBEFORE, LEFT and & recalculate whenever the source data changes.
- Flash Fill can guess wrong on unusual rows, such as names with a middle name, so always check its results.
- A common workflow: build with a formula, then paste values when the data is final.
On this page+
Flash Fill vs formula comes down to one question: will the data change? Flash Fill copies a pattern from one example you type and fills the column with plain values in seconds, which is perfect for a one-off clean-up. A formula takes longer to write, but it recalculates when the source changes, works on new rows and shows exactly how each result was made. This comparison is for anyone who splits or combines text in Excel and wants to know which approach fits the job.
Flash Fill vs formulas at a glance#
Flash Fill is pattern-by-example. A formula is a rule you write.
| Feature | Flash Fill | Formula |
|---|---|---|
| How you use it | Type an example, press Ctrl+E | Write the formula, fill down |
| Speed for a one-off task | Very fast | Slower to write |
| Result | Plain values | Live results |
| Updates when the source changes | No | Yes |
| New rows | Run it again | Fill the formula down (or use a table) |
| Shows its logic | No | Yes, in the formula bar |
| Unusual rows | Can guess wrong silently | Does exactly what you wrote |
| Needs function knowledge | No | Yes |
| Versions | Excel 2013 and later on Windows; current Excel for Mac | Depends on the functions (TEXTBEFORE needs Microsoft 365 or Excel 2024) |
How to use Flash Fill#
Flash Fill needs your data in one column and the result column right next to it.
- In the column next to the data, type the result you want for the first row. For "Dana Lee", type
Dana. - Press Enter to move to the next cell.
- Press Ctrl+E on Windows. On a Mac, choose Data > Flash Fill. (On Windows, Home > Fill > Flash Fill also works.)
- Excel fills the rest of the column. Check the results, especially unusual rows.
Excel sometimes suggests a Flash Fill by itself while you type the second example; press Enter to accept the grey preview. If nothing happens, type one more example and try again. On Windows, check that Automatically Flash Fill is ticked under File > Options > Advanced. Our Flash Fill guide has more examples.
The same tasks, side by side#
Here is a list of full names. One has a middle name, which is where the two approaches differ.
| A | |
|---|---|
| 1 | Full name |
| 2 | Dana Lee |
| 3 | Marco Rossi |
| 4 | Aisha Khan |
| 5 | Mary Ann Fox |
| 6 | Tom Becker |
Task 1: the first name#
Flash Fill: type Dana in B2, then press Ctrl+E. The column fills with Marco, Aisha, Mary and Tom.
Formula:
=TEXTBEFORE(A2," ")
=LEFT(A2,FIND(" ",A2)-1)Both return Dana. The first needs Microsoft 365 or Excel 2024; the second works in every version. See the LEFT function guide and TEXTBEFORE and TEXTAFTER.
Task 2: a username (dlee)#
Flash Fill: type dlee in C2 and press Ctrl+E. Excel works out "first letter plus last name, lower case".
Formula:
=LOWER(LEFT(A2,1)&TEXTAFTER(A2," "))The result is dlee. The & joins the first letter to everything after the space, and LOWER makes it lower case. For more ways to join text, see how to combine text.
Now look at Mary Ann Fox. The formula above returns mann fox, because TEXTAFTER takes everything after the first space. Change it to the last space with -1:
=LOWER(LEFT(A2,1)&TEXTAFTER(A2," ",-1))That returns mfox. Flash Fill faces the same question, but you can't see which rule it chose. It might return "mann fox", "mfox" or something else, and there is no error to warn you. That is the core difference: a formula's rule is visible and fixable; Flash Fill's guess is not.
Task 3: last name first (Lee, Dana)#
Flash Fill: type Lee, Dana and press Ctrl+E.
Formula:
=TEXTAFTER(A2," ",-1)&", "&TEXTBEFORE(A2," ",-1)For Mary Ann Fox, the formula returns Fox, Mary Ann, which is the sensible answer. Our guide to splitting first and last names covers middle names and other edge cases.
What happens when the data changes#
Change A2 from "Dana Lee" to "Dana Leeds". Every formula updates at once: Dana, dleeds, Leeds, Dana. The Flash Fill columns still say Dana, dlee and Lee, Dana until you run Flash Fill again. Add a new name in row 7, and the same thing happens: fill the formula down one row, or run Flash Fill again.
Other jobs both can do#
Flash Fill isn't only for names. Any time you can show the result for one row, it can try to copy the pattern. Here are common clean-up jobs with the formula that does the same work:
| Job | Example | Formula equivalent |
|---|---|---|
| Initials | Dana Lee → DL | =LEFT(A2,1)&LEFT(TEXTAFTER(A2," ",-1),1) |
| Proper case | dana LEE → Dana Lee | =PROPER(A2) |
| Domain from an email | the part after @ | =TEXTAFTER(A2,"@") |
| Code prefix | LON-4521 → LON | =TEXTBEFORE(A2,"-") |
| Join two columns | Dana (A2) and Lee (B2) → Lee, Dana | =B2&", "&A2 |
Each formula is short, and once you know it, writing it is barely slower than typing an example. The formulas also handle the odd row predictably. For the reverse comparison of fixed-length and delimiter splits, see LEFT vs TEXTBEFORE.
When to use Flash Fill#
Use Flash Fill for one-off clean-ups where speed matters more than reuse. It is the better choice when:
- The data won't change, such as a list you'll send once.
- The pattern is hard to write as a formula, such as pulling numbers out of messy notes, where the formula would be long.
- You don't know the right function yet and need the result now.
- You can check every row, because the list is short.
When to use formulas#
Use a formula whenever the result must stay correct over time. It is the better choice when:
- The source data will change or new rows will be added.
- Other people will rely on the file and need to see how results were made.
- Some rows are unusual, and you need to control exactly what happens to them.
- It's a job test. Graders often change an input cell to check that your answer updates.
- The data is in an Excel table, where a formula fills the whole column by itself. See Excel table vs range.
Common mistakes with Flash Fill and formulas#
- Trusting Flash Fill without checking. Scan the results, especially rows with middle names, extra spaces or missing parts.
- Leaving an empty column between the data and the example. Flash Fill reads the neighbouring columns, so keep them next to each other.
- Expecting Flash Fill to update. It doesn't. Re-run it, or switch to a formula.
- Forgetting the -1 in TEXTAFTER. Without it, names with a middle name split at the first space.
- Deleting the source column under a formula. The formulas show #REF!. Convert them to values first: copy, then Paste Special > Values (Windows: Ctrl+Alt+V, then V; Mac: ⌃⌘V). See paste vs paste values.
- Using TEXTBEFORE in a file for Excel 2021. It shows #NAME?. Use LEFT with FIND there.
Our recommendation#
Use Flash Fill when you need a result once, quickly, on a list you can check by eye. Use a formula for anything that will be updated, shared or graded. If you want both speed and safety, a good habit is to write the formula, fill it down, then paste values when the data is final, so you get checkable logic and a clean, static result.
In short: Flash Fill for one-off clean-ups, formulas for anything that has to stay right.
Practise it#
Build the username formula in the exercise on this page. Then practise &, CONCAT and TEXTJOIN in the joining text lesson, and splitting at a space or @ in the TEXTBEFORE and TEXTAFTER lesson.
Try it yourself
This is a live spreadsheet. Type the formula in the green cell and press Enter.
Build a username from each full name: the first letter of the first name plus the last name, all in lower case. In B2, write a formula for A2 (Dana Lee should become dlee).
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Username | |||
| 2 | Dana Lee | |||
| 3 | Marco Rossi | |||
| 4 | Aisha Khan | |||
| 5 | Tom Becker | |||
| 6 | ||||
| 7 | ||||
| 8 |
Tip: Join LEFT(A2,1) with TEXTAFTER(A2," ") using &, then wrap the whole thing in LOWER.
Practise this in a lesson
Frequently asked questions
What is the difference between Flash Fill and a formula?
Flash Fill fills a column once with plain values based on an example you type. A formula calculates each result from the source cells and recalculates when they change.
What is the shortcut for Flash Fill?
Ctrl+E on Windows. On a Mac, use Data > Flash Fill. On Windows it is also under Home > Fill > Flash Fill.
Does Flash Fill update automatically?
No. Flash Fill results are typed values. If the source data changes or you add rows, run Flash Fill again or use a formula instead.
Why isn't Flash Fill working?
The example must be in the column right next to the data, and Excel needs a clear pattern. Type one or two more examples, then press Ctrl+E again. Check that Flash Fill is switched on under File > Options > Advanced on Windows.
Should I use Flash Fill in an Excel test?
Only if the task allows any method. Many tests check for a formula, and a grader may change the source data to see whether your answer updates.