减less代表增量0.0625的分数

使用Excel的Mac。 我想要公式将十进制数舍入到分数。 我想要的最小增量是1/16 (我可以很容易地做到这一点),但是我希望在适当的时候自动减less十六分之一到1/81/4和一1/2 (这里不做四舍五入)。

  1. 只有四舍五入到最接近的十六分之一。 (我有所有的小数四舍五入到最接近的1/16
  2. 但是,那么减less分数,例如:

14/16 – 这应该成为7/8
12/16 – 这应该成为3/4
8/16 – 这应该成为1/2

所以最后,我会得到一个大的Excel分数表,有的小到1/16 ,有的大一些。

我将如何做到这一点?

我收集你有格式化分数的一些function。 Excel 2007例如有:

SO21634379的例子

我正在考虑“math计算”,以0.0625的倍数获得数字(小数),然后将格式应用于外观。

这将适用于0和1之间的值。 select单元格并运行这个小macros:

 Sub FixFormat() Dim r As Range, v As Variant, s As String Dim numerator As Long Selection.NumberFormat = "General" For Each r In Selection v = r.Value If v >= 0 And v <= 1 Then r.NumberFormat = "??/16" numerator = CLng(Split(r.Text, "/")(0)) Select Case numerator Case 0, 1, 3, 5, 7, 9, 11, 13, 15 Case 2, 6, 10, 14 r.NumberFormat = "# ?/8" Case 4, 12 r.NumberFormat = "?/4" Case 8 r.NumberFormat = "?/2" End Select End If Next r End Sub 

macros将检测值并应用适当的格式。

四舍五入到1/16

ROUND(YourNumber * 16,0)/ 16

然后将单元格设置为两位数的分数。 他们会自动减less到1/2,1/4,1/8,1/16。 四舍五入掉落“额外”部分。 这可以用于圆形和圆形。