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

Excel多步骤FILTER动态数组函数实现方案咨询

解决方案(Excel 365/2021 动态数组版本)

公式1(自动排序取前三,简洁直观)

=TAKE(SORT(FILTER(B2:C100,TEXT(A2:A100,"yyyy-mm")=TEXT(MAX(A2:A100),"yyyy-mm")),2,-1),3,1)

逻辑拆解:

  • TEXT(A2:A100,"yyyy-mm")=TEXT(MAX(A2:A100),"yyyy-mm"):将日期统一转为「年-月」格式,筛选出最新月份的所有销售数据(姓名+销售额)
  • SORT(...,2,-1):对筛选出的最新月份数据,按第2列(销售额)降序排序
  • TAKE(...,3,1):提取排序结果的前3行、第1列(即销售人员姓名)

公式2(支持并列第3的人员全部显示)

=FILTER(B2:B100,
    (TEXT(A2:A100,"yyyy-mm")=TEXT(MAX(A2:A100),"yyyy-mm"))*
    (C2:C100>=LARGE(FILTER(C2:C100,TEXT(A2:A100,"yyyy-mm")=TEXT(MAX(A2:A100),"yyyy-mm")),3))
)

逻辑拆解:

  1. 先通过FILTER(C2:C100,TEXT(A2:A100,"yyyy-mm")=TEXT(MAX(A2:A100),"yyyy-mm"))提取最新月份的所有销售额
  2. 用LARGE(...,3)获取该月份销售额的第3高值作为筛选阈值
  3. 最后筛选出「属于最新月份」且「销售额≥第3高值」的销售人员姓名

你之前公式的问题

  • A2:A100=MAX(A2:A100):仅匹配最新的单个日期(而非整个月份),如果最新月份有多个日期,会漏掉大部分数据
  • C2:C100=LARGE(C2:C100,3):取的是全表销售额的第3高,而非最新月份的,导致两个条件互斥,无法得到有效结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 16:32:19