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

Excel多列数据处理:筛选指定状态任务并提取最早日期对应客户名

解决方案:筛选"book in now!"状态并找到最早日期对应的客户名称

嘿,这个需求我熟!给你两个在Excel里实现的实用方案,看你平时更习惯用公式还是可视化操作:

方案1:用公式直接计算(适合快速单次查询)

最直接的组合公式是用 INDEX+MATCH+MINIFS,一步到位得到结果:

=INDEX(A:A, MATCH(MINIFS(B:B, C:C, "book in now!"), B:B, 0))

公式拆解:

  • MINIFS(B:B, C:C, "book in now!"):先从B列(暂定服务日期)里筛选出所有C列(服务最终状态)为"book in now!"的日期,然后取其中最小的那个(也就是最早的日期)。
  • MATCH(..., B:B, 0):在B列里精准定位这个最早日期所在的行号。
  • INDEX(A:A, ...):根据找到的行号,返回A列(客户名称)对应的内容。

特殊情况处理:

如果有多个客户的日期都是最早的,上面的公式只会返回第一个出现的客户。要是想把所有符合条件的客户都列出来,可以用数组公式(新版Excel直接回车,旧版需要按Ctrl+Shift+Enter):

=TEXTJOIN(", ", TRUE, IF((B:B=MINIFS(B:B,C:C,"book in now!"))*(C:C="book in now!"),A:A,""))

这个公式会用逗号分隔所有符合条件的客户名称。

方案2:用Power Query处理(适合数据量大或需频繁更新的场景)

如果你的数据经常变动,或者行数很多,用Power Query更省心,步骤也很直观:

  • 选中你的数据区域,点击「数据」选项卡 → 「从表格/区域」(记得勾选“我的表格有标题”)。
  • 在Power Query编辑器里,点击C列的筛选按钮,只勾选"book in now!",点击确定。
  • 点击B列的排序按钮,选择「升序」,这样最早的日期会自动排在第一行。
  • 点击「主页」选项卡 → 「保持行」→ 「保留首行」。
  • 最后点击「关闭并上载」,就能得到你要的客户名称了。之后数据更新时,只要右键点击结果表格选择「刷新」,就能自动更新结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:51:15