MS Excel - 查找特定日期之后的第一行

时间:2011-10-26 12:46:47

标签: excel date

假设我有一个包含以下内容的电子表格,为方便起见,所有这些都是从单元格A1开始的。

---------------------------------------
| Date          | Item      | Account |
---------------------------------------
| 01/09/2011    | Testing 1 | USD     |
| 03/09/2011    | Testing 2 | USD     |
| 11/09/2011    | Testing 3 | USD     |
| 20/10/2011    | Testing 4 | JD      |
| 22/10/2011    | Testing 5 | JD      |
| 25/10/2011    | Testing 6 | USD     |
| 03/11/2011    | Testing 7 | USD     |
| 05/11/2011    | Testing 8 | JD      |
---------------------------------------

现在,我希望运行一个月的报告,从2011年1月10日开始到2011年10月31日结束。我需要在开始日期之后或之后找到第一行,然后获取每个后续​​行直到结束日期。如果我可以弄清楚如何获取第一个和结束日期的行引用,那么我可以找出它们之间的行(显然!)。

我只能在完全匹配上进行这些匹配,即。不知道怎么做'更多/更少'的比赛。

我如何在日期和帐户列上进行匹配?

毋庸置疑,这需要在公式中。

3 个答案:

答案 0 :(得分:2)

=match(date(2011,10,1),a2:a9,1)+1
=match(date(2011,10,31),a2:a9,1)

第一个公式显示十月第一个记录的行,最后一天的第二个公式。数据必须按升序排序。

答案 1 :(得分:1)

使用以下数组公式查找包含最早日期的行,该日期等于或大于单元格C1中提到的日期(在您的情况下为10月1日)。

=MATCH(MIN(IF($A$1:$A$30>=C1,1,9999)*$A$1:$A$30),$A$1:$A$30,0)

日期列表位于单元格A1至A30中。根据需要更改引用。 数据无需按升序或降序排序。

使用以下数组公式查找包含最新日期的行,该日期等于或小于单元格D1中提到的日期(在您的情况下,这是10月31日)。数据无需按升序或降序排序。

=MATCH(MAX(IF($A$1:$A$30<=D1,1,0)*$A$1:$A$30),$A$1:$A$30,0)

如果您想要最早和最晚的日期,请使用以下数组公式。

=MIN(IF($A$1:$A$30>=C1,1,9999)*$A$1:$A$30)

=MAX(IF($A$1:$A$30<=D1,1,0)*$A$1:$A$30)

上面使用的所有公式都是数组公式。要输入数组公式,请使用Control + Shift + Enter而不是Enter。

Vijaykumar Shetye,印度果阿

答案 2 :(得分:0)

我建议使用数据透视表。查看Contextures站点上this page上“Excel模板 - 数据透视表”部分中的第二个链接。