使用IF+ROUNDDOWN计算废料熔炼产出棒数出错,求修正方案
熔炼废料制金属棒计算器公式修正
需求
计算器需根据以下参数计算可产出的金属棒总数:
amtOwned:现有废料总量qtyToSmelt:单次熔炼所需废料量barsMade:单次熔炼产出的金属棒数量
原公式缺陷
初始使用的公式存在逻辑错误:
=if((amtOwned/qtyToSmelt)<1,,rounddown((amtOwned/qtyToSmelt)*barsMade))
该公式先计算废料总量对应的熔炼比例,再乘以单次产出后取整,导致将未达单次熔炼要求的废料比例计入产出。例如:
单次熔炼需50个瓶盖,产出2根金属棒;现有125个瓶盖
原公式计算:(125/50)*2=5,但实际仅能完成2次完整熔炼(消耗100个瓶盖),应产出4根,结果不符合预期。
修正方案
改用TRUNC函数实现仅按完整熔炼次数计算产出的需求,公式如下:
=TRUNC((AMTowned/AMTneeded),0)*barsRecieved
核心逻辑
TRUNC((AMTowned/AMTneeded),0):截断除法结果的小数部分,得到可完成的完整熔炼次数(直接丢弃不足以启动一次熔炼的废料)- 乘以单次产出的
barsRecieved,得到最终可产出的金属棒总数
验证示例
示例参数:现有废料136,单次熔炼需50,单次产出1根(对应参数配置),代入公式:
=TRUNC((136/50),0)*2
返回结果为2根棒,符合预期——仅能完成2次完整熔炼,对应产出2根棒。
内容的提问来源于stack exchange,提问作者Dkryptyk
相关产品推荐
相关产品推荐

