0

我想做的是计算两个数组中与要验证的条件匹配的行数。我不能使用 VBA,添加新列(例如带有 VLOOKUP 公式的新列),最好使用数组。

我有两个单独的范围,每个范围都有一个用于标识符的 ID 列和其他带有数据的字段。

例如,范围 1:

在此处输入图像描述

范围 2:

在此处输入图像描述

如果我只需要检查第一个范围,我会这样做:

={SUM((D4:D7="Red") * (E4:E7="Big"))}

但我不知道如何使用其他范围的数据进行检查。

例如,如何使用两个 Ranges 来计算 Red、Big 和 Round 的项目数?

4

2 回答 2

0

把它放在单元格 F4 中:

=IF((VLOOKUP(C4,$C$11:$D$12,2)="Round")*(D4="Red")*(E4="Big"),1,"")

请注意,VLOOKUP 的行为是它查找直到第一个参数的值。由于您的第二个数据集中没有 1,因此第一个单元格将显示“#N/A”,我不知道如何解决,但是当您将此公式向下扩展以比较第一个中的其他样本数据时设置后,ID 号 2 和 4 将为您显示为“是”。

编辑:你想要这个列表的计数。COUNT因此,在此之后,使用该函数应该很容易获得该列中单元格的计数。

于 2013-08-07T14:24:29.733 回答
0

试试这个数组公式

=SUM((D4:D7="Red")*(E4:E7="Big")*ISNUMBER(MATCH(C4:C7,IF(D12:D13="Round",C12:C13),0)))

最后一部分是您想要添加的标准 - IF 函数返回{2,4}[IDs where Data 3 is "Round"] 然后您可以使用 MATCH 将 C4:C7 与之进行比较。如果有匹配项,您会得到一个 NUMBER(而不是 #N/A),这样您就可以使用它ISNUMBER来获取 TRUE/FALSE 并将其输入到您的原始公式中 - 结果应该是 2

于 2013-08-07T15:04:59.713 回答