excel中某列求和值大于某数时

来源:百度知道 编辑:UC知道 时间:2024/05/28 04:19:56
例如A1等于B列求和,和在超过某个数值时,停止往下加,就显示这个数值
例:A1=B1+B2+...+B30,假如说A1得出的结果是100,但我想要他B1+B2+B3+..加到某个的时候是52,达到超过50的要求,这时不往下加了,就在A1显示52。
.
.
恳请高手指点一二。

在A1输入公式=MIN(IF(SUBTOTAL(9,OFFSET(b1,,,ROW(1:100)))>50,SUBTOTAL(9,OFFSET(B1,,,ROW(1:100)))))数组公式,公式在编辑状态下按CTRL+SHIFT+ENTER结束,注:ROW(1:100)和50可根据实际来更改。

这个用宏来算不复杂。我来做。粘贴下面代码运行(会用宏吗?)
Sub Macro1()
Dim sum
sum = 0
For i = 1 To 30
sum = sum + Cells(i, 2)
If sum > 50 Then
Cells(1, 1) = sum
Exit For
End If
Next
End Sub

补充:宏的使用:1、在Excel工作表里按Alt+F11,打开VBA编程界面
2、菜单里选插入->模块,然后右面窗口中粘贴上面的代码。3、鼠标在代码中点一下,然后按F5,运行后回到excel表就可以看到结果了。

宏有点高深,来个简单点的。
以你的举例进行说明哈:
A1=B1+B2+...+B30
选中A1单元格,输入:
=if(sum(B1:B30)>=52,52,sum(B1:B30))
回车即可。

说明:if函数的使用方法是:
if(条件,返回满足条件的结果,返回不满足条件的结果)
if(sum(B1:B30)>=52,52,sum(B1:B30))的意思是:当B1到B30的和大于等于52时,就返回值52,否则就计算出B1到B30的和值。【sum(B1:B30)是求B1到B30的和的函数】

注意输入法要处于英文状态哟。

=MIN(SUM(B1:B30),52)