Peter询问在Excel中是否可以创建自定义数字格式来处理英制线性距离,例如英寸,英尺,英里等。简短的回答是,不可以,这是不可能的。 Excel本身在十进制系统中工作,许多英制测量系统都基于其他数字系统(例如,以12为底的英尺)。尽管自定义格式可以更改数字的显示方式,但是它无法执行英制测量所需的转换。

最好的选择是将不同的英制度量单位保留在不同的单元中。例如,可以在三个单元格中保持3英里,428英尺和7英寸的距离,一个距离为英里,一个距离为英尺,另一个距离为英寸。然后,您可以编写必要的公式以转换为所需的任何测量系统。

Internet上也有Excel加载项(可以通过快速搜索找到它们),这些加载项可让您使用此技术进行线性测量。

另一种方法是开发一个自定义函数或宏,该函数或值将一个值转换为线性度量并将其显示为文本。您无法在数学函数中使用结果,但是它可能会给您想要的工作簿。例如,考虑以下简单宏:

Function N2MYFI(x) As String     Dim x1 as Long     Dim FinalAnswer As String

x1 = x     Distances = Array(63360, 36, 12, 1)

FinalAnswer = ""

For Each Item In Distances         FinalAnswer = FinalAnswer & " " & Int(x1 / Item)

x1 = x1 - Item * Int(x1 / Item)

Next

N2MYFI = Trim(FinalAnswer)

End Function

此函数以字符串形式返回四个数字,这些数字表示原始值中的英里,码,英尺和英寸(MYFI)的数量。假定馈给该函数的值以英寸为单位,例如:

=N2MYFI(100)

这将返回字符串“ 0 2 2 4”,这表示100英寸中有0英里,2码,2英尺和4英寸。该函数可以轻松更改为以任何所需格式返回值。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(3137)适用于Microsoft Excel 97、2000、2002和2003。您可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: