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

如何结合IF、AND、NOT函数使用VSTACK计算发货日期?

Excel动态数组公式解决方案

核心公式

假设零件号列是B2:B45,生产日期(DOM)列是C2:C45,发货日期(Ship By)输出到D2单元格,直接输入以下公式:

=IF(C2:C45="","",IF(ISNUMBER(MATCH(B2:B45,{"S12345","S12346","S12347","S12348"},0)),C2:C45+185,C2:C45+245))

公式逻辑拆解

  1. 优先判断DOM是否为空,为空则返回空值,避免生成无效日期
  2. 通过MATCH检查当前零件号是否在指定的4个型号列表中,ISNUMBER将匹配结果转换为布尔值(匹配成功返回TRUE,失败返回FALSE)
  3. 匹配成功时,DOM加185天;匹配失败且DOM非空时,DOM加245天

之前公式失效原因排查

  • 若仅返回单个值或FALSE,大概率是公式只引用了单个单元格(如B2、C2)而非整个数据范围(B2:B45、C2:C45),无法触发动态数组的逐行运算
  • 避免使用OR(B2="S12345",B2="S12346")这类单个单元格的条件判断,它无法在数组环境中逐行生效,MATCH+ISNUMBER的组合更适配VSTACK生成的动态数据集

注意事项

  • 确保DOM列设置为日期格式,否则日期加法运算会返回数值而非日期
  • 输入公式后Excel会自动填充到D45,无需手动下拉

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 11:49:53