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

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

有谁知道一个办法来实现这一目标?

提前致谢。

你正在寻找最大的公约数(GCD)。

您可以在VBA中recursion计算,如下所示:

 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) 

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

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

试试这个公式:

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

结果:

 ABC 33 11 3:1 25 5 5:1 6 4 3:2 

说明:

  • 文本(A1 / B1,“?/?”)将A / B转换为不正确的分数
  • SUBSTITUTE(…)用分号replace分数​​中的“/”

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


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

该页面上的第二个公式使用分析工具库的GCD函数,您可以从“工具”>“加载项”添加它。

= A1 / GCD(A1,B1)和 “:” &B1 / GCD(A1,B1)

这是一个更为math的公式,而不是基于的文本处理。

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

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

我发现这是最简单和最短的,但是我舍入到小数点后第0位:

=“1”&“:”&ROUND((A1 / B1),0)

注意之前和之后的空格

这是什么意思是“1”和“:”被视为整个公式的附加非公式信息ROUND函数将A1 / B1(基本公式为小数点后0位)四舍五入。 你可以尝试改为1,2,3 ….小数位。

我希望我做到这一点

以下是我使用的公式。 我有一个使用GCD的问题,因为我使用相当大的数字来计算比率,而且我发现诸如“209:1024”之类的比简单的四舍五入更不有用,所以它显示“1: ”或“ :1” 。 如果可能的话,我也不喜欢使用macros。 以下是结果。

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

有些公式是不必要的(例如,“A1 / A1”),但我把它包括在内以显示它背后的逻辑。 此外,您可以通过使用每个ROUNDfunction上的设置来切换进行多less舍入。

在工作中,我们只有Excel 2003可用,这两个公式似乎对我来说是完美的:

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

要么

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

谢谢你们。 我用这个:

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

如果你有2007年这个很好。