Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Excel数组使用来自多个范围(或工作表)的标准计算总数_Arrays_Excel - Fatal编程技术网

Arrays Excel数组使用来自多个范围(或工作表)的标准计算总数

Arrays Excel数组使用来自多个范围(或工作表)的标准计算总数,arrays,excel,Arrays,Excel,我想做的是在两个数组中计算与要验证的标准匹配的行数。 我不能使用VBA,不能添加新列(例如使用VLOOKUP公式的新列),最好使用数组 我有两个独立的范围,每个范围都有一个ID列作为标识符,其他字段包含数据 例如,范围1: 范围2: 如果我只需要检查第一个范围,我会: ={SUM((D4:D7="Red") * (E4:E7="Big"))} 但我不知道如何使用其他范围的数据进行检查 例如,如何使用这两个范围来计算红色、大和圆形项目的数量?将其放入单元格F4: =IF((VLOOKUP(C

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

我有两个独立的范围,每个范围都有一个ID列作为标识符,其他字段包含数据

例如,范围1:

范围2:

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

={SUM((D4:D7="Red") * (E4:E7="Big"))}
但我不知道如何使用其他范围的数据进行检查


例如,如何使用这两个范围来计算红色、大和圆形项目的数量?

将其放入单元格F4:

=IF((VLOOKUP(C4,$C$11:$D$12,2)="Round")*(D4="Red")*(E4="Big"),1,"")
注意,VLOOKUP的行为是找到第一个参数之前的值。因为在第二个数据集中没有1,所以第一个单元格将显示“#N/A”,我不知道如何解决这个问题,但当您向下扩展此公式以比较第一组中的其他样本数据时,ID号2和4将显示为“是”

编辑:您需要此列表的计数。因此,在此之后,使用
count
函数应该很容易获得此列中的单元格计数。

尝试此数组公式

=SUM((D4:D7=“Red”)*(E4:E7=“Big”)*ISNUMBER(匹配(C4:C7,IF(D12:D13=“Round”,C12:C13),0))

最后一部分是您想要添加的标准-IF函数返回
{2,4}
[IDs,其中数据3为“圆形”],然后您可以使用MATCH将C4:C7与之进行比较。如果存在匹配项,您将得到一个数字(而不是#N/a),这样您就可以使用
ISNUMBER
获得真/假,并将其输入到原始公式中-结果应为2