You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何用Excel公式提取指定日期区间内的对应数据?

嘿,我懂你现在的困扰——想从Excel的数据表中提取落在指定日期区间内的对应数据,试了INDEX、MATCH这些函数却没成功对吧?别着急,我给你两个针对性的解决方案,适配不同版本的Excel:

方案1:用FILTER函数(适合Excel 365/2021及以上版本)

这是最省心的方法,直接用FILTER函数筛选符合日期条件的数据:

  • 提取B列对应数据:=FILTER(B5:B11, (A5:A11>=A2)*(A5:A11<=B2))
  • 提取C列对应数据:=FILTER(C5:C11, (A5:A11>=A2)*(A5:A11<=B2))
  • 如果想一次性提取日期+B+C列的完整数据:=FILTER(A5:C11, (A5:A11>=A2)*(A5:A11<=B2))

这个函数会自动返回所有符合日期区间的行,像你示例里起止日期都是29-12-2017的情况,它会精准返回那一行的29-12-201750100三个值。

方案2:旧版Excel用数组公式(INDEX+SMALL+IF)

如果你用的是没有FILTER函数的旧版Excel,就用这个数组公式组合:
先写提取日期列的公式,输入后按Ctrl+Shift+Enter完成数组公式输入,然后下拉填充:
=IFERROR(INDEX(A5:A11, SMALL(IF((A5:A11>=A2)*(A5:A11<=B2), ROW(A5:A11)-ROW(A5)+1), ROWS($1:1))), "")

要提取B列或C列的数据,只需要把公式里的A5:A11换成B5:B11C5:C11就行。

小提醒:

  • 一定要确保A2、B2和A5:A11的日期格式完全一致,不然可能会因为格式不匹配导致筛选失败
  • 如果没有符合条件的数据,加了IFERROR的公式会返回空值,避免出现#NUM!错误

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

火山引擎 最新活动