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

vlurs2pr  于 2022-12-24  发布在  其他
关注(0)|答案(8)|浏览(304)

我有一个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

如何才能做到这一点?

xxe27gdn

xxe27gdn1#

试试这个公式:

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

结果:

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

说明:

  • 文本(A1/B1,"?/?")将A/B转换为不正确的分数
  • SUBSTITUTE(...)将分数中的"/"替换为冒号

这不需要任何特殊的工具包或宏,唯一的缺点可能是结果被认为是文本--而不是数字--所以你可以很容易地用它来做进一步的计算。

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

jv4diomz2#

您正在寻找最大公约数(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
kkbh8khc

kkbh8khc3#

该页面上的第二个公式使用Analysis ToolPak的GCD函数,您可以从Tools〉Add-Ins添加它。
=A1/总圆直径(A1,B1)&":“& B1/总圆直径(A1,B1)
这是一个更数学化的公式,而不是基于的文本操作。

nc1teljy

nc1teljy4#

下面是我使用的公式。我在使用GCD时遇到了一个问题,因为我使用了相当大的数字来计算比率,我发现像“209:1024”这样的比率不如简单的四舍五入有用,所以它显示“1:”或“:1”。如果可能的话,我也不喜欢使用宏。下面是结果。

=IF(A1>B1,((ROUND(A1/B1,0))&":"&(B1/B1)),((A1/A1)&":"&(ROUND(B1/A1,0))))

有些公式是不必要的(例如,“A1/A1”),但我将其包括进来是为了显示其背后的逻辑。此外,您可以通过对每个ROUND函数进行设置来切换舍入的程度。

v1uwarro

v1uwarro5#

让我们假设你有数据在D和E单元格..这里是一个最简单的比率显示fn由我的frnd 'Karthik'

=ROUND(D7/E7, 2) &":" & (E7/E7)
nzrxty8p

nzrxty8p6#

在工作中,我们只有Excel 2003可用,这两个公式似乎完美地为我工作:

=(ROUND(SUM(B3/C3),0))&":1"

=B3/GCD(B3,C3)&":"&C3/GCD(B3,C3)
czq61nw1

czq61nw17#

我发现这是最简单和最短的,但我四舍五入到零小数位:
第一个月
注意&前后的空格。
这意味着“1”和“:“被视为整个公式的附加非公式信息。ROUND函数将基本公式A1/B1四舍五入为0位小数。您可以尝试更改为1,2,3...位小数。
我希望我已经说清楚了。

n6lpvg4x

n6lpvg4x8#

谢谢,我用了这个

=CONCATENATE((number1/GCD(number1,number2)),":",((number2/GCD(number1,number2))))

如果你有2007年,这个效果很好。

相关问题