我希望能够以1/4的增量以0-00格式输入英尺和英寸。
示例:
1'3“ = 1-03
2'5 1/4” = 2-051
10'9 1/2“ = 10-092
22'10 3/4” = 22-103
我有一个用户表单设置,希望用户能够如上所述输入尺寸。但是,我所有的公式都将英尺和英寸设置为十进制。因此,在用户输入数据后,我需要将其转换为十进制。
将输入解析为文本...
因此,例如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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句