You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求Excel公式:根据ON HAND QTY计算SKU的earliest date

需求说明

第一个表格为SKU收货明细,包含SKU、收货数量(qty)及收货日期(receiving date):

SKUqtyreceiving date
A10001/01/2023
A20001/02/2023
A30001/03/2023
B30001/04/2023
B20001/05/2023
B10001/06/2023
C20001/07/2023
C30001/08/2023
C30001/09/2023

第二个表格为各SKU的在手库存数量(ON HAND QTY),需计算对应的earliest date:

SKUON HAND QTYearliest date
A375?
B450?
C550?

计算规则

针对每个SKU,从最晚的收货日期开始向前累加收货数量,当累加总量达到在手库存数量时,对应的收货日期即为earliest date的结果。

预期结果

  • SKU A:01/02/2023
  • SKU B:01/04/2023
  • SKU C:01/08/2023

Excel公式实现

假设第一个表格数据位于A2:C10(SKU在A列,qty在B列,receiving date在C列),第二个表格中SKU在E2:E4,ON HAND QTY在F2:F4,可在G2单元格输入对应公式后下拉填充:

适用于Excel 365/2021(支持动态数组)

=XLOOKUP(TRUE,SCAN(0,SORT(FILTER($B$2:$C$10,$A$2:$A$10=E2),2,-1),LAMBDA(a,b,a+b))>=F2,SORT(FILTER($B$2:$C$10,$A$2:$A$10=E2),2,-1),,0,1)

兼容旧版Excel的数组公式

=LOOKUP(F2,SUMPRODUCT(($A$2:$A$10=E2)*($C$2:$C$10>=LARGE(IF($A$2:$A$10=E2,$C$2:$C$10),ROW(INDIRECT("1:"&COUNTIF($A$2:$A$10,E2)))))*$B$2:$B$10),LARGE(IF($A$2:$A$10=E2,$C$2:$C$10),ROW(INDIRECT("1:"&COUNTIF($A$2:$A$10,E2)))))

(注:旧版Excel需按Ctrl+Shift+Enter完成数组公式输入)


内容的提问来源于stack exchange,提问作者TIANG程

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 20:39:59