【问题标题】:Taking the top values and averaging from data list in Excel从 Excel 中的数据列表中取最大值并取平均值
【发布时间】:2016-10-28 09:34:36
【问题描述】:

我在 Excel 中有一个数据列表,我希望获取每个数字的前 3 个值,并快速获得这 3 个值的平均值。我经常使用多达 50,000 行的列表,这些列表在任何时候都可以转换为超过 10,000 个不同的 A 列数字。

我了解基本数据透视表在收集前 3 个值后获取平均值,但需要找到一种方法来删除所有不是前 3 个值的值,

我相信这可能是一个非常简单或复杂的问题,并提前感谢您的帮助。

【问题讨论】:

    标签: excel numbers pivot-table weighted-average


    【解决方案1】:

    您可以使用=LARGE(Array, k) formula。例如,=LARGE(B:B, 1) 表示最大 1 的数字,=LARGE(B:B, 2) 表示最大 2 的数字等。

    如果列包含许多重复项,并且您想获取所有出现的前三个值,请使用此公式获取所有这些值(输入:

    =IF(LARGE(B:B,ROW(A1))>=LARGE(B:B,COUNTIF(B:B,LARGE(B:B,COUNTIF(B:B,MAX(B:B))+1))+COUNTIF(B:B,MAX(B:B))+1),LARGE(B:B,ROW(A1)),"")
    

    【讨论】:

    • 在这里您可以查看我的示例 excel 工作簿:drive.google.com/open?id=0BzFv0oeets6uZ3NjaTlUa1l2c1k
    • 嗨,bzimor,谢谢你的回复,我可能看错了,如果我错了,我很抱歉,但我认为这不是我想要做的。我需要每个数字/字母的前 3 个值。例如,在您的工作簿中,如果有 5 个“a”值分别为 100、90、80、70、60 和 50。我需要公式来突出显示 100、90 和 80,或者删除其余部分,以便我快速看到每个单独帐户的前 3 名,我知道如果我只有一个字母,这相对容易,但是当帐户如此多样化时,我就会遇到问题。
    • 经过深思熟虑,如果“a”列中的每个单独引用可以根据有多少值从 1-X 开始编号,那么我可以按值对 z-a 进行排序并过滤 1,2&3 .也许这会是一种更简单的做事方式?
    • 我想我可能已经找到了更简单的方法, =IF(B3=B2,A2+1,1) 所以基本上每个新行都会检查之前的值,如果它存在数字增加 1,如果它们不从 1 重新开始。无论如何,感谢您的帮助,我只是认为当有一个更简单的方法时我试图做太多事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    • 2017-12-15
    • 1970-01-01
    • 2021-02-14
    • 1970-01-01
    相关资源
    最近更新 更多