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

如何用VLOOKUP提取多工作表中指定日期范围内的全部记录

提取跨工作表指定日期范围的记录

方法一:动态数组函数法(Excel 365/2021及以上版本)

利用VSTACK合并多表数据,再用FILTER筛选符合日期范围的记录,数据会自动同步更新。

  1. 假设所有目标工作表(Sheet2、Sheet3等)的A2:C区域是数据区(跳过表头),在Sheet1的空白起始单元格(比如A3)输入公式:
=FILTER(VSTACK(Sheet2!A2:C, Sheet3!A2:C), (INDEX(VSTACK(Sheet2!A2:C, Sheet3!A2:C),,1)>=B1)*(INDEX(VSTACK(Sheet2!A2:C, Sheet3!A2:C),,1)<=D1))
  • 若目标工作表是连续的(比如Sheet2到Sheet5),可简化合并区域为VSTACK(Sheet2:Sheet5!A2:C)
  • 若需要保留表头,可在合并时加入表头区域,比如VSTACK(Sheet2!A1:C1, Sheet2!A2:C, Sheet3!A2:C),同时调整筛选逻辑排除表头行

方法二:Power Query法(全版本Excel适用)

适合工作表数量多、需频繁更新数据的场景,操作更灵活可控。

  1. 进入Power Query编辑器:
    点击「数据」选项卡 → 「获取数据」→ 「自文件」→ 「自工作簿」,选择当前打开的工作簿。
  2. 合并目标工作表:
    在导航器勾选所有需要提取数据的工作表(Sheet2、Sheet3等),点击「转换数据」;
    点击「主页」→ 「合并查询」→ 「将查询合并为新查询」→ 「追加查询」,选择「追加多个表」并添加所有选中的工作表。
  3. 筛选日期范围:
    点击日期列的筛选按钮 → 「日期筛选器」→ 「自定义筛选」,设置「大于或等于」Sheet1的B1单元格值,「小于或等于」Sheet1的D1单元格值。
    (若需动态关联日期范围,可先将Sheet1的B1:D1加载到Power Query,再通过合并查询关联筛选)
  4. 加载数据到Sheet1:
    点击「主页」→ 「关闭并上载」,选择加载到Sheet1的指定位置(比如A3开始)。后续数据更新时,右键点击加载区域选择「刷新」即可同步。

注意事项

  • 所有目标工作表的A、B、C列结构需完全一致(列名、数据类型统一)
  • 确保所有日期单元格格式为「日期」,避免因格式错误导致筛选失效
  • 函数法新增工作表时需手动修改公式;Power Query可通过修改M代码实现自动检测新增工作表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 13:40:12