在excel中查找两个值之间的数据

时间:2014-06-12 07:47:43

标签: excel excel-formula range return-value

我有一系列文章;

Product Width   height
6995851 2200    1500
6907240 2500    1500
6992008 2700    1500
6961925 2700    1500
6924509 3000    1500
6982492 3000    2000

我有很多模特;

Product Width   height  Extra room  Fits
9PARX   2470    1530    50          
WGTQB   2970    1530    50          
R3FEA   2970    1530    50          
O03TU   2970    1530    50          
7BUIT   3170    1530    50          
H7XSB   3170    1530    50          
NF75G   2970    1770    50          
6X9EG   3470    1770    50          
9Q9WJ   3470    1770    50          
19UQR   4000    2100    50          
FCQDM   3470    1770    50      

我想要" Fits"在我的模型数量告诉我,增加额外的空间,什么文章比适合的更大。即产品" 9PARX"将是总共2470 + 50 = 2820宽和1530 + 50 = 1580高,这意味着他们除了" 6982492"是有效的,广泛的" 6992008"和" 6961925"将是合适的。因此,适合" 9PARX"结果将是" 6992008"并且,最希望在第二列中," 6961925"。是否可以用公式制作?这样我可以随着时间的推移轻松导入[x]数量的模型和更新文章,并且非常容易知道最适合的地方。

1 个答案:

答案 0 :(得分:0)

嗯,这可以使用数组公式来完成,但它会非常慢。

鉴于您的第二个表(带有额外房间的表)列产品从列 G 开始,我们从第2行开始,您可以使用以下公式:

=INDEX(A:C;MATCH(1;(B:B=MAX(IF(B:B<(H2+J2);B:B;"")))*(C:C=MAX(IF(C:C<(I2+J2);C:C;"")));0);1)

一些解释:

MAX(IF(B:B<(H2+J2);B:B;""))

上面的公式Sums Width + Extra,然后尝试找到小于结果的最大数量(这样你的产品仍然可以放在房间里)

我们的比赛公式:

MATCH(1;(B:B=MAX(IF(B:B<(H2+J2);B:B;"")))*(C:C=MAX(IF(C:C<(I2+J2);C:C;"")));0)

这是多重标准匹配功能。我们正在寻找第1号,这是我们的比赛标准的真实结果。基本上,我们可以在这里拥有尽可能多的标准我们所做的是我们将结果乘以( 1 表示TRUE或 0 表示FALSE)并且所有条件都是是的,我们找到了匹配项。

希望它有所帮助!