高考考试网
当前位置: 首页 高考资讯

excel vba 文本数字求和(excel如何列向求和求最大值)

时间:2023-05-24 作者: 小编 阅读量: 7 栏目名: 高考资讯

附数据样本,我来为大家科普一下关于excelvba文本数字求和?以下内容希望对你有帮助!excelvba文本数字求和如上图,如何求每列合计数中间的最大值?只用了forif,不需要数组,sum内部计算也很快。当然写完了之后,能正确求取结果,很快我又发现其中的bug问题聪明的你看出来了吗

excel vba 文本数字求和?如上图,如何求每列合计数中间的最大值?附数据样本,我来为大家科普一下关于excel vba 文本数字求和?以下内容希望对你有帮助!

excel vba 文本数字求和

如上图,如何求每列合计数中间的最大值?附数据样本

第一列

第二列

第三列

第四列

1

1

5

9

3

1

5

7

3

4

1

6

5

8

1

8

5

1

4

4

8

3

1

3

9

8

6

1

6

4

4

1

2

7

5

1

4

9

3

1

4

5

3

4

有群友给出了公式方案:

26

MAX(MMULT(P1:Z1 1,A5:D15))

41

MAX(SUBTOTAL(9,OFFSET(A:A,,{0,1,2,3},,)))

43

MAX(SUMIF(A:A,">0",OFFSET(A:A,,{0,1,2,3})))

26

MAX(MMULT(D1:N1 1,A5:D15))

45

MAX((MMULT(TRANSPOSE(ROW(A5:A15)^0),A5:D15)))

45

MAX((MMULT(TRANSPOSE(ROW(A5:A15)^0),A5:D15)))

52

MAX(SUM(A5:A15),SUM(B5:B15),SUM(C5:C15),SUM(D5:D15))

也有半自动的方式,先求单列和用sum,再横向拖动公式,求出每列和

最后再用max求最大值

网友的vba方案:

Sub test1() '通用的数组调用工作表函数Sum区域求和法

Dim i, j, k, arr, brr(), msum, mmax

arr = [a5: d15]

For i = 1 To UBound(arr, 2)

'msum = O

' For j = 1 To UBound(arr)

' msum = msumarr(j, i)

' Next

msum = Application.Sum(Range(Cells(5, i), Cells(UBound(arr)4, i)))

If msum > mmax Then mmax = msum

Next

'Range("k13") = mmax

Range("g6") = mmax

End Sub

下面给出我的解决方案

方案一,sub方式

Sub test2()

For i = 1 To 4

msum = Application.WorksheetFunction.Sum(Range(Cells(5, i), Cells(15, i)))

If msum > mmax Then mmax = msum

Next

[G6] = mmax

End Sub

因为用函数可以内部直接算,逻辑上也更简明。只用了for if,不需要数组,sum内部计算也很快。

方案二:function自定义函数方式

Function zsummax(rng As Range) '在range中列向求和再求最大值

Dim i, msum, mmax

For i = rng.Column To rng.Columns.Count

msum = Application.WorksheetFunction.Sum(rng.Range(rng.Cells(rng.Row, i), rng.Cells(rng.Rowrng.Rows.Count, i)))

If msum > mmax Then mmax = msum

Next

zsummax = mmax

End Function

这个自定义函数更适合公式玩家使用。

当然写完了之后,能正确求取结果,很快我又发现其中的bug问题

聪明的你看出来了吗

    推荐阅读
  • 华莱士餐厅十大禁令(华莱士餐厅)

    在华莱士上班的前途堪忧啊华莱士一家上中下企业可以说都是连锁店大家常说的喷射战士呢不敢否认。因为油三四天换一次,每天炸各种东西炸鸡鸡块薯条鸡柳都在一个锅里。第二呢,食物容易交叉感染员工比较混乱,怎么说呢?刚杀完鸡的手就去包汉堡了。生菜更不要提了建议大家不要轻易尝试那天朋友说喷射战士,我不信点了两份薯条吃了吃到后面就不行了

  • 电脑系统安装教程u盘安装(电脑系统安装教程u盘安装方法)

    下面希望有你要的答案,我们一起来看看吧!电脑系统安装教程u盘安装电脑系统安装教程u盘安装方法如下。先下载个u盘制作工具之类的,运行程序把u盘制作一下,u盘如果有数据先考出来,完成后把win7GHO系统文件放到u盘里。开机设置u盘启动时,不用进bios,直接网上查找主板品牌的型号,快捷启动按键是那个,开机点按。选择u盘那一项,进入后,选pe进去重装系统。

  • 北方冬季热车的正确方法(北方冬季怎么热车)

    北方冬季热车的正确方法正确的热车方法应该是,在发动后30秒至一分钟后上路,保持在低车速。发动机转速以不超过3000~3500转为限,一般保持2000转,否则发动机及变速箱所受到的激烈磨损可是无法复原的。自动挡车型,自动档车应在D档维持2000转以下行驶3~5分钟,一般地,车况良好的自动挡车即使不踩踏油门,其怠速时的低转速也足以使车辆缓慢向前行走。

  • 意外团体险和雇主责任险的区别(雇主责任险VS团体意外险)

    以广东省工伤条例为例,按规定,员工发生意外后,应及时进行工伤认定和劳动能力鉴定,进而确定工伤保险待遇。

  • 北京暖气费怎么交(2022北京暖气费怎么交费)

    收取采暖费应当提供本市国税机关统一印制的发票。未签订合同的,由房屋所有权人或者承租政府规定租金标准公有住房的承租人按照规定支付采暖费。采暖价格北京热力执行北京市价格主管部门制定的收费标准。APP目前已开通工商银行、建设银行、中信银行和微信支付4种付款方式。上门收费老人或行动不便的人士可通过小区张贴的通知公告联系收费人员上门收费。法定采暖期按121天计。除上述外执行协议。

  • 无限经验修补弓指令(怎么经验修补呢)

    我们一起去了解并探讨一下这个问题吧!无限经验修补弓指令经验修补弓箭指令:经验修补是利用玩家自己的经验球自动修复弓磨损的耐久性。它的主要优点是弓和箭可以长时间使用。当玩家有足够的箭,为弓箭附魔经验修补无疑是最正确的选择了。这样也是非常不错的。无限和经验修补两个附魔合在一起:虽然当前版本的附魔机制不允许玩家在同一弓和箭上附魔。

  • 女明星发际线的秘密(从9.4到4.7国剧良心)

    《欢乐颂3》有一说一,Sir并不是没被人提前预警过。这种热度,更是帮助它提名白玉兰,拿下飞天奖。正午阳光的保驾护航,原著阿耐的编剧加持,剧粉书迷的流量保证。剧粉熟知的大花有代表作优秀的小花。但打扫厕所时,何悯鸿要把酒精和84混用,被朱喆制止,说有毒。一个回旋踢剪刀腿制服流氓,拿到手机删视频。巧了,上司的儿子在这个公司实习,还对她穷追不舍。Sir大胆猜测,这本笔记未来可能会引爆两人的关系。

  • 大学里的卷是啥子意思(内卷意思)

    本意是指人类社会在一个发展阶段达到某种确定的形式后,停滞不前或无法转化为另一种高级模式的现象“内卷”最早的“出处”是几张名校学霸的图片现在很多高校学生来指代非理性的内部竞争或“被自愿”竞争这个词在大学生中广为流传、屡次出圈,引起了一波又一波网络讨论,我来为大家科普一下关于大学里的卷是啥子意思?现在很多高校学生来指代非理性的内部竞争或“被自愿”竞争。

  • 小儿麻疹的预防方法(小儿麻疹的护理办法)

    小儿麻疹的预防方法麻疹是由麻疹病毒引起的全身发疹性急性呼吸道传染病,约90%发生在6个月至5岁的未接种过麻疹疫苗的宝宝,一年四季均可发生,但以冬末春初为多。

  • 世界上最长的山脉是(它的海拔有多高)

    世界上最长的山脉是世界上最长的山脉是安第斯山脉,属于科迪勒拉山系,也称安弟斯山脉或安蒂斯山脉,位于南美洲的西岸,从北到南全长8900余千米,是世界上最长的山脉。安第斯山脉从南美洲的南端到最北面的加勒比海岸绵亘约形成一道连续不断的屏障。安第斯山脉将狭窄的西海岸地区同大陆的其余部分分开,是地球重要的地形特征之一,它对山脉本身及其周围地区的生存条件产生深刻的影响。安第斯山脉范围从巴拿马一直到智利。