首页 > 解决方案 > 获取任意数量行之间的重复数

问题描述

编辑(建议更新以下解决方案)

我需要计算两行之间的重复数(在一个公式中):

Row 1>  20  21  22  41    
Row 2>  3   20  30  22  47  49   

这里的结果应该是 2 (20 & 22)

以下两个公式有效:

=COUNT(FILTER(UNIQUE(flatten(TRANSPOSE(A2:F3))), ARRAYFORMULA( COUNTIF(flatten(TRANSPOSE(A2:F3)),UNIQUE(flatten(TRANSPOSE(A2:F3))))>1 )))

=countif(query(flatten(A2:F), "Select count(Col1) group by Col1"), ">1")

但是一旦两行不在同一张纸上,公式就不再起作用(即使有括号)

这是带有示例数据和结果的 Google 表格:https ://docs.google.com/spreadsheets/d/1PRNGgzAmpQUE0nCCuxBPJbM4gESUtnSMQf-cXG3ozBo/edit?usp=sharing

你怎么看 ?

谢谢 !

标签: google-sheetsgoogle-sheets-formulaarray-formulasgoogle-sheets-query

解决方案


编辑 (根据 OP 的评论

请使用没有辅助列的以下公式

=COUNT(FILTER(UNIQUE(flatten(TRANSPOSE(A2:F3))), ARRAYFORMULA( COUNTIF(flatten(TRANSPOSE(A2:F3)),UNIQUE(flatten(TRANSPOSE(A2:F3))))>1 )))

原始回复

您可以使用以下两个公式

对于“助手”列

=flatten(TRANSPOSE(A2:F3))

对于计数:

=COUNTIF(ArrayFormula(if(H2:H="","",countifs(H2:H,H2:H,row(H2:H),"<="&row(H2:H)))),">1")

在此处输入图像描述

您还可以将它们合并到一个公式中,方法是在第二个公式中H2:H替换为flatten(TRANSPOSE(A2:F3))


推荐阅读