Excel:计算两列中的唯一实例

Excel:计算两列中的唯一实例

我有一个电子表格,其中有一列表示基站,另一列表示频率,如下所示:

SITE      FREQUENCY
MA1084    687
MA1084    687
MA1084    687
MA1084    4382
MA1084    4382
MA1084    4382
MA1096    4358
MA1096    4358
MA1096    4358
MA1096    687
MA1096    687
MA1096    687
MA1096    4382
MA1096    4382
MA1096    4382

我想要一个公式,将所有 SITE 和 FREQUENCY 的唯一组合相加。我的预期输出如下。基本上我想知道每个基站有多少个唯一频率。

SITE      FREQUENCY COUNT
MA1084    687       2
MA1084    687       2
MA1084    687       2
MA1084    4382      2
MA1084    4382      2
MA1084    4382      2
MA1096    4358      3
MA1096    4358      3
MA1096    4358      3
MA1096    687       3
MA1096    687       3
MA1096    687       3
MA1096    4382      3
MA1096    4382      3
MA1096    4382      3

我可以使用数据透视表来做到这一点,但我正在寻找基于公式的解决方案。任何帮助都非常感谢。

答案1

一种解决方案是使用辅助列。虽然这并不总是理想的,但这取决于您需要如何显示输出。假设SiteFrequency分别位于 A 列和 B 列中,则在连接列中输入:=A2&B2。然后在Count列中输入:=COUNTIF(C:C,C2)。然后您将获得以下内容:

SITE    FREQUENCY   Concatentae COUNT
MA1084  687 MA1084687   3
MA1084  687 MA1084687   3
MA1084  687 MA1084687   3
MA1084  4382    MA10844382  3
MA1084  4382    MA10844382  3
MA1084  4382    MA10844382  3
MA1096  4358    MA10964358  3
MA1096  4358    MA10964358  3
MA1096  4358    MA10964358  3

答案2

使用辅助列:

  • 设置D2=IF(COUNTIFS(A$2:A2,A2,B$2:B2,B2)=1,1,0)。这将检查是否有任何先前的行与此行的站点和频率相匹配。如果这是第一行,则计算结果为 1;否则为 0。因此,这会用 1 标记每个组的第一行。
  • 设置C2=SUMIFS(D$2:D$16,A$2:A$16,A2)。这会为与此行具有相同站点的行添加 D 列值。这给出了与此站点相关的不同频率的计数。

然后选择C2并向D2下拖动/填充。
          电子表格

答案3

您可以使用数组公式

=SUM(IF(FREQUENCY(IF(A$2:A$16=A2,MATCH(B$2:B$16,B$2:B$16,0)),ROW(B$2:B$16)-MIN(ROW(B$2:B$16))+1),1))

按要求抄下来。

调整范围以适应,但请确保不要使它们太大(当然不要引用整个列!),因为数组公式会计算传递给它们的所有单元格,包括那些在技术上超出范围内最后使用的单元格的单元格。

问候

答案4

根据 Excel 365 更新的答案:

单元格公式C2(根据需要复制下来):

=ROWS(UNIQUE(IF(A:A=A2,B:B,"")))-1
  • IF(A:A=A2,B:B,"")列出所有包含 SITE 的项目SITE,其他内容显示空白。
  • UNIQUE(IF(~))仅过滤列表中唯一的项目。
  • ROWS(UNIQUE(~))计算该唯一列表中的行数。
  • ...-1因为的值""仍将显示为空行并且您不想包含该结果。

截屏

相关内容