You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求Google Sheets中计算纸箱容纳产品数量的函数方案

问题与解决方案:Google Sheets计算产品装箱数量

问题背景

需要在Google Sheets中自动计算产品可装入集合纸箱的最大数量,此前用体积换算的方法存在明显误差:

  • 计算得出Product 1可装入Big Shelves纸箱93件,但实际数量远低于此
  • 计算得出可装入Mezzanine纸箱16件,但实际上产品长度超过了该纸箱的最大维度,根本无法装入

现有尺寸数据

产品尺寸

productlengthwidthheight
product 17368244

集合纸箱尺寸

cartonlengthwidthheight
Big Shelves1050390600
Mezzanine600270260

核心问题

体积换算只考虑总体积,忽略了产品与纸箱的尺寸匹配限制——产品的长/宽/高(允许旋转)必须全部小于等于纸箱的对应维度,且排列方式直接影响可装数量。


解决方案

1. 先验证产品是否可装入纸箱(允许旋转)

将产品和纸箱的三个维度分别排序,若产品的最小/中间/最大维度均小于等于纸箱的对应维度,则可以装入;否则直接返回0。

2. 计算最大可装数量(遍历所有排列方式)

产品有6种维度排列组合(对应纸箱的三个维度),分别计算每种排列下的可装数量(长方向数量×宽方向数量×高方向数量),取最大值。

示例Google Sheets公式

假设产品尺寸在单元格A2:C2,纸箱尺寸在E2:G2,使用LET函数简化逻辑:

=LET(
  prod_dims, SORT(A2:C2),
  cart_dims, SORT(E2:G2),
  // 先判断是否能装入
  can_fit, AND(prod_dims[1]<=cart_dims[1], prod_dims[2]<=cart_dims[2], prod_dims[3]<=cart_dims[3]),
  IF(NOT(can_fit), 0,
    // 计算所有6种排列的可装数量,取最大值
    MAX(
      FLOOR(E2/A2)*FLOOR(F2/B2)*FLOOR(G2/C2),
      FLOOR(E2/A2)*FLOOR(F2/C2)*FLOOR(G2/B2),
      FLOOR(E2/B2)*FLOOR(F2/A2)*FLOOR(G2/C2),
      FLOOR(E2/B2)*FLOOR(F2/C2)*FLOOR(G2/A2),
      FLOOR(E2/C2)*FLOOR(F2/A2)*FLOOR(G2/B2),
      FLOOR(E2/C2)*FLOOR(F2/B2)*FLOOR(G2/A2)
    )
  )
)

注意:确保产品和纸箱的单位统一(比如都是mm或都是m),否则需要先做单位转换。

针对你的数据的计算结果

  • Mezzanine纸箱:Product 1最长维度736 > 纸箱最长维度600,返回0
  • Big Shelves纸箱:遍历所有排列后,最大可装数量为56件(比如产品长736对应纸箱长1050,宽44对应纸箱宽390,高82对应纸箱高600:1×8×7=56)

内容的提问来源于stack exchange,提问作者VoDAyToN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 23:11:14