将输入解析为文本...
- “-”字符后的前 2 位数字除以 12
- 最后一位除以 4,然后再除以 12
- 将所有内容加在一起
所以,例如,2-051 =
2
+ 05/12 = 0.41666
+ (1/4)/12 = .020833
= 2.4375
在 VBA 中,用于此的函数如下所示:
Function ParseHeight(ht As String) As Double
Dim Feet As Integer
Dim Inches As Integer
Dim Quarters As Integer
Dim DashLocation As Integer
DashLocation = InStr(1, ht, "-")
Feet = Mid(ht, 1, DashLocation - 1)
Inches = Mid(ht, DashLocation + 1, 2)
If Len(ht) = DashLocation + 3 Then Quarters = Mid(ht, DashLocation + 3, 1)
ParseHeight = Feet + (Inches / 12) + ((Quarters / 4) / 12)
End Function
鉴于您想通过 Excel 中的公式执行此操作:
(假设输入E1,在F1中试试这个公式):
=LEFT(E1,FIND("-",E1)-1)+MID(E1,FIND("-",E1)+1,2)/12+IFERROR((MID(E1,FIND("-",E1)+3,1)/4)/12,0)
然后,要将数字从十进制转换回您的格式,可以这样做:
(假设要转换的十进制在F1):
=INT(F1)&"-"&TEXT(INT(MOD(F1,1)*12),"00")&INT(MOD(MOD(F1,1)*12,1)*4)