减少表示增量0.0625的分数

时间:2014-02-07 17:42:44

标签: excel formatting excel-formula excel-2011

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

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

    14/16 - 这应该变成7/8
      12/16 - 这应该变成3/4
      8/16 - 这应该变成1/2

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

    我该怎么做?

3 个答案:

答案 0 :(得分:0)

我知道你确实有一些格式化分数的功能。例如,Excel 2007具有:

SO21634379 example

我正在考虑“做数学”以获得0.0625的倍数的数字(小数),然后仅为外观应用格式。

答案 1 :(得分:0)

这适用于0到1之间的值。选择单元格并运行这个小宏:

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

宏将检测该值并应用正确的格式。

答案 2 :(得分:0)

四舍五入到1/16

ROUND(YourNumber * 16,0)/ 16

然后将单元格设置为两位数。它们会自动减少到1 / 2,1 / 4,1 / 8,1 / 16。四舍五入&#34;额外&#34;一部分。这也可以用于向上和向下舍入。