用于 VLOOKUP 和 SUMIF 公式的虚拟数组

Virtual array to be used into VLOOKUP and SUMIF formulas

我有以下tables

在 Table 1 中,我有一些具有相对数量值的项目。在下面,我有一个查找 table,从中我可以找到将项目数量汇总到正确容器中的规则。

目前我使用额外的列,每个容器一个,以帮助完成任务。

附加列中的每个单元格都有以下公式(例如 E4):

=IF(VLOOKUP($B4,$D:$G,MATCH(E,$D:$G,0),0)="x",1,0)

然后,每个 Container 的值总和计算如下(例如 E3):

=SUMPRODUCT($C:$C,E:E)

问题是...有没有办法(没有 VBA)在不使用额外的帮助列的情况下获得相同的结果?

我想使用类似这样的公式(但它不起作用):

=SUMPRODUCT($C:$C,IF(VLOOKUP($B4:$B9,$D:$G,MATCH(E,$D:$G,0),0)="x",1,0))

简而言之,我不知道我使用的 sheet 中的帮助列是否(如果是,如何)可以从 excel 作为虚拟列直接计算到单元格公式。

VLOOkUP 和 SUMIF 函数的使用没有限制 -> SUMIF、SUMIFS、INDEX、MATCH 和 Excel 函数的任何其他组合都可以,只要达到消除帮助列的目标即可。

如有任何帮助,我们将不胜感激。

在此先感谢大家

试试,

E3 中,修改了您的公式并向右复制到 G3:

=SUMPRODUCT($C:$C,IF(VLOOKUP(T(IF({1},$B4:$B9)),$D:$G,MATCH(E,$D:$G,0),0)="x",1,0))

或者,

=SUMPRODUCT($C:$C*(VLOOKUP(T(IF({1},$B4:$B9)),$D:$G,MATCH(E,$D:$G,0),0)="x"))