如下图所示,Excel表格中A列的编码有很多是超过15位的文本型数字,现在要对物料编码前面是“36985214705850”的物料统计其采购量之和。

如果用常规的函数:
=SUMIF(A:A,D3,B:B)

求出的结果是0,显然这个结果是错误的。因为只是按照物料编码里的一部分进行条件求和,显然SUMIF的第2参数不能只是物料编码的前若干位。那么怎么处理呢:
=SUMIF(A:A,D3&"*",B:B)

注意上图的D4单元格的物料编码是完全的,如果用下面这样的函数公式:
=SUMIF(A:A,D4,B:B),按道理是没问题的。但是错误为100,我们核对发现这个结果是不对的。

经分析发现把如下图红框处的数字加和了,为什么加和这些呢。
只要物料编码前面15位的数字是一样的,sumif就把这些编码对应的采购量加一起。为什么是15位呢,因为excel里能够辨识的数字最长不能超过15位。

所以此处的公式应该改为:
=SUMIF(A:A,D4&"*",B:B)
