WPS Excel VBA 按条件(小区名称、部门名称)统计业主满意度调查表(二维表格)数据
WPS Excel VBA 按条件(小区名称、部门名称)统计业主满意度调查表(二维表格)数据
Excel->开发工具->查看代码->插入模块
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
'函数功能 求评分区域内 项目名称(某项目)的 评分
'
'Parameters List 参数列表
'
' project_name_feild as range 项目名称所在列
' score_range as range 评分数据区域(在《调查问卷汇总》表)
' 评分数据区域 与 项目名称列 的 起始行、结束行 必须分别在同一行 (在《调查问卷汇总》表)
'
' sepcified_project_name as string 项目名称(在《全项目计分汇总》表)
'
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function projectscore( project_name_feild, sepcified_project_name, score_range )
'用于指定项目的选项计数(问卷数*题目数)
Dim item_count As Integer
item_count = 0
'用于计算指定项目的得分之和
Dim score_sum As Integer
score_sum = 0
'用于计算指定项目满意度得分
Dim project_score As Single
project_score = 0
'用于for循环的行、列
Dim score_range_row As Integer
score_range_row = 1
Dim score_range_col As Integer
score_range_col =1
For score_range_row = 1 To score_range.Rows.Count Step 1
'如果项目名称的值 与 指定的项目名称 相同
If project_name_feild(score_range_row) = sepcified_project_name Then
For score_range_col = 1 To score_range.Columns.Count Step 1
'开始计算该项目的得分之和
score_sum = score_sum + score_range(score_range_row, score_range_col)
'计算指定项目的选项计数
item_count = item_count + 1
Next
End If
Next
project_score = score_sum / item_count
projectscore = project_score
End Function
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
'函数功能: 求评分区域内 指定项目名称(某项目)的 指定部门名称(某部门) 评分
'
'Parameters List 参数列表
' 评分数据区域 与 项目名称列 的 起始行、结束行 必须分别在同一行(在《调查问卷汇总》表)
' project_name_feild as range 项目名称所在列
' sepcified_project_name as string 指定项目名称(在《全项目计分汇总》表)
'
' dep_and_score_range as range 部门名称和评分所在区域 dep=department(在《调查问卷汇总》表)
' sepcified_dep_name as string 指定部门名称(在《全项目计分汇总》表)'
'
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function depscore(project_name_feild As Range, sepcified_project_name As String, dep_and_score_range As Range, sepcified_dep_name As String)
'用于指定项目的选项计数(问卷数*提数)
Dim item_count As Integer
item_count = 0
'用于计算指定项目的得分之和
Dim score_sum As Integer
score_sum = 0
'用于计算指定项目指定部门满意度得分
Dim dep_score As Single
dep_score = 0
'用于for循环的行、列
Dim score_range_row As Integer
score_range_row = 1
Dim score_range_col As Integer
score_range_col = 1
For score_range_row = 1 To dep_and_score_range.Rows.Count Step 1
'如果项目名称的值 与 指定的项目名称 相同
If project_name_feild(score_range_row) = sepcified_project_name Then
For score_range_col = 1 To dep_and_score_range.Columns.Count Step 1
'如果部门名称 与 指定部门名称 相同
If dep_and_score_range(1, score_range_col) = sepcified_dep_name Then
'开始计算该项目的得分之和
score_sum = score_sum + dep_and_score_range(score_range_row, score_range_col)
'计算指定项目的选项计数
item_count = item_count + 1
EndIf
Next
End If
Next
project_score = score_sum / item_count
depscore = project_score
End Function
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)