计算两个范围内的货物实例

时间:2016-09-15 13:18:24

标签: excel excel-formula

我有一份按长度和重量列出的货物清单,我试图获取图表的源数据,以显示权重在每个长度窗口内的分布情况。

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

我目前在名为LengthsWeights的范围内有数量(到整数),长度(到三位小数)和权重(到kg整数)。

Starting data

我在 H (长度)和 J (重量)列中启动了窗口,计数显示在列 K (伯爵)。到目前为止,我已经构建了这个公式(这个在 K2 中):

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

保留引号内的单元格引用只是保持相同的引用,但是如上所述将其分解并不会产生任何影响。上述公式也不考虑数量(在 A 列中)。

我怀疑SUMPRODUCT是一种更好的解决方法,但我似乎无法绕过它。我在几个地方查了一下,但实际上只是让自己感到困惑......

如何让它给我一个可靠的计数?

2 个答案:

答案 0 :(得分:1)

从引号中删除数学部分:"<"&$H2&"+1"应为"<"&$H2+1"<"&$J2&"+10000"也应为"<"&$J2+10000

您试图找到它低于字符串14 + 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)

答案 1 :(得分:1)

这考虑了数量:

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

(假设下一个长度bin从第8行开始)。