2013-01-25 61 views

回答

2

给定列A =日期,B的日期最低数=数人 添加第三个列表:

=IF(A1>TODAY(),B1,"") 

然后使用查找寻找最小进境之日起:(!谢谢)

=INDEX(A:A,MATCH(MIN(C:C),C:C,0)) 

与巴里修复更新

+1

+1的方法 - LOOKUP要求查找范围(C:C)在这种情况下按升序排序 - 大概是不能保证在这里我认为你需要按照Jason的建议使用MATCH作为第二个公式,尽管我会使用INDEX而不是INDIRECT,即'= INDEX(A:A,MATCH(MIN(C:C),C:C,0) )' –

1

OK,这是一个有趣的弄清楚:)

不幸的是这种方法没有考虑到占当前日期,则可以通过对数据进行排序按升序日期解决,然后限制MAX和MATCH的功能与您在里面搜索的日期范围相关(我不够Excel专家来找出一种不使用某种形式的预组织数据的方法)。

现在让我们使用以下数据:

 A  | B 
1 1/05/2012 | 1 
2 2/14/2012 | 4 
3 3/17/2012 | 2 
4 4/01/2012 | 3 
5 5/12/2012 | 1 

使用B列的参加者以及为日期值,你可以看到的最早/本(实施贝里的建议(使最高的功能更具可读性) ):

=INDEX(A1:A5, MATCH(MAX(B1:B5),B1:B5,0), 1) 

如果别人能找出什么,我缺少的,这里是正在发生的事情向下突破:

=MAX(B1:B5) -> 4 
Looks for the largest attendees count 

=MATCH(MAX(B1:B5),B1:B5,0) -> 2 
find the first row where this number occurs. 

=INDEX(A1:A5, MATCH(MAX(B1:B5),B1:B5,0), 1) -> 2/14/2012 
which is the value found at that row in the first column 
+0

讨厌鬼我的答案是没有考虑到当前日期:P那么您可以按列A排序,并将公式的范围限制为可接受的日期 –

+0

@ Jason_Sperske - 通常最好使用INDEX而不是INDIRECT/ADDRESS - 请参阅我对Edmund's的评论中的建议回答 –

2

假定日期是在A2:A100和数字B2:B100尝试这个 “阵列式”

=MIN(IF(A2:A100>TODAY(),IF(B2:B100=MIN(IF(A2:A100>TODAY(),B2:B100)),A2:A100))

式需要与CTRL + SHIFT确认+ Enter使得大括号像{和}围绕式出现在公式栏中

即找到最小时间(最早的),其后,今天是既并且具有用于今天后

+0

做得很好,不会浪费空间与帮助列,+1 – Jesse

相关问题