如何按ID计算从L1到L2状态的日期间隔天数?
按ID计算L1到L2的日期差公式
假设你的表格结构为:
- A列:ID
- B列:状态(L1/L2)
- C列:日期
- D列:输出天数(需计算的列)
公式写法(Excel适用)
方法1:用XLOOKUP(Excel 365/2021及以上版本)
在D2单元格输入以下公式,下拉填充即可:
=IF(B2="L1",0,C2-XLOOKUP(A2&"L1",A:A&B:B,C:C,"",0))
公式说明:
IF(B2="L1",0):当前行是L1状态时,直接返回0XLOOKUP(A2&"L1",A:A&B:B,C:C,"",0):匹配当前ID对应的L1状态日期- 用当前行日期减去找到的L1日期,得到天数差
方法2:用VLOOKUP(兼容旧版Excel)
在D2单元格输入以下数组公式,按Ctrl+Shift+Enter确认后下拉填充:
=IF(B2="L1",0,C2-VLOOKUP(A2,IF(B:B="L1",A:C),3,FALSE))
公式说明:
IF(B:B="L1",A:C):生成仅包含L1状态的ID-日期临时区域VLOOKUP(A2,...):从临时区域中匹配当前ID的L1日期- L1状态返回0,L2状态用当前日期减L1日期得到天数
注意事项
- 确保A列ID、B列状态无多余空格,格式统一
- C列日期需为Excel可识别的标准日期格式
- 若同一ID对应多个L1状态,公式会匹配第一个出现的L1日期
内容的提问来源于stack exchange,提问作者EagleEye
相关产品推荐
相关产品推荐

