SumProduct使用多个标准返回太多的数据

虽然这个问题已经被问到和回答了,(堆栈溢出是我学会如何实现SP的地方),但是我想不出来的问题出现了。

我正在使用SP来使用产品编号(使用通配符)和特定date在数据透视表中汇总出货量。 例如,部件号可以是“AX10235-HP”,“AX11135-HP”,“AX10235-HP2”,“AX10235-HPSPARE”或TP10101-IBM。 (有各种各样的数字。)

所以在这种情况下,我想总结“AX ??? 35-HP”的数量出货量。 我只想简单列出前两个部分。 但是,使用的命令会导致除* -IBM编号之外的所有部分总和; 就好像在号码末尾有个通配符。 换句话说, "AX???35-HP""AX???35-HP*" 。 我已经尝试用引号包装值,但它使用引号字面上如此失败。

这是function

 SUMPRODUCT((S_PART_DATA)*(ISNUMBER(SEARCH($A6,S_PART_RANGE))*(S_PART_DATES=T$4))) 
  • S_PART_DATA数组,
  • S_PART_RANGE部件号列表数组,
  • S_PART_DATESdate发货数组已完成

它按照你描述的方式工作,因为SEARCH函数其他文本中发现$ A6,因此它可能不是完全匹配 – 使用SUMIFS函数更好:

=SUMIFS(S_PART_DATA,S_PART_RANGE,$A6,S_PART_DATES,T$4)

假设所有命名的范围是相同的大小和A6包含价值AX 35 HP

如果这不起作用,请尝试此版本

=SUMPRODUCT(S_PART_DATA*ISNUMBER(SEARCH("^"&$A6&"^","^"&S_PART_RANGE&"^"))*(S_PART_DATES=T$4))

连接^值意味着你将[只]得到完全匹配