Excel公式需求:计算剩余可处理面积并随U列值动态重置
按PAS分组计算溶液剩余可加工零件量
需求梳理
- 溶液最大可处理面积:850.5 dm²
- 基于SVPA工作表的F列(零件型号)、V列(加工数量),计算已消耗面积并从最大值中扣除,得到剩余可处理面积
- 按U列(PAS值)分组计算:同一PAS值下持续累计消耗面积,PAS值变更时重置为最大可处理面积
已尝试方案的缺陷
嵌套IF函数
公式冗余,且无PAS分组逻辑,无法实现重置:
=IF(SVPA!F10="72-53-06",SVPA!V6*$C$24,IF(SVPA!F10="72-54-08",SVPA!V6*$C$25,IF(SVPA!F10="72-54-13",SVPA!V6*$C$26,IF(SVPA!F10="72-54-01",SVPA!V6*$C$27,IF(SVPA!F10="72-54-02",SVPA!V6*$C$28,0)))))
VLOOKUP函数
仅能计算单次扣除的剩余面积,无法基于PAS分组实现累计/重置逻辑:
=$G$11-(VLOOKUP(SVPA!F6,Sheet1!B12:C16,2,FALSE)*SVPA!V6)
=$G$11-(VLOOKUP(SVPA!F6,Equat!B12:C16,2,FALSE)*SVPA!V6)
可行公式实现
假设在Equat工作表中进行计算,对应SVPA数据从第6行开始:
1. 计算每行的已消耗面积(Equat!D列示例)
在Equat!D6输入公式,下拉填充:
=VLOOKUP(SVPA!F6,Equat!B12:C16,2,FALSE)*SVPA!V6
注:Equat!B12:C16为零件型号-表面积映射表,替代嵌套IF,后续新增零件直接更新此表即可。
2. 计算当前PAS组的剩余可处理面积
在Equat工作表的目标单元格(如G6)输入公式,下拉填充:
=850.5 - SUMIFS(Equat!$D$6:D6, SVPA!$U$6:U6, SVPA!U6)
- 逻辑:
SUMIFS仅累计当前行及以上、PAS值与当前行相同的已消耗面积,当PAS值变化时,累计范围自动限定为新分组的行,实现重置。
3. 计算当前零件还可加工的数量
在目标单元格输入公式:
=INT(G6 / VLOOKUP(SVPA!F6,Equat!B12:C16,2,FALSE))
- 逻辑:用剩余面积除以单个零件的表面积,取整数得到可加工数量。
内容的提问来源于stack exchange,提问作者Axel Martins
相关产品推荐
相关产品推荐

