如何获取 N 个单元格中较高 M 值的平均值?

如何获取 N 个单元格中较高 M 值的平均值?

我有一个电子表格,其中包含多行矩阵中的值。每行都有 N 个数字。我想计算该行中 M 个较高值的平均值。M<N。是否有通用函数可以执行此操作?

如果没有这样的功能,我想我可以使用 gnumeric 的 python 插件或 libreoffice 的基本插件来添加它。

答案1

好的,如果您的数据数字数据在行中Sheet1,则输入您的值代入Sheet2!M1,并输入

=AVERAGE(LARGE(Sheet1!1:1, ROW(INDIRECT("1:"&M$1))))

变成Sheet2!A1。(如果您的数据仅在 到 的列中,则更 G改为 。Z)按++创建数组公式。向下拖动所需的行数,然后就完成了。Sheet1!1:1Sheet1!G1:Z1CtrlShiftEnter

解释:

  • &是 Excel 中的字符串连接运算符(据我所知,Libre Office Calc 与 Excel 非常相似),因此,如果Sheet2!M1是 17,那么就"1:"&M$1变成字符串值"1:17"
  • INDIRECT("1:17")1是由 Row到 Row 组成的区域 17,并且
  • ROW()其中 是数组{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}
    这是创建由运行时数据指定的数组值的技巧。
  • LARGE(Sheet1!1:1, {1…17})是数组{ LARGE(Sheet1!1:1,1), LARGE(Sheet1!1:1,2), LARGE(Sheet1!1:1,3), …},它是 中最大的成员Sheet1!1:1,第二大成员,…,依此类推,直到第 17 个。

感谢 teylyn,他的回答类似问题我用来获取灵感。

相关内容