Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 13406|回复: 31

[已解决]求1到100之间的所有整数和

[复制链接]
发表于 2014-10-7 15:31 | 显示全部楼层 |阅读模式

好朋友在学VBA,今天问了我这样一个问题:
求1到100之间的所有整数和

我查了资料,写了两段代码:

过程:
  1. Sub nsum()
  2.     Dim i As Integer, nsum As Long
  3.     For i = 1 To 100
  4.         nsum = i + nsum
  5.     Next i
  6.     MsgBox nsum
  7. End Sub
复制代码
自定义函数:
  1. Function SumNumber(Bottom As Long, Top As Long) As Long
  2. Application.Volatile
  3.     If Bottom > Top Then
  4.         SumNumber = ""
  5.     Else
  6. Dim Number As Long
  7.         For Number = Bottom To Top
  8.         SumNumber = Number + SumNumber
  9.         Next
  10.     End If
  11. End Function
复制代码
在单元格中输入以下公式可以求和:
  1. =SumNumber(0,100)
复制代码
类似于RANDBETWEEN,两个参数,一个最小值,一个最大值
对最大/小值之间的所有整数求和
也要求第一参数为最小值,否则返回错误值


对于VBA,其实我也算是新手,之所以发到论坛,是觉得一定有可以改进的地方

各位尽情拍砖
最佳答案
2014-10-7 19:00
不用函数的哈,等差数列的计算公式,高中数学有学过,或者请教度娘就能得到公式
  1. =(a1+an)*n/2
复制代码
a1 等差数列的第一个
an 等差数量的最后一个
n 等差数列的个数
应用到这题就是 =(1+100)*100/2

评分

参与人数 1 +3 收起 理由
神隐汀渚 + 3 流弊

查看全部评分

发表于 2014-10-7 15:54 | 显示全部楼层
如果是为了学VBA,这样的练习是有意义的。但如果仅仅是个求和,用VBA甚至自定义函数,那就杀鸡用牛刀了。
回复

使用道具 举报

发表于 2014-10-7 16:39 | 显示全部楼层
{:11:}  可以修改下题目  转到资料馆~~
回复

使用道具 举报

 楼主| 发表于 2014-10-7 17:20 | 显示全部楼层
函数法

正数(数组):
  1. =SUM(ROW(1:100))
复制代码
负数(数组):
  1. =SUM(-ROW(1:100))
复制代码
回复

使用道具 举报

 楼主| 发表于 2014-10-7 17:24 | 显示全部楼层
1091126096 发表于 2014-10-7 15:54
如果是为了学VBA,这样的练习是有意义的。但如果仅仅是个求和,用VBA甚至自定义函数,那就杀鸡用牛刀了。

还有什么招,都发出来吧   一起交流/学习
回复

使用道具 举报

发表于 2014-10-7 17:27 | 显示全部楼层
数组公式不就完了。
  1. =SUM(ROW(1:100))
复制代码
回复

使用道具 举报

发表于 2014-10-7 17:38 | 显示全部楼层
=SUMPRODUCT(ROW(1:100))

评分

参与人数 1 +9 收起 理由
刘苏 + 9 非数组公式

查看全部评分

回复

使用道具 举报

发表于 2014-10-7 19:00 | 显示全部楼层    本楼为最佳答案   
不用函数的哈,等差数列的计算公式,高中数学有学过,或者请教度娘就能得到公式
  1. =(a1+an)*n/2
复制代码
a1 等差数列的第一个
an 等差数量的最后一个
n 等差数列的个数
应用到这题就是 =(1+100)*100/2

点评

龙哥V5  发表于 2014-10-7 19:31

评分

参与人数 1 +3 收起 理由
神隐汀渚 + 3 流弊

查看全部评分

回复

使用道具 举报

发表于 2014-10-7 19:47 | 显示全部楼层
时间长了,咱连等差数列的和都忘了
回复

使用道具 举报

发表于 2014-10-7 20:27 | 显示全部楼层
有人告诉我一个算法,你们永远想不到!

=Combin(n+1,2)

n=100, 所以 = Combin(101,2)=5050
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-12 14:46 , Processed in 0.285102 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表