使用查找函数检查日期

使用查找函数检查日期

我在 sheet1 中输入了日期,比如 A!15/07/2010,在另一张 sheet 中,日期范围以六个月为间隔,a1 为 01/01/2010,b1 为 30/06/2010,c1 为 15,同样有数据

我想检查 a1 中的日期与 sheet2 的日期范围,并返回 c 列中的相应值,如何使用查找和 if 函数实现它

答案1

据我理解,您的意思是 Sheet2 的不同行中有许多日期范围。

工作表2看起来应该是这样的。

  |     A      |      B       |  C
--+------------+--------------+------
1 |  1/1/2010  |   30/6/2010  |  15
2 |  1/7/2010  |  31/12/2010  |  25
3 |  1/1/2011  |   30/6/2011  |  35
4 |  1/7/2011  |  31/12/2011  |  45

正如你提到的,日期范围是 6 个月的间隔,你可以在工作表1

  |      A      |              B
--+-------------+-------------------------------
1 |  15/7/2010  |  =VLOOKUP(A1,Sheet2!A1:C4,3)

在此解决方案中,Sheet2!B:B未被引用。Sheet1!B1实际上是在查找Sheet2!A:A小于Sheet1!A1(15/7/2010) 的值。由于 1/1/2010 小于 15/7/2010,因此结果是二十五

笔记:必须对 Sheet2 进行排序才能使该VLOOKUP函数正常工作。
参考: http://www.techonthenet.com/excel/formulas/vlookup.php

答案2

这应该可以做到(写入时给出默认值为零):

=IF(A1>Sheet2!A1,IF(A1<Sheet2!B1,Sheet2!C1,0),0)

答案3

尝试这个:

=SUMPRODUCT(--(Sheet2!A:A>=Sheet1!A1),--(Sheet2!B:B<=Sheet1!A1),Sheet2!C:C)

使用 Wilson 对此示例的模拟,此公式将进入 Sheet1!B1。

相关内容