获取Google表格中列中的最后一个非空单元格

我使用以下function

=DAYS360(A2, A35) 

来计算我列中两个date之间的差异。 然而,这个专栏不断扩大,我现在必须在更新电子表格时手动更改“A35”。

有没有办法(在Google表格中)find此列中的最后一个非空单元格,然后在上述函数中dynamic设置该参数?

可能有一种更有说服力的方式,但是这是我提出的方式:

查找列中最后一个填充的单元格的函数是:

 =INDEX( FILTER( A:A ; NOT( ISBLANK( A:A ) ) ) ; ROWS( FILTER( A:A ; NOT( ISBLANK( A:A ) ) ) ) ) 

所以如果你把它和你现在的function结合起来看起来就像这样:

 =DAYS360(A2,INDEX( FILTER( A:A ; NOT( ISBLANK( A:A ) ) ) ; ROWS( FILTER( A:A ; NOT( ISBLANK( A:A ) ) ) ) )) 

要find最后一个非空单元格,可以使用INDEXMATCH函数,如下所示:

 =DAYS360(A2; INDEX(A:A; MATCH(99^99;A:A; 1))) 

我认为这是一个更快,更容易。

如果A2:A连续包含date,则INDEX(A2:A,COUNT(A2:A))将返回最后一个date。 最后的公式是

 =DAYS360(A2,INDEX(A2:A,COUNT(A2:A))) 

如果该列只扩展连续添加date在我的情况下 – 我用MAX函数来获取最后date。

最终的公式是:

 =DAYS360(A2; MAX(A2:A)) 

我最喜欢的是:

 =INDEX(A2:A,COUNTA(A2:A),1) 

所以,对于OP的需要:

 =DAYS360(A2,INDEX(A2:A,COUNTA(A2:A),1)) 

这个公式获得最后的价值是什么:

 =index(G:G;max((G:G<>"")*row(G:G))) 

这将是您原始任务的最终公式:

 =DAYS360(G10;index(G:G;max((G:G<>"")*row(G:G)))) 

假设你的初始date是G10。

虽然这个问题已经得到解答,但是有一个很好的方法来做到这一点。

 Use just the column name to denote last non-empty row of that column. 

例如:

如果您的数据在A1:A100并且希望能够向列A添加更多数据,比如稍后可以使用A1:A105A1:A1234 ,则可以使用以下范围:

 A1:A 

业余人士的做法是“= CONCATENATE(”A“,COUNTUNIQUE(A1:A9999))”,其中A1是列中的第一个单元格,A9999比我预期的任何条目都要低。 由此产生的A#可以根据需要与INDIRECT函数一起使用。