我正在寻找一列的平均值,其中排除了 x 行。数据未排序。如果该列从最低到最高排序,则要排除的数据应该是底部的 x 行。
示例数据(列){2;2;3;1;2}
截止“x” = 2
已排序 {1;2;2;2;3}
截掉最后两行 {1;2;2}
平均值 = 1.66
答案1
提出的解决方案使用辅助列,但它可以始终隐藏,不需要任何用户干预。
您的数据位于单元格 A1:A5 中
在 B1(辅助列)中输入此公式并将其拖到 B5,现在您已将 B1 到 B5 列为 A1:A5 的排序列表。现在只需隐藏 B 列即可。
=SMALL($A$1:$A$5,ROW(1:1))
用户应在单元格 C1 中输入截止数字的值。
在 D1 中输入以下公式
=IF(OR(C1>=ROW(B5),C1=0),"Invalid CutOff",AVERAGE(INDEX(B1:B5,1):INDEX(INDEX(B1:B5,1):B5,MAX(ROW(B1:B5))-C1)))
然后在公式栏中按 CTRL + SHIFT + ENTER 使其成为数组公式。
答案2
如果你只想删除 2(最大数字),则可以使用此公式
=(SUM(A1:A5)-LARGE(A1:A5,1)-LARGE(A1:A5,2))/(COUNT(A1:A5)-2)
您的数字在 A1:A5 中 Large(A1:A5,1) 是最大值
Large(A1:A5,2) 是第二大数字
,依此类推,如果您想要的大于
,则将总和除以数字数量减去 (-) 您想要截断的最大值的数量