excel - 如何获取特定范围内x数据的平均值
问题描述
我正在做如下平均数据(VBA Excel):
If n < 8 Then
Sheet2.Cells(i, 20).Value = "=SUM(E" & i & ":S" & i & ")/" & n
Else
Sheet2.Cells(i, 20).Value = "=AVERAGE(LARGE(E" & i & ":S" & i & ", {1,2,3,4,5,6,7,8}))"
End If
n = 0
这段代码有效,因为我想要 15 个值中最好的 8 个值。我的问题是如何对 x 值做同样的事情(x 将通过用户表单引入0<x<16
)。当然,我可以使用 15 行的 Select Case,具体取决于 x,但在我看来这不是一个好的编码。
有任何想法吗?
解决方案
如果AVERAGEIF
可用:
Sheet2.Cells(i, 20).Value = "=AVERAGEIF(E" & i & ":S" & i & ","">=""&LARGE(E" & i & ":S" & i & "," & x & "))"
对于 i = 2 和 x = 8,公式为:=AVERAGEIF(E2:S2,">="&LARGE(E2:S2,8))
如果不:
Sheet2.Cells(i, 20).Value = "=SUMIF(E" & i & ":S" & i & ","">=""&LARGE(E" & i & ":S" & i & "," & x & "))/" & x
对于 i = 2 和 x = 8,公式为:=SUMIF(E2:S2,">="&LARGE(E2:S2,8))/8
推荐阅读
- java - 我有一个问题,我遇到了这样的错误 [[Ljava.lang.Integer;@26f0a63f]
- docker - docker-compose up 适用于本地,而不是部署
- spring - Guice 和(移至)Spring 的比较
- c - 使用scanf时如何检查预期的输入数量何时停止?
- angular - 为什么自定义验证不适用于反应形式?
- node.js - 用 Jest 测试 Express 时,有没有办法解决这个“TypeError:express.json 不是函数”?
- google-bigquery - 如何为 BigQuery 中的数组创建 DDL
- php - 百分比格式化程序
- python - 连接两个 DataFrame,但仅适用于 Python 中的常见值
- git - 导出特定日期范围内 Azure Repos 中特定文件夹中所有文件的 git 历史记录