如何简化Excel条件判断公式?基于数量、单重与限值的计算需求
简化后的公式
=IF(MIN(F13, FLOOR(H13/G13, 1)) >= F13-18, ROUND(MIN(F13, FLOOR(H13/G13, 1))*G13, -2)+200, NA())
公式说明
- 核心逻辑:找到不超过
F13的最大整数k,使得k*G13 ≤ H13,同时k不能小于F13-18(超出范围则返回#N/A)。 - 分步解析:
FLOOR(H13/G13, 1):计算H13除以G13的最大整数商,即满足k*G13 ≤ H13的最大k值。MIN(F13, 上述结果):取F13和上述商的较小值,确保k不超过给定的数量。IF(..., ..., NA()):判断这个k是否大于等于F13-18,满足则计算最终结果,否则返回#N/A。ROUND(..., -2)+200:对k*G13进行百位取整后加200,和原公式的处理逻辑完全一致。
验证示例
- 示例1:
F13=20,G13=100,H13=1550H13/G13=15.5,FLOOR结果为15,MIN(20,15)=15,15≥20-18=2,有效。- 计算:
ROUND(15*100, -2)+200=1500+200=1700,和原公式遍历到F13-5的结果一致。
- 示例2:
F13=10,G13=200,H13=2500H13/G13=12.5,MIN(10,12.5)=10,10≥10-18=-8,有效。- 计算:
ROUND(10*200, -2)+200=2000+200=2200,和原公式第一个条件的结果一致。
- 示例3:
F13=20,G13=100,H13=100H13/G13=1,MIN(20,1)=1,1<20-18=2,返回#N/A,符合需求。
内容的提问来源于stack exchange,提问作者Cindy
相关产品推荐
相关产品推荐

