Written by Allen Wyatt (last updated November 2, 2019)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365
If you work in one of the construction trades, you may wonder if there is a way to have Excel work in feet and inches. The answer, of course, is yes and no. (How's that for specific?)
Let's look at the "no" answer first. If you are looking for a way to make Excel do things like math using feet and inches, there is no native ability to do that. In other words, you can't tell Excel to consider a column as "feet and inches" and then have it automatically add a set of cells containing lineal feet. A quick search of the Internet reveals that there are a number of Excel add-ins that you can find—some for free—that will do real math for feet and inches. These, of course, would require learning exactly how to use them to achieve what you want. The following site was among those suggested by different ExcelTips subscribers. (Even though the information on the page is older, it is still applicable to current versions of Excel.)
http://lacher.com/examples/lacher18.htm
Now for the "yes" portion of the answer. You can, of course, use separate columns for feet and inches. In this way it is relatively easy to add the values in the columns—one would simply be the sum of feet, and the other the sum of inches. Since the sum of the inches would most likely exceed 12, you could, in a different cell, adjust the finished feet and inches as necessary.
Another approach is to simply work in inches, which is the lowest common denominator. For instance, if you had a length of 5 feet 6 inches, you would put the value 66 in a cell. You could then do any number of math functions on these values. In another cell you could use a formula, such as the following, to display an inches-only value as feet and inches:
=INT(A1/12) & " ft. " & MOD(A1,12) & " in."
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (10612) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365. You can find a version of this tip for the older menu interface of Excel here: Working In Feet and Inches.
Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!
When you freeze panes in a worksheet, those panes should persist even though you save the workbook and reload it. There ...
Discover MoreAutoComplete is a great feature for quickly adding data to a worksheet. If you are confused by why some things are picked ...
Discover MoreHave you ever opened Excel to find that the window you saw yesterday is not the same as it is today? Sometimes, for ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2023-09-22 13:48:58
Hambone
Your formula for displaying inches as feet and inches works great for positive values, but fails pretty miserably for negative values. For example, using a value of 80 inches gives a result of 6'8" as expected, but using a value of -80 inches results in -7'4" - a pretty large discrepancy!
As inconvenient as it is to have to account for that, a better formula would be:
=IF(A1>=0, FLOOR.MATH(A1/12), CEILING.MATH(A1/12)) & "'" & IF(A1>=0, MOD(A1, 12), MOD(-A1, 12)) & """"
This handles positive and negative values correctly.
2019-11-05 06:52:13
MalR
I enjoy reading your comments Willy. You always speak a lot of sense and simplify the problem!
2019-11-05 05:22:15
Willy Vanhaelen
What am I happy to live in a country using the metric system as do an overwhelming majority of the countries in the world.
2019-11-04 23:49:18
Aldo Santolla
This function I use to work with feet & inches. This will convert any dimension figure to show 0'-0 0/0" format.
Public Function FeetInch(Inch As Double, Optional Denominator As Integer = 16) As String
Dim Negative As Boolean
Dim FeetValue As Long
Dim InchValue As Long
Dim FractionValue As Double
Dim FractionReductionCount As Integer
Dim Numerator As Integer
Dim F As String, i As String, Fr As String
Application.Volatile
Negative = (Inch < 0)
If Negative Then Inch = Inch * -1
FeetValue = Int(Inch / 12)
InchValue = Int(Inch - FeetValue * 12)
FractionValue = Round((Inch - FeetValue * 12 - InchValue) * Denominator, 0) / Denominator
If FractionValue = 1 Then
FractionValue = 0
InchValue = InchValue + 1
End If
FractionReductionCount = 0
Numerator = FractionValue * Denominator
If FractionValue <> 0 Then
Do Until Int(Numerator / 2) <> Numerator / 2
Numerator = Numerator / 2
FractionReductionCount = FractionReductionCount + 1
Loop
End If
F = FeetValue & "'-"
If FeetValue = 0 Then F = ""
Fr = Numerator & "/" & Denominator / 2 ^ FractionReductionCount & """"
If FractionValue = 0 Then Fr = """"
i = InchValue & " "
If InchValue = 0 And FeetValue = 0 Then i = ""
If FractionValue = 0 Then i = Trim(InchValue)
FeetInch = IIf(Negative, "-", "") & F & i & Fr
End Function
This will convert feet & inch format 0'-0 0/0" to a number you can use in calculations.
Public Function Inch(ByVal FeetInch As String, Optional Rounding As Integer = 0) As Double
Dim Negative As Boolean
Dim Apos As Long 'Apostrophe
Dim Hpos As Long 'Hyphen
Dim Spos As Long 'Space
Dim Dpos As Long 'Divider
Dim Qpos As Long 'Quotation
Dim EndValue As Double
Dim FeetValue As Double
Dim InchValue As Double
Dim Numerator As Double
Dim Denominator As Double
Application.Volatile
If Left(FeetInch, 1) = "*" Then
FeetInch = [AddLongLength] & Right(FeetInch, Len(FeetInch) - 1)
End If
FeetValue = 0
InchValue = 0
Numerator = 0
Denominator = 1
If Left(FeetInch, 1) = "-" Then
Negative = (Left(FeetInch, 1) = "-")
FeetInch = Right(FeetInch, Len(FeetInch) - 1)
End If
Qpos = InStr(FeetInch, """") 'Quotation
If Qpos > 0 Then FeetInch = Left(FeetInch, Qpos - 1)
Dpos = InStr(FeetInch, "/") 'Divider
Spos = InStr(FeetInch, " ") 'Space
Hpos = InStr(FeetInch, "-") 'Hyphen
Apos = InStr(FeetInch, "'") 'Apostrophe
If Dpos > 0 Then 'Divider indicates fraction in string
Select Case True
Case Spos > 0 'Space
Numerator = CDbl(Mid(FeetInch, Spos + 1, Dpos - Spos - 1))
Denominator = CDbl(Mid(FeetInch, Dpos + 1))
FeetInch = Left(FeetInch, Spos - 1)
Case Hpos > 0 'Hyphen
Numerator = CDbl(Mid(FeetInch, Hpos + 1, Dpos - Hpos - 1))
Denominator = CDbl(Mid(FeetInch, Dpos + 1))
FeetInch = Left(FeetInch, Hpos - 1)
Case Apos > 0 'Apostrophe
Numerator = CDbl(Mid(FeetInch, Apos + 1, Dpos - Apos - 1))
Denominator = CDbl(Mid(FeetInch, Dpos + 1))
Case Else 'Fraction Only
Numerator = CDbl(Left(FeetInch, Dpos - 1))
Denominator = CDbl(Right(FeetInch, Len(FeetInch) - Dpos))
FeetInch = ""
End Select
End If
Hpos = InStr(FeetInch, "-") 'Hyphen
If Hpos > 0 Then
If Len(FeetInch) > Hpos Then
InchValue = CDbl(Right(FeetInch, Len(FeetInch) - Hpos))
FeetInch = Left(FeetInch, Hpos - 1)
End If
End If
Apos = InStr(FeetInch, "'") 'Apostrophe
If Apos > 0 Then
FeetValue = CDbl(Left(FeetInch, Apos - 1))
FeetInch = Right(FeetInch, Len(FeetInch) - Apos)
End If
If Len(FeetInch) > 0 Then InchValue = InchValue + CDbl(FeetInch)
If Rounding = 0 Then
EndValue = FeetValue * 12 + InchValue + Numerator / Denominator
Else
EndValue = Round((FeetValue * 12 + InchValue + Numerator / Denominator) * Rounding, 0) / Rounding
End If
If Negative Then
EndValue = EndValue * -1
End If
Inch = EndValue
End Function
I use these everyday in my work. I get field measurements from constructions site that I need to convert and use in various calculations.
2019-11-04 23:45:56
Aldo Santolla
Public Function FeetInch(Inch As Double, Optional Denominator As Integer = 16) As String
Dim Negative As Boolean
Dim FeetValue As Long
Dim InchValue As Long
Dim FractionValue As Double
Dim FractionReductionCount As Integer
Dim Numerator As Integer
Dim F As String, i As String, Fr As String
Application.Volatile
Negative = (Inch < 0)
If Negative Then Inch = Inch * -1
FeetValue = Int(Inch / 12)
InchValue = Int(Inch - FeetValue * 12)
FractionValue = Round((Inch - FeetValue * 12 - InchValue) * Denominator, 0) / Denominator
If FractionValue = 1 Then
FractionValue = 0
InchValue = InchValue + 1
End If
FractionReductionCount = 0
Numerator = FractionValue * Denominator
If FractionValue <> 0 Then
Do Until Int(Numerator / 2) <> Numerator / 2
Numerator = Numerator / 2
FractionReductionCount = FractionReductionCount + 1
Loop
End If
F = FeetValue & "'-"
If FeetValue = 0 Then F = ""
Fr = Numerator & "/" & Denominator / 2 ^ FractionReductionCount & """"
If FractionValue = 0 Then Fr = """"
i = InchValue & " "
If InchValue = 0 And FeetValue = 0 Then i = ""
If FractionValue = 0 Then i = Trim(InchValue)
FeetInch = IIf(Negative, "-", "") & F & i & Fr
End Function
2019-11-04 09:45:34
Craig Bower
My firm measures depths in feet, inches, and eighths for soil borings. Instead of having a separate column for feet, inches, and eighths, we designated the data entry column to be ft.in8, i.e., feet is the integer, the first two decimal positions are for inches, and the third decimal is for eighths of an inch. Thus, 10'-3 1/4" is entered as 10.032; 1'-0 5/8" is entered as 1.005. The header at the top of the column includes the data entry definition, (ft.in8). The next column in the spreadsheet, which could be hidden, converts the entered data to feet. This data entry alleviates the need to be entering an ', -, or " with the data, which slows down the data entry considerably. If we want the entered data to be presented in feet'-inch" format, than we have a data entry/computation worksheet and a second worksheet set up for printout.
2019-11-03 15:56:24
MIchael Armstrong
Hmmm. I've been using Excel (now 365) for quite a while for doing construction calculations, and in my naïveté just mixed inches and feet routinely, converting and setting formats as required, and never noticed a problem. I'd do things like specify cutting boards to length in inches,and keeping track of those lengths in feet, to determine the number of, say, 12' boards required for all the boards to be cut.
2019-11-03 08:12:55
How about working in twelfths - using custom formats "# ??/12" - if you enter a measurement as 4 5/12 for 4 feet 5 inches Excel converts it to decimals, does the maths and if the answer cell is similarly formatted with show the results in integer feet and fraction inches.
2019-11-02 07:31:10
I worked with feet & inches forever - 1 inch = .083 -2 inches = .167 - 3 inches = .25 etc etc - what's the big deal ? just decimalize
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2023 Sharon Parq Associates, Inc.
Comments