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


0

我有一个电子表格,其中的值包含多行矩阵。对于每一行,我都有N个数字。我想计算该行的M个较高值的平均值。与M <N。有共同的功能吗?

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


尝试并更加清楚地说明您要完成的任务-也许举一个小例子。
花生酱2013年

问题并不完全相同,因为在此之前我们不知道将使用多少个值。在上一个问题中,明确要选择的单元格数为3。因此,我需要的函数具有一组单元格和一个数字M作为参数。例如maverage(set,m)。
DanielHernández13年

可能相关:一个系列中的N个最高值之和?(免责声明:我自己的问题:))
CVn 2013年

Answers:


1

好的,如果您的数据数值数据在上的行中Sheet1,请在中输入MSheet2!M1,然后输入

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

进入Sheet2!A1。(例如,如果您的数据仅在Columns  Gthrough中  Z,请更改Sheet1!1:1Sheet1!G1:Z1。)按Ctrl+ Shift+ Enter创建一个数组公式。向下拖动任意多行,您应该完成。

说明:

  • &是Excel中的字符串连接运算符(据我所知,Libre Office Calc与Excel非常相似),因此,如果Sheet2!M1为17,则"1:"&M$1成为字符串值"1:17"
  • INDIRECT("1:17")是包括行1到行  的区域  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,他回答了我用来启发灵感的类似问题

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.