我有一个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
有谁知道实现这一点的方法吗?
提前谢谢。
发布于 2009-01-23 14:23:15
你正在寻找最大公约数(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
发布于 2009-01-23 14:12:15
该页面上的第二个公式使用分析ToolPak的GCD函数,您可以从工具>插件添加它。
=A1/GCD(A1,B1)&":"&B1/GCD(A1,B1)
这是一个更加数学化的公式,而不是基于文本的操作。
发布于 2011-03-09 20:15:06
我发现这是最简单和最短的,但是我四舍五入到了小数点后零位:
="1" & ":" & ROUND((A1/B1),0)
注意&
前后的空格。
这意味着"1“和":”被视为整体公式的附加非公式信息。ROUND
函数将基本公式A1/B1四舍五入到小数点后0位。你可以试着改成1,2,3...小数位数。
我希望我说得很清楚了。
https://stackoverflow.com/questions/472989
复制相似问题