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

Excel公式需求:匹配日期区间获取对应低值日期的项目

根据ID匹配数据集并生成Excel公式解决方案

需求说明

针对相同ID,按以下规则匹配两个数据集,用Excel公式填充数据集2的Item列:

  • 若数据集2的「修改日期(Date Modified)」小于该ID在数据集1中的最小日期,取最小日期对应的Item;
  • 若修改日期处于该ID在数据集1中的某两个日期区间内,取区间低值日期对应的Item;
  • 若修改日期大于该ID在数据集1中的最大日期,取最大日期对应的Item。

数据集1

IDDateItem
15/10/2022Apple
11/10/2022Orange
110/10/2022Strawberry
21/10/2022Kiwi

数据集2(待填充Item列)

IDDate ModifiedItem
130/9/2022
14/10/2022
19/10/2022
111/10/2022
29/9/2022
210/10/2022

预期结果

IDDate ModifiedItem
130/9/2022Orange
14/10/2022Orange
19/10/2022Apple
111/10/2022Strawberry
29/9/2022Kiwi
210/10/2022Kiwi

Excel公式实现

适用于Excel 365/2021(动态数组公式)

假设数据集1位于A2:C5,数据集2位于E2:G7(G列为待填充列)。在G2单元格输入以下公式,按回车自动填充整列:

=XLOOKUP(MAX(FILTER($B$2:$B$5,$A$2:$A$5=E2,$B$2:$B$5<=F2)),FILTER($B$2:$B$5,$A$2:$A$5=E2),FILTER($C$2:$C$5,$A$2:$A$5=E2))

逻辑解析:

  1. FILTER($B$2:$B$5,$A$2:$A$5=E2,$B$2:$B$5<=F2):筛选当前ID下,日期≤修改日期的所有数据集1日期;
  2. MAX(...):取上述筛选结果的最大值,即符合规则的目标日期;
  3. XLOOKUP根据目标日期匹配对应的Item。

适用于旧版Excel(数组公式)

若使用不支持动态数组的旧版Excel,在G2单元格输入以下公式,按Ctrl+Shift+Enter完成数组输入后下拉填充:

=INDEX($C$2:$C$5,MATCH(MAX(IF($A$2:$A$5=E2,IF($B$2:$B$5<=F2,$B$2:$B$5))),IF($A$2:$A$5=E2,$B$2:$B$5),0))

逻辑解析:

  1. 嵌套IF筛选当前ID下日期≤修改日期的所有日期;
  2. MAX(...)取筛选结果的最大值;
  3. MATCH定位该日期在当前ID日期列的位置,INDEX取出对应Item。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 06:04:59