Method 1: plain division
The simplest approach is =A1/5280. It works identically in Excel, Google Sheets, LibreOffice Calc and Numbers, and it is transparent — anyone auditing the sheet can see the constant.
Drag it down a column and you have a conversion table. For the reverse, =A1*5280.
The one drawback is that the constant is buried in every formula. If you need to change it — you will not, since it is a definition — you would have to edit every cell.
| Task | Formula |
|---|---|
| Feet → miles | =A1/5280 |
| Miles → feet | =A1*5280 |
| Feet → miles (CONVERT) | =CONVERT(A1,"ft","mi") |
| Feet → nautical miles | =CONVERT(A1,"ft","Nmi") |
| Feet → metres | =CONVERT(A1,"ft","m") |
| Rounded to 4 dp | =ROUND(A1/5280,4) |
Method 2: the CONVERT function
Both Excel and Google Sheets provide =CONVERT(value, from_unit, to_unit). For our case that is =CONVERT(A1,"ft","mi").
The advantage is self-documenting intent — the formula states which units are involved, so a reviewer does not have to recognise 5,280. It also handles nautical miles with the code "Nmi", which saves looking up 6,076.11548556.
Watch the case sensitivity: "mi" is the statute mile and "Nmi" is the nautical mile. Getting them the wrong way round produces a plausible-looking answer that is 15% out.
Going the other way, miles to feet does the reverse conversion. If you want a figure already worked out, conversion chart lists the common ones, and about & methodology documents every constant used here and where it comes from.
In CONVERT, "mi" is a statute mile and "Nmi" is a nautical mile. The codes are case-sensitive and the error is silent.
Method 3: a named formula
In Google Sheets, Data → Named functions lets you define FEET_TO_MILES(feet) once as feet/5280 and call it everywhere. Excel offers the same through LAMBDA combined with Name Manager.
This is worth doing on any sheet where the conversion appears more than a handful of times. It gives you a single point of change and a readable formula bar.
The pitfalls
Text-formatted numbers are the most common failure. If your feet values were pasted from a web page or a PDF they may be text, and =A1/5280 will return #VALUE!. Fix with =VALUE(A1)/5280, or convert the column with Data → Text to Columns.
Thousands separators inside text cause the same problem. '35,000' as text is not a number. =VALUE(SUBSTITUTE(A1,",",""))/5280 handles it.
Display rounding is not value rounding. Formatting a cell to two decimals shows 0.19 but stores the full value, so later sums will not match what you see. If you need the value itself rounded, use =ROUND(A1/5280,2).
And a locale note: in regions where the comma is the decimal separator, formula arguments are separated by semicolons — =CONVERT(A1;"ft";"mi").
- #VALUE! usually means text, not numbers — wrap in VALUE().
- Strip thousands separators with SUBSTITUTE before converting.
- Cell formatting rounds the display, not the stored value.
- Some locales use ; instead of , between formula arguments.
Handling input that is not clean
In a real spreadsheet the data is rarely tidy. A column of feet might contain "1,200 ft", "1200", "1,200.5" and a blank — and =A2/5280 breaks on the first and the last.
For text carrying a unit, use =VALUE(SUBSTITUTE(SUBSTITUTE(A2," ft",""),",",""))/5280. That strips the label and the thousands separator before dividing.
For blanks, wrap it in IF: =IF(A2="","",A2/5280). That returns an empty cell rather than #DIV/0! or a zero, which is cleaner when a chart or an average depends on the column.
If you have many such files, cleaning the data once in a helper column beats writing the same nested formula into every calculation.
Formatting the result so it reads
The default format in Excel and Sheets shows more decimal places than you need, and the column width shifts with the value. Over a long list this reads as clutter.
A custom number format of 0.0000 shows exactly four decimal places on every row, so the decimal points line up and the column can be scanned. For feet, #,##0 adds a thousands separator with no decimals.
One more detail that is easy to miss: the decimal separator changes with locale. 1,234.5 in the UK is 1.234,5 in Germany, and 138,435 becomes 1,38,435 in the Indian system. The file's locale decides what the recipient sees, not the formula.
Conditional formatting as a check
A quiet way to catch errors: add conditional formatting that turns any result outside the expected range red.
If your column should hold distances within a building, no value should exceed a mile. A "greater than 1" rule will show a wrong factor or a wrong input unit instantly.
The same idea works as data validation on the input. If a column should hold aircraft altitudes in feet, set the permitted range to 0–50,000. The wrong unit never gets in — it is prevented rather than caught after the fact.
Related conversions: ft/s to mph for speed, sq ft to sq miles for land area, and feet to mil for the unit people most often confuse with the mile.
Do not hardcode the constant everywhere
If you write 5280 into fifty formulas, there are fifty places to check when somebody asks where the number came from.
Better: put 5280 in a cell — say $B$1 — and reference it. =A2/$B$1 gives the same result but has one point of truth.
In Excel, a named range is better still. Name the cell FEET_PER_MILE and write =A2/FEET_PER_MILE. It reads like documentation, and it survives someone inserting a column above your constant, which a fixed cell reference does not.
Key takeaways
- =A1/5280 for feet to miles; =A1*5280 for the reverse.
- =CONVERT(A1,"ft","mi") is self-documenting and supports "Nmi".
- Named functions or LAMBDA give one place to change the logic.
- #VALUE! errors almost always mean the source column is text.
Try it yourself
Ft to Miles Calculator
Convert feet to miles and back, live as you type.