假设我有一个包含以下内容的电子表格,为方便起见,所有这些都是从单元格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日结束。我需要在开始日期之后或之后找到第一行,然后获取每个后续行直到结束日期。如果我可以弄清楚如何获取第一个和结束日期的行引用,那么我可以找出它们之间的行(显然!)。
我只能在完全匹配上进行这些匹配,即。不知道怎么做'更多/更少'的比赛。
我如何在日期和帐户列上进行匹配?
毋庸置疑,这需要在公式中。
答案 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模板 - 数据透视表”部分中的第二个链接。