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

如何从Excel工作表提取本周数据?VLOOKUP或其他公式选型咨询

嘿,关于这个Excel提取记录的问题,我给你梳理清楚哈~

别用VLOOKUP!这两个公式更适合你的需求

首先得明确:VLOOKUP主打单个值的精确/模糊匹配,最多只能返回一条符合条件的结果,但你需要提取日期在指定范围内的所有对应PRF Control #记录,所以它并不是最优选择。推荐你用下面两种方案:

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

FILTER是Excel专门用来筛选多条符合条件记录的函数,用法简单直接。假设:

  • 存放原始数据的工作表叫数据工作表
  • 日期列是该表的A列,PRF Control #列是B列
  • 你计算出的本周首日存在Sheet1!A1,末日在Sheet1!B1

直接用这个公式:

=FILTER(数据工作表!B:B, (数据工作表!A:A>=Sheet1!A1)*(数据工作表!A:A<=Sheet1!B1), "无符合条件的记录")
  • 公式里的(数据工作表!A:A>=Sheet1!A1)*(数据工作表!A:A<=Sheet1!B1)是用来判断日期是否在本周范围内的条件,*在这里相当于逻辑AND
  • 第一个参数数据工作表!B:B指定了要提取的PRF Control #列
  • 第三个参数是当没有符合条件记录时显示的提示内容,你可以根据需要修改

方案2:INDEX+SMALL+IF组合(兼容旧版Excel,需数组输入)

如果你的Excel版本不支持FILTER(比如2019及更早版本),就用这个数组公式组合。同样基于上面的假设,公式如下:

=IFERROR(INDEX(数据工作表!B:B, SMALL(IF((数据工作表!A:A>=Sheet1!A1)*(数据工作表!A:A<=Sheet1!B1), ROW(数据工作表!A:A)), ROW(A1))), "")

⚠️ 操作注意:输入完公式后,别直接按回车,要按Ctrl+Shift+Enter触发数组计算,然后下拉公式,直到出现空白单元格,就能列出所有符合条件的PRF Control #了。

  • IF(...)部分会找出所有符合日期条件的行号
  • SMALL(...)会依次提取第1、第2……个符合条件的行号
  • INDEX(...)根据行号提取对应的PRF Control #
  • IFERROR(...)用来避免没有更多记录时出现错误值

为啥不推荐VLOOKUP?

VLOOKUP哪怕开启模糊匹配(把最后一个参数设为TRUE),也只能返回第一个落在指定区间的结果,没办法一次性提取所有符合条件的多条记录,完全满足不了你的需求哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:06:08