我有两个列,一个用于日期,另一个用于在该日期无法进入事件的人数。日期格式为excel日期。我想找到最少数量的人在当前日期之后无法完成的第一个日期。理想情况下,我想在不使用VBA宏的情况下解决问题。
答案 0 :(得分:2)
假设日期在A2:A100和B2中的数字:B100尝试这个“数组公式”
=MIN(IF(A2:A100>TODAY(),IF(B2:B100=MIN(IF(A2:A100>TODAY(),B2:B100)),A2:A100))
公式,以便在公式栏中的公式周围显示{和}等花括号
找到最小的日期(最早的),它是今天之后的日期,并且是今天之后日期的最低日期
答案 1 :(得分:2)
鉴于列A =日期,B =人数 添加第三个匹配:
=IF(A1>TODAY(),B1,"")
然后使用Lookup查找最小条目的日期:
=INDEX(A:A,MATCH(MIN(C:C),C:C,0))
更新了Barrys修复程序(谢谢!)
答案 2 :(得分:1)
好的,这很有趣,可以搞清楚:)
不幸的是,这种方法并没有考虑到当前日期,您可以通过按升序日期对数据进行排序,然后将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列中的值作为与会者,A作为日期,您可以看到最早/最高的(实现Berry的建议(使函数更具可读性)):
=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