创建多数值列表

时间:2018-09-28 06:50:06

标签: excel excel-vba excel-formula

我有以下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中的值可以为正或负。

1 个答案:

答案 0 :(得分:0)

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

=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进行确认

enter image description here