Google Sheets两数组相除取最小值:计算可制作花束数量
Google Sheets计算花束最大可制作数量方案
针对你需要根据库存和配方计算各花束可制作数量的需求,直接用BYCOL结合数组运算的公式就能解决——SUMPRODUCT更适合乘积求和场景,并不适配这种取最小值的除法计算需求。
核心公式
假设你的数据结构是:
- B列:各组件的库存数量(从B2开始)
- C列及以后:各花束产品的配方(每一行对应组件,单元格值为该花束需要的组件数量,不需要则填0)
要一次性计算所有花束的最大可制作数量,在结果区域的第一个单元格(比如C10,对应产品1的结果)输入:
=BYCOL(C2:ZZ, LAMBDA(col, MIN(IFERROR(B2:B/col, 9^99))))
按回车即可自动生成所有产品的结果。
公式拆解
BYCOL(C2:ZZ, LAMBDA(col, ...)):遍历C到ZZ列的每一列(每个花束产品),将列数据传入col变量B2:B/col:对每一行计算「库存数量 ÷ 该花束需要的组件数量」,得到单个组件能支撑的花束数量数组IFERROR(..., 9^99):处理配方为0的情况(该组件不需要),把除以0的错误结果替换成极大值(9^99),避免干扰最小值计算MIN(...):取数组中的最小值,就是该花束受限于最紧缺组件的最大可制作数量
注意事项
- 若你的组件数据有固定行数(比如到B100),建议把
B2:B改成B2:B100,避免包含空白行导致计算错误 - 9^99可替换为其他极大值(如
1e+99),只要远大于你可能的库存/配方比值即可 - 若不需要一次性计算所有产品,单独计算某一个产品(比如C列)的公式为:
=MIN(IFERROR(B2:B/C2:C, 9^99))
内容的提问来源于stack exchange,提问作者Tom Barker
相关产品推荐
相关产品推荐

