Excel公式需求:基于日期列标记冰淇淋库存状态日变化
冰淇淋库存状态变更检测方案
针对你需要新增CHANGE列的需求,这里提供Excel/Google Sheets的公式实现方案,满足“某口味昨日库存为YES、今日为N时返回Changed,否则为空”的逻辑:
公式实现(Excel)
假设数据表头在第1行,Date列是A列,Flavor列是B列,in Stock列是C列,CHANGE列是D列。在D2单元格输入以下公式,然后下拉填充:
=IF(AND(INDEX($C:$C,MATCH(1,($B:$B=B2)*($A:$A=A2-1),0))="YES",C2="N"),"Changed","")
公式说明
($B:$B=B2)*($A:$A=A2-1):筛选出与当前行口味相同、日期为昨日的记录MATCH(1,...0):定位符合条件的记录行号INDEX($C:$C,...):获取该行的库存状态值AND(...):同时验证“昨日状态为YES”和“今日状态为N”两个条件,满足则返回Changed,否则返回空值
公式实现(Google Sheets)
如果使用Google Sheets,可在D2单元格输入以下公式并下拉:
=IF(AND(XLOOKUP(B2&(A2-1),$B:$B&$A:$A,$C:$C,"",0)=="YES",C2="N"),"Changed","")
注意事项
- 确保
Date列设置为日期格式,而非文本格式,否则A2-1无法正确计算昨日日期 - 建议保证每日每个冰淇淋口味仅存在一条记录,避免匹配结果异常
- 最早日期的记录因无昨日数据,CHANGE列会自动返回空值,符合预期
内容的提问来源于stack exchange,提问作者Mike Beaulieu
相关产品推荐
相关产品推荐

