我希望创建一个电子表格,它将作为类似转化网站的工具。
我正在尝试转换度量单位(英寸,英尺,码,毫米和米)。当我输入36英寸时,我需要它来显示以下内容:
我正在尝试创建一个不会转换数字的公式,但也会将其分解为显示3位有效数字(不进行舍入)。
为了将英寸转换为英尺我已经想出了这个公式:
=ROUNDDOWN((CONVERT(A7,"in","ft"))/10^(INT(LOG10(CONVERT(A7,"in","ft")))+1),3)*10^(INT(LOG10(CONVERT(A7,"in","ft")))+1)
直到我点击较大的数字才有效,例如40英寸将显示为1010毫米,我需要它显示为1016毫米。
我有转换件,所以我想我问的是如何让它显示3位有效数字,除非数字超过100,在这种情况下,小数点右边的所有内容都可以丢弃。
答案 0 :(得分:2)
我建议在计算中使用全精度,并使用自定义数字格式调整显示的小数位,同时保留基础值的精度以便进一步计算。
选择单元格并点按Ctrl+1
,然后从左侧列表中选择自定义,并为类型提供格式设置掩码:。
B8中的公式为=CONVERT($B$2,$C$2,"m")*POWER(10,3)
(对@XOR LX的点头)和自定义数字格式类型:[>=100]0 \m\m;0.000 \m\m
。
B9中的公式为=CONVERT($B$2,$C$2,"m")
,自定义数字格式类型:[>=100]0 \m;0.000 \m
。
C2中的值来自数据►数据验证列表►允许:列表►来源:= $ E $ 2:$ E $ 9.
我做过B8& B9。其余的应该非常简单。如果您需要有关格式化掩码或其他问题的帮助,请回复评论。有关详细信息,请参阅Create a Custom Number Format。
答案 1 :(得分:0)
这可能会让你前进:
=IF(CONVERT(A2,"in","mm")>=100,
ROUND(CONVERT(A2,"in","mm"),0),
ROUND(CONVERT(A2,"in","mm"),2-INT(LOG10(CONVERT(A2,"in","mm"))))
)
这可以折叠为:
=ROUND(CONVERT(A2,"in","mm"),
(CONVERT(A2,"in","mm")<100)*(2-INT(LOG10(CONVERT(A2,"in","mm"))))
)
<强>输出强>
数字2给出3个有效数字。 4个有效数字等改为3