我有一个Excel电子表格的数据,如:
ColumnA ColumnB
33 11
25 5
6 4
Run Code Online (Sandbox Code Playgroud)
我想要做的是添加第三列,以A:B的格式显示columnA与columnB的比率.例如:
ColumnA ColumnB Ratio
33 11 3:1
25 5 5:1
6 4 3:2
Run Code Online (Sandbox Code Playgroud)
有谁知道实现这一目标的方法?
提前致谢.
Mic*_*ren 27
试试这个公式:
=SUBSTITUTE(TEXT(A1/B1,"?/?"),"/",":")
Run Code Online (Sandbox Code Playgroud)
结果:
A B C
33 11 3:1
25 5 5:1
6 4 3:2
Run Code Online (Sandbox Code Playgroud)
说明:
这不需要任何特殊的工具包或宏.唯一的缺点可能是结果被认为是文本 - 而不是数字 - 因此您可以轻松地将其用于进一步的计算.
注意:正如@Robin Day建议的那样,根据需要增加问号(?)的数量以减少舍入(感谢Robin!).
Tom*_*lak 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
Run Code Online (Sandbox Code Playgroud)
并在您的工作表中使用它像这样:
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)
Run Code Online (Sandbox Code Playgroud)
建议将函数调用的结果存储在隐藏列中,并使用此结果来避免每行调用两次函数:
ColumnA ColumnB ColumnC ColumnD
1 33 11 =GCD(A1; B1) =A1/C1 & ":" & B1/C1
2 25 5 =GCD(A2; B2) =A2/C2 & ":" & B2/C2
Run Code Online (Sandbox Code Playgroud)
该页面上的第二个公式使用Analysis ToolPak的GCD功能,您可以从工具>加载项添加它.
= A1/GCD(A1,B1)和 ":" &B1/GCD(A1,B1)
这是一个更加数学的公式而不是基于的文本操作.
| 归档时间: |
|
| 查看次数: |
236705 次 |
| 最近记录: |