Managing construction data in mixed formats like feet and inches is a constant headache for estimators. When preparing budgets for standard funding sources, such as municipal development grants, lenders strictly require precise decimal formats. Fortunately, mastering specific Excel formulas grants you the ability to automate this conversion instantly, eliminating manual errors.
Note the stipulation: your raw data must maintain consistent text formatting (using ' and " symbols) for the cell parsing to work. For example, converting 5' 6" into 5.5 decimal feet requires isolating each unit. Below, we outline the exact nested formulas and step-by-step workflows to streamline this workflow.
Whether you are in construction, architecture, manufacturing, or real estate, managing measurements in Excel can be a tedious process. Because Excel is inherently built on a base-10 (decimal) system, it does not naturally comprehend the duodecimal (base-12) logic of feet and inches. A value like 5.5 feet is easily understood by Excel, but to a craftsman on a job site, that needs to be expressed as 5 feet, 6 inches (5' 6"). Conversely, converting text-based strings like 5' 6" back into a decimal number for mathematical calculation is a common headache.
In this comprehensive guide, we will break down the exact Excel formulas required to convert back and forth between decimal feet and standard feet-and-inches notation, tackle the trickiness of text manipulation, and explore how to use custom VBA functions to simplify the entire process.
Before writing the formulas, it helps to understand the underlying math. There are 12 inches in a foot. Therefore:
0.75 * 12 = 9 inches.9 / 12 = 0.75 feet.If you have a column of decimal feet (e.g., 5.5, 6.25, 12.8) and you want to convert them into a standard readable notation like 5' 6", you can use a combination of the INT, ROUND, and concatenation (&) functions.
=INT(A2) & "' " & ROUND((A2-INT(A2))*12, 1) & CHAR(34)
INT(A2): This extracts the integer (whole number) portion of the decimal value. If the value in cell A2 is 5.75, INT(A2) returns 5.& "' ": This appends a single quote (representing feet) and a space after the whole number.A2-INT(A2): This isolates the decimal portion of the value. For 5.75, this evaluates to 5.75 - 5 = 0.75.* 12: This multiplies the isolated decimal by 12 to convert it to inches. 0.75 * 12 = 9.ROUND(..., 1): In case of repeating decimals (like 5.333 feet), this rounds the resulting inch calculation to one decimal place. You can change the 1 to 0 if you want to display only whole inches, or 2 if you need precision down to hundredths of an inch.& CHAR(34): In Excel, using double quotes within a text string is tricky because Excel uses double quotes to define text strings. Using CHAR(34) is an elegant way to insert a clean double quote (representing inches) at the end of your formula without confusing Excel's formula engine.| Decimal Feet (Cell A2) | Formula Output | Interpretation |
|---|---|---|
| 6.5 | 6' 6" |
6 Feet, 6 Inches |
| 10.333 | 10' 4" |
10 Feet, 4 Inches (rounded) |
| 4.0833 | 4' 1" |
4 Feet, 1 Inch |
| 0.75 | 0' 9" |
0 Feet, 9 Inches |
Going the other direction-converting a text string like 5' 6" into a clean decimal number like 5.5-is significantly more challenging. This requires Excel to parse the text string, locate the positions of the single quote (') and double quote ("), extract the numeric values, and perform math on them.
Assuming your text string is in cell B2 (e.g., 5' 6"), use the following formula:
=LEFT(B2, FIND("'", B2) - 1) + (SUBSTITUTE(MID(B2, FIND("'", B2) + 1, LEN(B2)), CHAR(34), "") / 12)
FIND("'", B2): This searches for the position of the single quote (feet symbol) in your text string. For 5' 6", the single quote is the 2nd character.LEFT(B2, FIND("'", B2) - 1): This extracts all the text to the left of the single quote. In our example, it grabs "5". Excel will automatically coerce this text string into a mathematical number 5 when it encounters mathematical operators.MID(B2, FIND("'", B2) + 1, LEN(B2)): This starts extracting text immediately after the single quote and goes to the end of the string. For 5' 6", this extracts 6" (including any leading space and the trailing double quote).SUBSTITUTE(..., CHAR(34), ""): This strips the double quote (inch symbol) out of our extracted inch string, leaving us with a clean string of "6"./ 12: This converts the extracted inches to decimal feet. 6 / 12 = 0.5.+): Finally, Excel adds the extracted whole feet and the calculated decimal feet together: 5 + 0.5 = 5.5.') for feet and the standard straight double quote (") for inches. It will return a #VALUE! error if you use typographical curly quotes or if a cell is missing one of the symbols.
In highly precise trades like carpentry or machining, measurements often include fractions, such as 5' 6 1/2". Standardizing this into decimal feet is even more complex because of the space between the whole inch and the fraction.
To convert complex fraction strings like 5' 6 1/2" to decimal feet, you can use a helper column approach, or use a highly robust formula that leverages Excel's built-in TRIM and string substitution capabilities. However, a much cleaner, fail-proof method is to write a User-Defined Function (UDF) using VBA.
If you have to perform these conversions frequently, nesting text functions like LEFT, MID, FIND, and SUBSTITUTE can make your spreadsheets messy and difficult to debug. By adding a simple VBA script to your workbook, you can create custom functions that work just like standard Excel formulas: =DecimalToFtIn() and =FtInToDecimal().
ALT + F11 to open the VBA Editor.Function DecimalToFtIn(ByVal DecimalFeet As Double, Optional ByVal Precision As Integer = 1) As String
Dim Feet As Long
Dim Inches As Double
Feet = Int(DecimalFeet)
Inches = Round((DecimalFeet - Feet) * 12, Precision)
' Handle rounding spillover (e.g., 11.99 inches rounding up to 12)
If Inches = 12 Then
Feet = Feet + 1
Inches = 0
End If
DecimalToFtIn = Feet & "' " & Inches & """"
End Function
Function FtInToDecimal(ByVal FtInStr As String) As Double
Dim FeetPart As Double
Dim InchPart As Double
Dim SingleQuotePos As Integer
Dim DoubleQuotePos As Integer
Dim InchStr As String
' Clean up outer spaces
FtInStr = Trim(FtInStr)
' Find symbol positions
SingleQuotePos = InStr(FtInStr, "'")
DoubleQuotePos = InStr(FtInStr, """")
' Extract feet
If SingleQuotePos > 0 Then
FeetPart = Val(Left(FtInStr, SingleQuotePos - 1))
Else
FeetPart = 0
End If
' Extract inches (handles fractions like 6 1/2 automatically via VBA Val function)
If SingleQuotePos > 0 And DoubleQuotePos > SingleQuotePos Then
InchStr = Trim(Mid(FtInStr, SingleQuotePos + 1, DoubleQuotePos - SingleQuotePos - 1))
' If it contains a fraction space, evaluate it
If InStr(InchStr, " ") > 0 Then
Dim Parts() As String
Parts = Split(InchStr, " ")
InchPart = Val(Parts(0))
If UBound(Parts) >= 1 Then
' Parse fraction
If InStr(Parts(1), "/") > 0 Then
Dim Frac() As String
Frac = Split(Parts(1), "/")
InchPart = InchPart + (Val(Frac(0)) / Val(Frac(1)))
End If
End If
ElseIf InStr(InchStr, "/") > 0 Then
' Just a fraction with no whole inch (e.g., 1/2")
Dim JustFrac() As String
JustFrac = Split(InchStr, "/")
InchPart = Val(JustFrac(0)) / Val(JustFrac(1))
Else
InchPart = Val(InchStr)
End If
Else
InchPart = 0
End If
FtInToDecimal = FeetPart + (InchPart / 12)
End Function
Now that the code is added, you can use these custom functions directly inside your Excel grid:
=DecimalToFtIn(A2, 2) → Output: 5' 8.16"=FtInToDecimal(B2) → Output: 5.54167' and "). Missing characters or mixed spaces will break non-VBA formulas.ROUND limits accordingly.
Disclaimer:
The documents and templates provided on this page are for informational and illustrative purposes only. They do not constitute professional, legal, or financial advice, and should not be relied upon as such. Because individual circumstances and regulatory requirements vary, these materials may not be suitable for your specific needs. We recommend consulting with a qualified professional before adapting or using any of these examples for official or commercial purposes.