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

Excel非VBA实现:多条件匹配获取年假数据并上移至对应行

Excel非VBA实现年假数据匹配与合并方案

假设你的年假数值存储在O列(可根据实际数据替换为对应数值列),以下是具体公式实现:

1. U列:匹配当前Agent的"vacation"值

在U2单元格输入公式后下拉填充:

=IF(N2="vacation",IFERROR(XLOOKUP(1,(T:T=T2)*(N:N="vacation"),O:O),"NA"),"")

旧版Excel可使用Index/Match替代:

=IF(N2="vacation",IFERROR(INDEX(O:O,MATCH(1,(T:T=T2)*(N:N="vacation"),0)),"NA"),"")

逻辑:仅当当前行N列为"vacation"时,匹配同Agent ID对应的年假数值,无数据时返回"NA"。

2. V列:将同Agent的"prev. year vacation"值对应到"vacation"行

在V2单元格输入公式后下拉填充:

=IF(N2="vacation",IFERROR(INDEX(O:O,MATCH(1,(T:T=T2)*(N:N="prev. year vacation"),0)),"NA"),"")

如果你的数据结构中,"prev. year vacation"固定在同Agent的"vacation"行上一行,可以用更精准的上移逻辑:

=IF(N2="vacation",IF(AND(T1=T2,N1="prev. year vacation"),O1,IFERROR(XLOOKUP(1,(T:T=T2)*(N:N="prev. year vacation"),O:O),"NA")), "")

逻辑:仅当当前行是"vacation"时,匹配同Agent的上年年假数值;若上一行恰好是同Agent的"prev. year vacation"记录,直接取上一行数值,无对应数据返回"NA"。

3. 合并两年年假总额(以W列为例)

在W2单元格输入公式后下拉填充:

=IF(OR(U2="NA",V2="NA"),"NA",U2+V2)

逻辑:只要U/V列任意一方为"NA",总额返回"NA";否则返回两年年假数值之和。

注意事项

  • Excel 365/2021版本使用XLOOKUP时无需额外操作;旧版Excel使用Index/Match数组公式需按Ctrl+Shift+Enter确认输入。
  • 请将公式中的O:O替换为你实际存储年假数值的列号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 06:41:14