在Excel中高效获得条件模式

我正在寻找find一个列的模式(最occurrent)值,给出另一列。

我知道如何做,但计算需要多个分钟,可以使Excel无响应。 所以我正在寻找更好的方法。


假设我的数据看起来像这样

group | Level 1 D 1 A 1.1 B 1 C 1 A 1 E 

然后我想要输出看起来像这样:

 group | LevelMode 1 A 1.1 B 

假设数据在工作表的左上angular,我现在使用这个公式,我沿着C列拖动:

 =COUNTIFS(A:A;A2;B:B;B2)/COUNTIF(A:A;A2) 

这给了我的组内值的比例。 之后,我删除所有不超过0.5以及重复,给每个组的模式,如果它存在。

这个公式确实是我想要的,但对于大约50000行,它只需要太多的资源。 我期望在数据透视表选项中find它,或者在网上进行快速search之后,但我还没有find任何方法来实现我的目标。

我有相当好的硬件,一个相当新的Excel版本,宁愿没有macros的做这个。 但是,如果需要macros来实现这一点,那就这样吧。

尝试这个:

步骤1。

创build数据透视表并将其放置在RowLabels“Group”中,并放在“Level”下。 现在,在“值”字段中将“水平”作为计数。

第2步。

看下面的图片。 单击“级别”右侧的黑色箭头(图片中看不到它,但应该在红色圆圈内)。 select“数值filter”,然后select“前10名”,然后将数字设置为1(前1)。 完成!

注意:您需要为“Level”执行第2步。 如果你这样做“组”,它将无法正常工作。

在这里输入图像说明

编辑:这是结果以及数据透视表应该如何。

在这里输入图像说明

现在将输出形成为所需的格式:

  1. 在数据透视表工具>devise下,将报表布局设置为表格forms
  2. 禁用总计和小计

假设默认设置,您现在可以轻松地复制组和LevelModes的列表