在两个范围内计数货物的实例

我有一个长度和重量的货物清单,我试图获得一个图表的源数据,以显示如何在每个长度窗口内分布权重。

货物长度在14至21米之间,长度应以14-15,15-16等等表示。 重量在30到100公吨之间,以10吨为单位进行说明。

我目前有量(整数),长度(三位小数)和权重(公斤整数)称为LengthsWeights范围。

开始数据

我有在H (长度)和J (重量)列的窗口的开始,计数打算出现在列K (计数)。 到目前为止,我已经构build了这个公式(这在K2中 ):

 =COUNTIFS(Lengths, ">="&$H2, Lengths, "<"&$H2&"+1", Weights, ">="&$J2, Weights, "<"&$J2&"+10000") 

将引用内的单元格引用保留在相同的引用中,但是如上所述将它们分开似乎没有任何区别。 上面的公式也没有考虑数量(在列A中 )。

我怀疑SUMPRODUCT会是一个更好的方法去做,但我似乎无法绕过它。 我在几个地方查了一下,但是真的只是弄糊涂了自己…

我怎么能让它给我一个可靠的计数?

删除引号中的math部分: "<"&$H2&"+1"应该是"<"&$H2+1以及"<"&$J2&"+10000"应该是"<"&$J2+10000

你正在试图find什么时候它低于string14 + 1而不是数字15

 =COUNTIFS(Lengths, ">="&$H2, Lengths, "<"&$H2+1, Weights, ">="&$J2, Weights, "<"&$J2+10000) 

要将数量转换成公式,请使用SUMIFS():

 =SUMIFS(Quantity, Lengths, ">="&$H2, Lengths, "<"&$H2+1, Weights, ">="&$J2, Weights, "<"&$J2+10000) 

这考虑到数量:

 =SUMPRODUCT(A$1:A$6*(lengths>=H1)*(lengths<H8)*(weights>=J1)*(weights<J2)) 

(假设下一个长度仓在第8行开始)。