当前位置:  开发笔记 > 后端 > 正文

如何以A:B格式在Excel中显示比率?

如何解决《如何以A:B格式在Excel中显示比率?》经验,为你挑选了3个好方法。

我有一个Excel电子表格的数据,如:

ColumnA ColumnB
33        11
25        5
6         4

我想要做的是添加第三列,以A:B的格式显示columnA与columnB的比率.例如:

ColumnA ColumnB   Ratio
33        11       3:1
25        5    5:1
6         4    3:2

有谁知道实现这一目标的方法?

提前致谢.



1> Michael Hare..:

试试这个公式:

=SUBSTITUTE(TEXT(A1/B1,"?/?"),"/",":")

结果:

A   B   C
33  11  3:1
25  5   5:1
6   4   3:2

说明:

TEXT(A1/B1,"?/?")将A/B转换为不正确的分数

SUBSTITUTE(...)用冒号替换小数中的"/"

这不需要任何特殊的工具包或宏.唯一的缺点可能是结果被认为是文本 - 而不是数字 - 因此您可以轻松地将其用于进一步的计算.


注意:正如@Robin Day建议的那样,根据需要增加问号(?)的数量以减少舍入(感谢Robin!).


为了使这个公式更准确你可以用= SUBSTITUTE(TEXT(A1/B1,"???????????????????????????? :")这使得舍入问题的可能性降低.

2> Tomalak..:

您正在寻找最大的公约数(GCD).

您可以在VBA中递归计算它,如下所示:

Function GCD(numerator As Integer, denominator As Integer)
  If denominator = 0 Then
    GCD = numerator
  Else
    GCD = GCD(denominator, numerator Mod denominator)
  End If
End Function

并在您的工作表中使用它像这样:

   ColumnA   ColumnB   ColumnC
1  33        11        =A1/GCD(A1; B1) & ":" & B1/GCD(A1; B1)
2  25         5        =A2/GCD(A2; B2) & ":" & B2/GCD(A2; B2)

建议将函数调用的结果存储在隐藏列中,并使用此结果来避免每行调用两次函数:

   ColumnA   ColumnB   ColumnC        ColumnD
1  33        11        =GCD(A1; B1)   =A1/C1 & ":" & B1/C1
2  25         5        =GCD(A2; B2)   =A2/C2 & ":" & B2/C2


您知道,Excel具有GCD功能.你根本不需要VBA这个解决方案:) http://office.microsoft.com/en-us/excel/HP052091041033.aspx
@Aaron:就这样你知道;-),这个单元格功能似乎在Excel 2007之前不可用.信不信由你,并不是每个人都已经切换了.

3> Robin Day..:

该页面上的第二个公式使用Analysis ToolPak的GCD功能,您可以从工具>加载项添加它.

= A1/GCD(A1,B1)和 ":" &B1/GCD(A1,B1)

这是一个更加数学的公式而不是基于的文本操作.

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有