0

我是这个论坛的新手。我有一个电子表格,可以根据未来事件预测银行余额。我想知道将来的最低余额,以确保我不会超支。

我可以使用 找到整个日期范围内帐户中的最小值MIN,但这包括过去的日期。我想MIN根据函数改变参数的范围TODAY

我可以返回我需要用于今天日期的单元格引用=ADDRESS(MATCH(DATEVALUE(TEXT(TODAY(),"dd mmm yy")),C:C,0),COLUMN(E2),4),其中 ColumnC包含日期, Column 包含E银行余额。但是,我不能在MIN公式中使用单元格的值。

因此,目前,MIN(E10-E121)适用于过去和未来的水平,但如果ADDRESS今天日期的例程E90在单元格中返回A1,我无法A1MIN函数中引用来获取范围E90:E121

我试过INDIRECT了,但这给出了单元格的值E90

4

2 回答 2

2

假设您的数据在第 2 到 100 行中,这将为您在 E 列中的任何地方提供最小的数量,其中 C 列中的日期是今天或更晚。这是一个数组公式,所以必须用Ctrl- Shift-输入Enter

=MIN(IF(C2:C100>=TODAY(),E2:E100))

编辑:

为了回应您关于如何使用范围中的一个单元格来执行此操作的评论,这用于Match查找列 C 中小于或等于的最后一个单元格,Today()然后将其用作Index列中范围规范的前半部分E. 它要求按日期对列进行升序排序,如果今天不在 C 列中,它将从 C 列中日期在今天之前的最高行开始。您可以摆弄Match- 1、0 或 -1 中的最后一个参数,但如果 C 始终包含今天的日期,这将起作用:

=MIN(INDEX(E2:E100,MATCH(TODAY(),C2:C100,1)):E100)
于 2013-09-22T14:11:44.720 回答
0

另一个不涉及数组公式的解决方案(但涉及更多的公式):

=SUMPRODUCT(MIN((C2:C100<TODAY())*(1+MAX(E2:E100))+(E2:E100)*(C2:C100>=TODAY())))
于 2013-09-22T14:29:41.413 回答