我在 Excel 中有一列数字,用于帮助我完成木工项目。由于我身处美国,我期望测量结果如下:
- 4 5/8
- 4 1/2
- 4 3/4
我能够让数字显示为分数,但我希望它们的精度只达到分数要求的精度。我不需要公分母;事实上,它们使文件的读取更加麻烦。以下是我得到的结果:
- 4 5/8
- 4 4/8
- 4 6/8
我怎样才能使该列中的所有单元格以最简单的格式格式化(例如使用 1/2 而不是 4/8)?提前感谢您的帮助。
答案1
将结果四舍五入为 1/8,然后应用“最多一位数字”的分数格式:
=ROUND(<formula>*8,0)/8
<formula>
你的原始公式在哪里?
我不知道您如何进行木工计算,您可能想使用它ROUNDUP
来避免计算不必要的内容。
此外,您可能希望在公式中将 8 替换为 16, 32,并显示最多两位数字。
答案2
我有一些非整数的数字,我想将小数部分四舍五入为最接近的 ⅛ 倍数,然后将其简化为最低项。
如果
- 以上是对您的要求的准确描述,
- 您希望有一列包含实际数字,另一列显示显示值, 和
- 您愿意将工作簿中其他位置的几个单元格专用于查找表,
那么这个答案应该对你有用。
创建一个数组,将所有可能的分数从其数字形式映射到其文本(显示)形式:
请注意,非空文本值(R2
,,R3
...)都以空格开头。
然后,如果单元格C1
包含数字,例如 4.62,则设置D1
为
=INT(C1+Q$2/2) & VLOOKUP(MOD(C1+Q$2/2,1), Q$1:R$8, 2)
Q2
包含最小可表示分数;在上面的例子中,它是 ⅛ (0.125)。因此,我们希望将其一半添加到该C1
值中以便进行舍入;我们希望 4.94 和 5.06 之间的任何值都显示为“5”。然后MOD(C1+Q$2/2,1)
提取增强数字的小数部分,并找到VLOOKUP
要显示的文本形式。
这种方法的特点是您不局限于单个分数序列(例如 1/8 的倍数);如果您还想要 1/5 或 1/3 的倍数,则可以将它们添加到表中。