两个范围之间的公共值的数量每个仅计算一次

问题描述 投票:0回答:1

我有两个数值范围,比如 A1:G2: 15 114 101 32 87 61 138 3 45 12 101 80 29 61 和 A5:G6: 61 101 87 50 114 99 20 114 32 138 61 15 83 72

我想计算两个范围之间有多少个公共数值,但每个只计算一次(例如 61/101/114 在其中一个范围中出现两次,但只计算一次)

在J9中我有公式: =SUM(IF(COUNTIF(A5:G6,A1:G2)=0,0,IF(COUNTIF(A5:G6,A1:G2)>=1,1))) 结果给出 9,这是错误的,因为两个范围之间只有 7 个公共数值:15,32,61,87,101,114,138。我相信这是由于值被计算了两次。

我还尝试过用 0.5 来计算重复出现的次数: =SUM(IF(COUNTIF(A5:G6,A1:G2)=0,0,IF(COUNTIF(A5:G6,A1:G2)=1,1,0.5))) 然而给出 7.5...

您的帮助将不胜感激!

excel-formula range unique
1个回答
0
投票

假设根据发布的标签没有

Excel Constraints
,那么可以尝试以下公式来计算常见数值的 7 数,并将重复项计数为一次:


• 单元格中使用的公式 A8

=ROWS(UNIQUE(TOCOL(HSTACK(
 IFS(COUNTIFS(A1:G2,A5:G6)>=1,A5:G6),
 IFS(COUNTIFS(A5:G6,A1:G2)>=1,A1:G2)),3)))

以下公式返回您需要的值,通过包装在 ROWS() 中,为我们提供您正在查找的计数,如上所示:

=UNIQUE(TOCOL(HSTACK(
 IFS(COUNTIFS(A1:G2,A5:G6)>=1,A5:G6),
 IFS(COUNTIFS(A5:G6,A1:G2)>=1,A1:G2)),3))

此外,如果您需要多次,只需将运算符值从

>=1
更改为
>1


=UNIQUE(TOCOL(HSTACK(
     IFS(COUNTIFS(A1:G2,A5:G6)>1,A5:G6),
     IFS(COUNTIFS(A5:G6,A1:G2)>1,A1:G2)),3))

或者,只有不匹配

=UNIQUE(TOCOL(HSTACK(
        IFS(COUNTIFS(A1:G2,A5:G6)=0,A5:G6),
        IFS(COUNTIFS(A5:G6,A1:G2)=0,A1:G2)),3))

© www.soinside.com 2019 - 2024. All rights reserved.