本帖最后由 正发哥 于 2023-6-23 16:08 编辑
麻烦老师帮忙把公式转换为VBA计算,共有40万行的数据
业务说明:同一个专员发的同一个款号及颜色,如有退货回来再二次发的货不计算发货数量
计算逻辑
条件:同一个专员(A列)且相同货及颜色(K列&n列)
从Z列第一个出现负数之后的数据进行统计,如果统计结果<0,则返回0,如果统计结果小于Z列且>=0,则返回的统计结果,否则返回Z列(如Z201)数据
返回的数据写入到B列
公式转VBA,多条件动态区域求和.7z
(1.59 MB, 下载次数: 29)
=IFERROR(IF(LET(a,FILTER($Z$2:Z2,($AA$2:AA2=AA2)*($A$2:A2=A2)),b,MATCH(TRUE,a<0,),SUM(DROP(a,b-1)))<0,0,IF(AND(LET(a,FILTER($Z$2:Z2,($AA$2:AA2=AA2)*($A$2:A2=A2)),b,MATCH(TRUE,a<0,),SUM(DROP(a,b-1)))<Z2,LET(a,FILTER($Z$2:Z2,($AA$2:AA2=AA2)*($A$2:A2=A2)),b,MATCH(TRUE,a<0,),SUM(DROP(a,b-1)))>=0),LET(a,FILTER($Z$2:Z2,($AA$2:AA2=AA2)*($A$2:A2=A2)),b,MATCH(TRUE,a<0,),SUM(DROP(a,b-1))),Z2)),Z2)
|