当前位置:首页 > 科技 > 正文

数据累加满足条件后重新开始计算你知道如何实现吗?



小伙伴们好,今天和大家分享一道有趣的题目。

题目的要求是,在一列数据中,比如单元格区域A2:A31中,从单元格A2开始向下累加。如果累加的结果等于一个给定的值,比如说,5,则从下一个单元格重新开始累加。



题目要求就是这么多。

这类题目应用的场景很多,经常会看到朋友们在各大论坛上题类似的问题。但是这道题目用函数公式是无法解决的,必须要用到VBA。

下面就分享一则大神群友提供的代码吧!


01

首先打开VBA编辑器,你可以按下Alt+F11键,或者在工作表名单击右键,再单击查看代码进入。

进入后单击【插入】-【模块】,如下图。



单击模块1,开始书写代码。



完整的代码如下。

Sub test()

Dim arr(), i As Integer

Dim key

key = 5 '指定的数字

arr() = Range("A2:B31").Value

arr(1, 2) = arr(1, 1)

For i = 2 To UBound(arr)

If arr(i, 1) + arr(i - 1, 2) <> key Then

arr(i, 2) = arr(i, 1) + arr(i - 1, 2)

Else

arr(i, 2) = arr(i, 1) + arr(i - 1, 2)

i = i + 1

arr(i, 2) = arr(i, 1)

End If

Next i

Range("A2:B31").Value = arr()

End Sub

输入完成后保存即可。


02

接下来我们运行代码。



单击图中的箭头,代码将自动运行。



图中涂黄色的单元格即是满足条件后,重新开始累加。

最后,记得要将文件保存为“.xlsm”的格式,即启用宏的文件格式。


好了朋友们,今天和大家分享的内容就是这些了!喜欢我的文章请分享、转发、点赞和收藏吧!如有任何问题可以随时私信我哦!

-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

我就知道你“在看”

推荐阅读
  • 特殊的文本数字型字符串提取,这两个方法都挺好用的!

  • 三两个平淡无奇的小函数,三分钟解决工作中的大问题,财务妹子再也不用熬夜加班了!

  • 谁说不同模块函数不能融会贯通?财务函数都跨界搞排序了!

  • POWER QUERY--从列数据中提取字符

  • 基础篇--数组的运算规则

你可能想看:

有话要说...

取消
扫码支持 支付码