计算两个范围之间的匹配数量
我正在寻找一个公式来计算两个单元格范围内匹配的数字的数量。 我想用例子来解释。 这可能会令人困惑。
A1:E1={1,2,3,4,5}
和A2:E2={2,1,3,5,4}
:这里两组数字相同,所以有5个匹配。 (顺序不重要)
A1:E1={1,1,1,1,1}
和A2:E2={1,2,1,1,1}
:这里两组有四个1,所以是4个匹配。
A1:E1={2,2,1,1,1}
和A2:E2={2,2,2,1,1}
:这里两组有两个2s,两个1s匹配,所以是4个匹配总。
A1:E1= {1,4,4,3,7}
和A2:E2={4,3,5,6,1}
,在这种情况下,两个组都有一个A2:E2={4,3,5,6,1}
3.所以它是共有3场比赛。
请让我知道,如果有什么不清楚。 这里充满挑战的部分是重复。
那么我只是知道有人会做得更简洁,但这是行得通的
=SUM(IF(FREQUENCY(A1:E1,N(OFFSET(A1,ROW(A1:E2)-ROW(A1),COLUMN(A1:E2)-COLUMN(A1),1,1)))< FREQUENCY(A2:E2,N(OFFSET(A1,ROW(A1:E2)-ROW(A1),COLUMN(A1:E2)-COLUMN(A1),1,1))), FREQUENCY(A1:E1,N(OFFSET(A1,ROW(A1:E2)-ROW(A1),COLUMN(A1:E2)-COLUMN(A1),1,1))), FREQUENCY(A2:E2,N(OFFSET(A1,ROW(A1:E2)-ROW(A1),COLUMN(A1:E2)-COLUMN(A1),1,1)))))
这个想法是,你使用偏移量来组合两个列表,然后比较频率。 频率越低越好。
已经添加了一个额外的案例 – 前四个给出正确的答案,如果你只是sorting两个列表,并比较它们,但最后一个不。
尝试下面的两个尝试:
{=SUM(COUNTIF(A1:A5,B1:B5))}
要么
{=SUM(IF(COUNTIF(A1:A5,B1:B5)=1,1,0))+SUM(IF(COUNTIF(A1:A5,B1:B5)>1,1,0))}
两者都需要使用Ctrl + Shift + Enter作为数组input
这可以完成,但它需要几个步骤。 它只会在匹配值从0到9时才起作用。 首先在单元格I2
input该公式=CONCATENATE(A2,B2,C2,D2,E2)
,并将其拖动到底部。
然后在单元格J2中input此公式=SUBSTITUTE(I2,A1,"",1)
,并将其拖到N
列底部。
最后,在G2
单元格中input该公式=5-LEN(N2)
,并将其复制/粘贴到search值的旁边。
不知道这是否会解决你的问题,但是这个数组公式 (点击Ctrl + Shift + Enter一起)将得到相同的结果,
=SUMPRODUCT(--(SMALL($A2:$E2,COLUMN($A2:$E2))=SMALL($A1:$E1,COLUMN($A1:$E1))))
我所做的是排名两个行,并计算有多less匹配。 但是,让我知道这是否会涵盖你所有的场景。