如何在 Excel 中将日期映射到某个日期范围?

如何在 Excel 中将日期映射到某个日期范围?

我在 Excel 中有 2 张表。

一个字段有日期字段。

例如 A-1 Date1

第二张表上有一个带有 ID 的日期范围。

A-1 开始日期 A2- 结束日期 A3-日期范围 ID

我需要在第一张表上创建一个包含 Date1 的范围 ID 的新字段。

例如在第二张表上我有范围 A1-2017 年 5 月 1 日 A2-2017 年 5 月 30 日 A3-7

在第一张工作表 A1-May 3 2017 上。所以我想在第一张工作表上添加一个新列,其值为 7。

我如何在 Excel 中执行此操作?

答案1

正如@Ron Rosenfeld 所说,如果 Sheet2 中的范围包含 Sheet1 中的所有日期并且没有重叠,则简单的 VLOOKUP 应该可以工作。但是,如果 Sheet2 中的日期范围不一定按升序排列,并且中间有间隙并且可能重叠。请尝试此解决方案。限制是它将返回 Sheet1 中的数据在范围内的日期范围的第一个范围 ID。

在此示例中,Sheet1 在 A1:A10 列中输入日期。Sheet2 在 A1:A7 中输入开始日期,在 B1:B7 中输入结束日期,在 C1:C7 中输入范围 ID。

在 Sheet1 单元格 B1 中输入以下数组公式。

=IF(ISERROR(INDEX(Sheet2!$C$1:$C$7,MATCH(1,IF(A1>=Sheet2!$A$1:$A$7,IF(A1<=Sheet2!$B$1:$B$7,1,0)),0))),"Not Found",INDEX(Sheet2!$C$1:$C$7,MATCH(1,IF(A1>=Sheet2!$A$1:$A$7,IF(A1<=Sheet2!$B$1:$B$7,1,0)),0)))

之后按 CTRL+SHIFT+ENTER 键使其成为数组公式。现在您将在地址栏中看到用花括号括起来的公式。现在将其向下拖动到所需的行。现在,B 列将从 Sheet2 中获取 A 列中的日期所在的范围内的相应范围 ID。

该公式基于检查嵌套的 IF,根据匹配范围返回 TRUE、FALSE 数组,并使用外部 INDEX-MATCH 获取匹配 1 的第一个位置并从范围 ID 列返回该位置的值。

在此处输入图片描述

在此处输入图片描述

相关内容