2014-03-06 181 views
2

我有两个单元格中的窗口日期。例如:查找值如果日期落在两个日期之间

  • A1 = 2014年1月1日8:00
  • B1 = 2014年1月4日10点00
  • C1 = 11

  • A是开始日期
  • B是结束日期
  • C是鳕鱼E对于窗口

单元格D1我有日期:2014年1月3日7:00

我想查找的日期在A/B,如果d落在这些日期间则我想让它返回窗口的代码。

+0

您尝试过任何操作吗? – Jerry

+0

1)“D1”可能会分成两个或多个窗口吗? 2)列C总是包含数字? –

+0

是你想要的这个vba/excel forumlas吗? –

回答

3

假设你已经在为了无间隙列出了多个 “窗口” 可能尝试LOOKUP像

=LOOKUP(D1,A1:C10)

看到example

+0

这不检查它是否在范围内? – AnthonyLambert

+0

假设范围和范围之间没有空白,按升序排列,您并不需要在范围内进行检查 - 查找将D1与相关列A值相匹配,并从列C返回正确的数字。如果D1可能不在任何范围内,则你可以添加一个简单的IF,比如'= IF(D1> B10,NA(),LOOKUP(D1,A1:C10))' –

+0

你假设日期是按顺序排列的...... – AnthonyLambert

2
Cell 

a1  = 1/1/2014 8:00 

b1  = 1/4/2014 10:00 

c1  = 11 

d1  = 1/3/2014 7:00 

e1  =IF(AND($D$1-A1>0,B1-$D$1>0),C1,"outside") 

add add other rows filling down with cells a1:c52

+0

I有52个窗口...所以我必须做52如果嵌套语句 – user3084662

+0

这就是为什么LOOKUP是好的 - 你可以一次检查所有52个窗口 - 看我的回答 –

+0

你的查找不检查它是否在两个之间日期。 – AnthonyLambert

2

您可以使用此,它即使日期不符合时也会起作用,只要C列中的值是数字。如果不匹配,它将返回0

=SUMPRODUCT((D1>=A1:A10)*(D1<=B1:B10)*C1:C10) 
+0

我正在等待某人建议SUMPRODUCT或SUMIFS,+1 - 我个人总是希望在需要单个值时使用“查找”类型公式 - 它们也可以用于检索文本值......但这种方法具有优势,例如可以有空位,不需要像你说的那样排序 –

+0

最后,如果列C不是数字,我们添加一个匹配来查找值1,然后使用索引来获取值。但是,在这种情况下,它将是一个数组公式... – CRondao

相关问题