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

如何用公式标记含休假记录的员工日唯一标识(多匹配场景)

解决同一唯一标识的休假批量标记问题

嘿,针对你遇到的这个表格标记问题,我给你准备了两个实用的公式方案,都能轻松实现需求:只要同一User ID+Date生成的唯一标识下,有任意一行D列包含休假类关键词(比如sick、vacation),就给该标识的所有行打上flag标记。

方法1:用COUNTIFS函数(适配Excel、Google Sheets、WPS等多数工具)

在E2单元格输入下面的公式,然后下拉填充到所有行就行:

=IF(COUNTIFS(A:A,A2,D:D,"*vacation*")+COUNTIFS(A:A,A2,D:D,"*sick*")>0,"flag","")

公式拆解:

  • COUNTIFS(A:A,A2,D:D,"*vacation*"):统计当前行的唯一标识(A2)对应的所有行里,D列包含vacation的记录数
  • 第二个COUNTIFS同理,统计包含sick的记录数
  • 把两个统计结果相加,只要大于0,就说明这个唯一标识下有休假记录,返回flag;否则返回空值
  • 这里的*是通配符,不管D列里是Sick、Sick leave还是vacation day,都能被识别到

方法2:用SUMPRODUCT函数(更简洁的写法)

如果觉得多个COUNTIFS有点啰嗦,试试这个更紧凑的公式:

=IF(SUMPRODUCT(--(A:A=A2),--(ISNUMBER(SEARCH({"vacation","sick"},D:D))))>0,"flag","")

公式拆解:

  • --(A:A=A2):把和当前行唯一标识相同的行转化为1,其他行转化为0
  • --(ISNUMBER(SEARCH({"vacation","sick"},D:D))):检查D列是否包含列表里的任意一个休假关键词,包含就返回1,不包含返回0
  • SUMPRODUCT会把这两组数值相乘后求和,只要结果大于0,就说明该标识下有休假记录,直接返回flag

小提示

  • 如果你的休假关键词还有其他(比如personal leave、annual leave),只需要在公式的关键词列表里添加就行,比如方法2里改成{"vacation","sick","personal leave"}
  • 为了让公式运行更流畅,建议把公式里的A:A、D:D改成实际的数据范围(比如A2:A1000、D2:D1000),避免整列计算拖慢表格速度

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 09:02:50