将具有多个条件的汇总索引匹配到Excel表中的下3个值

问题描述

我有一张桌子,上面有盒子的尺寸和盒子的相关费用。有时候,我得到的包装盒尺寸不适合包装盒表,因此我需要将它们四舍五入,以确保产品仍然可以放入包装盒中,并且成本值正确。

在另一张纸上,我有一个公式,正在使用具有多个条件的索引匹配,但是我需要使索引匹配更具动态性,并通过四舍五入到包装成本来匹配最接近的可用值公式

=INDEX('Packaging cost data'!$F$18:$F$77,MATCH(1,([@Length3]='Packaging cost data'!$B$18:$B$77)*([@Width2]='Packaging cost data'!$C$18:$C$77)*([@Height2]='Packaging cost data'!$D$18:$D$77),0))

在上式中:

  • 我已经尝试过将公式末尾的0更改为不精确,即-1或1,并且无法正常工作

  • 我的输入示例如下所示:

    Inputs

  • 输入5、5、5的值应四舍五入至8,6,4,其中长度,宽度和高度为5、5、5 arent。正确的索引匹配结果应该是包装盒成本为.48。

  • 输入12、5、4应该四舍五入为12、6、4,因为12是有效长度,6是有效高度,而5不是有效高度。索引匹配的正确结果应该是包装盒成本为.62

  • 包装费用数据如下表

  • 用于包装成本数据的F18到F77与将A2到A61应用于具有表头的新工作表相同

包装费用数据

Packging Cost Data

在此先感谢您的任何建议或帮助!

解决方法

如果尺寸5,5,5应当四舍五入到8,6,6而不是8,4,则可以使用以下公式:

=INDEX($I$2:$I$18,AGGREGATE(15,(1/((A2<=$F$2:$F$18)*(B2<=$G$2:$G$18)*(C2<=$H$2:$H$18)))*ROW($I$2:$I$18)-1,1))

enter image description here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...