【问题标题】:Roundup Index Match with Multiple Criteria to Next 3 Values in Excel Table汇总索引与多个标准匹配到 Excel 表中的下 3 个值
【发布时间】:2020-08-11 19:16:37
【问题描述】:

我有一张表格,里面有箱子尺寸和箱子的相关成本。有时,给我的盒子尺寸不适合盒子表,所以我需要将它们四舍五入,以确保产品仍然可以放入盒子并且成本值是正确的。

在另一张表中,我有一个公式,我在其中使用具有多个条件的索引匹配,但我需要索引匹配更加动态并通过在我的 Box Packaging Cost 中四舍五入来匹配最接近的可用值公式

=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,但效果不佳

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

  • 在长度、宽度和高度为 5、5、5 的情况下,输入的 5、5、5 应四舍五入为 8、6、4。索引匹配的正确结果应该是 0.48 的 Box Packaging Cost。

  • 输入 12、5、4 应四舍五入为 12、6、4,因为 12 是有效长度,6 是有效高度,但 5 不是有效高度。索引匹配的正确结果应该是 0.62 的 Box Packaging Cost

  • 包装成本数据如下表

  • 包装成本数据的 F18 到 F77 与 A2 到 A61 相同,如果您将此表应用于带有标题的新工作表

包装成本数据

提前感谢您的任何建议或帮助!

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    如果尺寸 5,5,5 应四舍五入为 8,6,6 而不是 8,6,4,则以下公式有效:

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

    【讨论】:

    • 您可以通过对索引部分使用完整的列引用来稍微缩短该公式(消除 -1)。不要将 1 除以您的搜索条件,然后乘以 row(),只需跳过 1 并直接除以 row()。 INDEX($I:$I,AGGREGATE(15,6,ROW($I$2:$I$18)/((A2&lt;=$F$2:$F$18)*(B2&lt;=$G$2:$G$18)*(C2&lt;=$H$2:$H$18)),1))
    • 原始答案和@ForwardEd 的答案都很完美。非常感谢!
    猜你喜欢
    • 2019-06-18
    • 2019-07-20
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 2021-12-20
    • 2020-04-24
    • 2016-05-15
    • 1970-01-01
    相关资源
    最近更新 更多