获取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最后一个非空单元格,可以使用INDEX
和MATCH
函数,如下所示:
=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:A105
或A1:A1234
,则可以使用以下范围:
A1:A
业余人士的做法是“= CONCATENATE(”A“,COUNTUNIQUE(A1:A9999))”,其中A1是列中的第一个单元格,A9999比我预期的任何条目都要低。 由此产生的A#可以根据需要与INDIRECT函数一起使用。