Excel:根据某些单元格值查找两个日期之间的日期的公式

Excel:根据某些单元格值查找两个日期之间的日期的公式

我正在处理大量数据,需要根据单元格值和日期获取数据。我确实知道我的任务可以通过宏来完成,但我更想要一个简单的公式。

问题:我有两个 excel 文件,分别是 File1 和 File2。第一个看起来像这样:日期MM/DD/YYYY格式如下。

  A           B             C
-----------------------------------
Val1       myDate        Result
-----------------------------------
AJSKD      12/12/1991    
AJSKD      12/12/1992
AJSKD      11/10/1992
ASHDI      01/10/1992

第二个文件包含:

  A           B              C                D
-----------------------------------------------------
 Val2       data         beginDate         endDate
-----------------------------------------------------
 AJSKD      21ASD       12/10/1992        12/31/1992
 AJSKD      23AIO       10/10/1992        11/31/1992
 ADSUI      21389       12/01/1993        02/21/1994
 MKASI      AS123       01/12/1994        04/01/1994
 ASHDI      34AS1       01/11/1992        01/31/1992

现在我想要的是,我想要AJSKD在 File2 中打开一个过滤器,如下所示:=IF(File1$A2=File2$A:A)

当这是真的时,我想要另一个标准:=IF(AND(mydate>=beginDate,myDate<=endDate)

当两个条件都为真时,我想将数据复制到结果单元格中。

考虑一个例子File2:我想填充 A3 的结果列。因此我根据值过滤记录AJSKD。过滤后我得到:

      A           B              C                D
-----------------------------------------------------
 Val2       data         beginDate         endDate
-----------------------------------------------------
 AJSKD      21ASD       12/10/1992        12/31/1992
 AJSKD      23AIO       10/10/1992        11/31/1992

但由于File1 中myDate与 关联的是。此日期介于和之间,因此我想要数据和AJSKD12/12/199212/10/199212/31/199221ASD不是 23AIO

所以结果应该是这样的:

  A           B             C
-----------------------------------
Val1       myDate        Result
-----------------------------------
AJSKD      12/12/1991     FALSE
AJSKD      12/12/1992     21ASD
AJSKD      11/10/1992     23AIO
ASHDI      01/10/1992     FALSE

由于我有上百万条记录,我无法手动筛选和搜索数据。所以我试图想出一个可以解决这个问题的公式。第二部分,即日期搜索,效果很好。但我无法为第一部分建立公式。有人能给我指出正确的方向吗?

提前致谢。

答案1

使用名为 File1 和 File2 的表以及结构化引用而不是不同的文件,其工作方式如屏幕截图所示:

=IFERROR(LOOKUP(2,1/((File2[Val2]=[@Val1])*(File2[beginDate]<=[@myDate])*(File2[endDate]>=[@myDate])),File2[data]),FALSE)

在此处输入图片描述

您不想使用整列引用来运行此操作。如果您有“一百万”行,请将它们转换为表格并使用结构化引用,或者对数据使用精确范围,例如$A$1:$A$400000

哦,我擅自将 11 月 31 日改成了 30 日。我的电脑更喜欢这个日期。

相关内容