2017-10-07 43 views
0

我困住了一个问题。可以说我有在范围A1中的以下数据:K4计数与多个crieria

row1 1 2 3 4 5 6 7 8 9 10 
row2 2 3 4 5 6 7 8 9 10 11 
row3 3 4 5 6 7 8 9 10 11 12 
row4 3 5 6 7 8 9 10 11 12 13 

而在范围N1以下数据:P4

1 2 3 
2 3 4 
3 4 5 
11 12 13 

我想在范围R1式中:R4

所需的输出应该是R1 = 1,R2 = 2,R3 = 3,R4 = 1

我试图评估第一组号码1 2和3的和从ROW1每一行中检查ROW4并找出匹配多少行所有3个数字和放单元格R1中的值将继续用于所有4组数字。有人可以帮助我一个公式?

感谢

回答

2

你可以在R1使用这个公式向下复制到R4

=SUMPRODUCT((MMULT(COUNTIF(OFFSET(B$1:K$4,ROW(B$1:K$4)-ROW(B$1),0,1),N1:P1),{1;1;1})=3)+0)

虽然我被骗了一下,那里,因为{1;1;1}是基于列的数量变量N1:P1(所以是3),所以对于更通用的版本(这将允许N1:P1为任意大小的行),您可以使用此“数组公式”

=SUM((MMULT(COUNTIF(OFFSET(B$1:K$4,ROW(B$1:K$4)-ROW(B$1),0,1),N1:P1),TRANSPOSE(COLUMN(N1:P1)^0))=COLUMNS(N1:P1))+0)

CTRL + SHIFT +证实ENTER

+0

谢谢你的解决方案。我肯定会发现有点难以理解它是如何工作的。我试过阵列版本,它确实工作,但是当我删除列P中的值时,列R中的所有值都变为零。而不是三胞胎,我只是想弄清楚,同样的公式适用于双打或四倍,但它没有奏效。 – Sabha

+0

如果您只想使用N1:O1,则需要将N1:P1中的所有引用更改为N1:O1 .....或者如果要允许N1:P1范围中的空白,则将最终的COLUMNS函数更改为COUNT ,即:= SUM((MM(COUNTIF(OFFSET(B $ 1:K $ 4,ROW(B $ 1:K $ 4)-ROW(B $ 1),0,1),N1:P1),TRANSPOSE(COLUMN(N1: P1)^ 0))= COUNT(N1:P1))+ 0)' –

+0

cool!非常感谢 ! – Sabha