【问题标题】:Create a list of majority values创建多数值列表
【发布时间】:2020-07-06 16:38:27
【问题描述】:

我有以下 Excel 电子表格:

            A                     B   
    1    Values         Descending order of majority values
    2      50                     80 (--> Appears 6 times in Column A)
    3      80                    -10 (--> Appears 6 times in Column A)
    4     -10                     50 (--> Appears 3 times in Column A)
    5     -10                     70 (--> Appears 1 time in Column A)
    6     -10                     40 (--> Appears 1 time in Column A)
    7      40 
    8      80                 
    9     -10   
   10      80
   11     -10   
   12      50
   13      80
   14      50
   15      70
   16      80
   17      80
   18     -10
   19

Column A 我有一个值列表。
Column B 中,我想根据列表中的多数列出这些值。

目前我能找到的唯一一种形式是来自here

={MAX(MODE.MULT(A1:A18))}

这个公式会给我最高多数的值,在这种情况下是80,但我无法从中创建一个列表。

你知道可以创建这样一个列表的公式吗?


注意:

a) Column A 中的值可以具有相同的多数。如果是这种情况,我希望这两个值都列在Column B 中(在这种情况下为80-10

b) Column A 中的值可以是正数或负数。

【问题讨论】:

  • Pivot Table 可能是最简单的。
  • @PEH:我的问题与您提到的问题不同!在您提到的问题中,应该创建一个 MAX 值列表。我的问题是关于 MAJORITY-value 这意味着我的问题是关于一个值在列表中出现的频率,而不是值本身有多高!
  • 您可以在 Google 上找到的另一个资源:List most frequently occuring numbers
  • @Michi 如果你在“多久”之后,那么你应该检查一下 frequency() 函数。

标签: excel vba excel-formula


【解决方案1】:

将此数组公式放入第一个单元格并向下拖动:

=LARGE(IF(FREQUENCY($A$2:$A$18,$A$2:$A$18)=LARGE(FREQUENCY($A$2:$A$18,$A$2:$A$18),ROW(1:1)),$A$2:$A$18),SUMPRODUCT(--(LARGE(FREQUENCY($A$2:$A$18,$A$2:$A$18),ROW($A$1:INDEX(A:A,ROW(1:1))))=LARGE(FREQUENCY($A$2:$A$18,$A$2:$A$18),ROW(1:1)))))

作为数组公式,退出编辑模式时必须使用 Ctrl-Shift Enter 而不是 Enter 来确认

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-27
    • 1970-01-01
    • 1970-01-01
    • 2014-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多