1

使用 Excel for Mac。我希望公式将小数四舍五入为分数。我想要的最小增量是1/16(我可以轻松做到),但我想在适当的时候自动将十六分之一减少到1/81/41/2(此处不四舍五入)。

  1. 仅四舍五入到最接近的十六位。(我所有的分数都四舍五入到最接近的1/16
  2. 但是然后减少分数,例如:

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

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

我该怎么做?

4

3 回答 3

0

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

SO21634379 示例

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

于 2014-02-07T18:41:01.197 回答
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

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

于 2014-02-07T19:40:30.523 回答
0

四舍五入到 1/16

ROUND(你的号码*16,0)/16

然后将单元格设置为两位数。它们会自动减少到 1/2、1/4、1/8、1/16。四舍五入减少了“额外”部分。这也可以与向上舍入和向下舍入一起使用。

于 2015-08-21T13:17:00.973 回答