百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

excel vba vbnet条件求和求平均应用示例

yuyutoo 2024-10-12 01:34 4 浏览 0 评论

核定月份

月度奖金核定额度

月度考核系数(上报)

当月考核系数均值

月度考核奖金额度=当月总奖金/当月总系数*个人系数之和

1月

1000

1.111

1.116

995.52

1月

1000

1.112

1.116

996.42

1月

1000

1.113

1.116

997.31

1月

1000

1.114

1.116

998.21

1月

1000

1.115

1.116

999.10

1月

1000

1.116

1.116

1000.00

1月

1000

1.117

1.116

1000.90

1月

1000

1.118

1.116

1001.79

1月

1000

1.119

1.116

1002.69

1月

1000

1.12

1.116

1003.58

1月

1000

1.121

1.116

1004.48

2月

2000

1.122

1.126

1992.90

2月

2000

1.123

1.126

1994.67

2月

2000

1.124

1.126

1996.45

2月

2000

1.125

1.126

1998.22

2月

2000

1.126

1.126

2000.00

2月

2000

1.127

1.126

2001.78

2月

2000

1.128

1.126

2003.55

2月

2000

1.129

1.126

2005.33

2月

2000

1.13

1.126

2007.10

3月

3000

1.131

1.135

2989.43

3月

3000

1.132

1.135

2992.07

3月

3000

1.133

1.135

2994.71

3月

3000

1.134

1.135

2997.36

3月

3000

1.135

1.135

3000.00

3月

3000

1.136

1.135

3002.64

3月

3000

1.137

1.135

3005.29

3月

3000

1.138

1.135

3007.93

3月

3000

1.139

1.135

3010.57

红框内是需要求取的数值:D列要根据A列月份求I列月份均值。

E列月度考核奖金额度=当月总奖金/当月总系数*个人系数之和

首先考虑到通用性,先定义两个小函数:

Function 以A列为条件对B列求和(arr(,) As Object, A As Integer, 条件 As Object, B As Integer)
        Dim t As Double
        For i = LBound(arr, 1) To UBound(arr, 1)
            If arr(i, A) = 条件 Then t = t + arr(i, B)
        Next
        Return t
    End Function
    Function 以A列为条件对B列求平均(arr(,) As Object, A As Integer, 条件 As Object, B As Integer)
        Dim t As Double
        Dim k As Integer = 0
        For i = LBound(arr, 1) To UBound(arr, 1)
            If arr(i, A) = 条件 Then
                k = k + 1
                t = t + arr(i, B)
            End If
        Next
        Return t / k
    End Function

以上两个函数可以收藏到模块库中,下次使用简单调用即可。

   Dim xlapp = New excel
        Dim ws = xlapp.activesheet()
        Dim arr = ws.Getgrid(2, "A")‘获取以A2为左上角的数组
        Dim 当月总奖金, 当月总系数
        For i = 1 To UBound(arr, 1)
            ws.cells(i + 1, "D") = 以A列为条件对B列求平均(arr, 1, arr(i, 1), 3)
            当月总奖金 = 以A列为条件对B列求和(arr, 1, arr(i, 1), 2)
            当月总系数 = 以A列为条件对B列求和(arr, 1, arr(i, 1), 3)
            ws.cells(i + 1, "E") = 当月总奖金 / 当月总系数 * arr(i, 3)
        Next

        xlapp.quit()
        '探索3000原创代码

相关推荐

网站建设:从新手到高手

现代化网站应用领域非常广泛,从个人形象网站展示、企业商业网站运作、到政府公益等服务网站,各行各业都需要网站建设。大体上可以归结四类:宣传型网站设计、产品型网站制作、电子商务型网站建设、定制型功能网站开...

JetBrains 推出全新 AI 编程工具 Junie,助力高效开发

JetBrains宣布推出名为Junie的全新AI编程工具。这款工具不仅能执行简单的代码生成与检查任务,还能应对编写测试、验证结果等复杂项目,为开发者提供全方位支持。根据SWEBench...

AI也能写代码!代码生成、代码补全、注释生成、代码翻译轻松搞定

清华GLM技术团队打造的多语言代码生成模型CodeGeeX近期更新了新的开源版本「CodeGeeX2-6B」。CodeGeeX2是多语言代码生成模型CodeGeeX的第二代模型,不同于一代CodeG...

一键生成前后端代码,一个36k星的企业级低代码平台

「企业级低代码平台」前后端分离架构SpringBoot2.x,SpringCloud,AntDesign&Vue,Mybatis,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任...

Gitee 代码托管实战指南:5 步完成本地项目云端同步(附避坑要点)

核心流程拆解:远程仓库的搭建登录Gitee官网(注册账号比较简单,大家自行操作),点击“新建仓库”,建议勾选“初始化仓库”和“设置模板文件”(如.gitignore),避免上传临时文件。...

jeecg-boot 源码项目-强烈推荐使用

JEECGBOOT低代码开发平台...

JetBrains推出全新AI编程工具Junie,强调以开发者为中心

IT之家2月1日消息,JetBrains发文,宣布推出一款名为Junie的全新AI编程工具,官方声称这款AI工具既能执行简单的代码生成与检查等基础任务,也能应对“编写测试、验证结...

JetBrains旗下WebStorm和Rider现已加入“非商用免费”阵营

IT之家10月25日消息,软件开发商JetBrains今日宣布,旗下WebStorm(JavaScript开发工具)和Rider(.NET开发工具)现已加入“非商用免费”阵营。如果...

谈谈websocket跨域

了解websocketwebsocket是HTML5的新特性,在客户端和服务端提供了一个基于TCP连接的双向通道。...

websocket调试工具

...

利用webSocket实现消息的实时推送

1.什么是webSocketwebSocket实现实现推送消息WebSocket是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议。以前的推送技术使用Ajax轮询,浏览器需...

Flutter UI自动化测试技术方案选型与探索

...

为 Go 开发的 WebSocket 库

#记录我的2024#...

「Java基础」Springboot+Websocket的实现后端数据实时推送

这篇文章主要就是实现这个功能,只演示一个基本的案例。使用的是websocket技术。...

【Spring Boot】WebSocket 的 6 种集成方式

介绍...

取消回复欢迎 发表评论: