我使用下面的函数
=DAYS360(A2, A35)
计算我列中两个日期的差值。然而,列一直在扩大,我目前必须手动更改“A35”,因为我更新了我的电子表格。
是否有一种方法(在谷歌表)找到该列中的最后一个非空单元格,然后在上面的函数中动态设置该参数?
我使用下面的函数
=DAYS360(A2, A35)
计算我列中两个日期的差值。然而,列一直在扩大,我目前必须手动更改“A35”,因为我更新了我的电子表格。
是否有一种方法(在谷歌表)找到该列中的最后一个非空单元格,然后在上面的函数中动态设置该参数?
当前回答
如果列仅按连续添加的日期展开 就像在我的情况下-我只是使用MAX函数来获取最后的日期。
最终公式为:
=DAYS360(A2; MAX(A2:A))
其他回答
我最喜欢:
=INDEX(A2:A,COUNTA(A2:A),1)
所以,对于OP的需求:
=DAYS360(A2,INDEX(A2:A,COUNTA(A2:A),1))
如果A2:A包含连续的日期,则INDEX(A2:A,COUNT(A2:A))将返回最后一个日期。最后的公式是
=DAYS360(A2,INDEX(A2:A,COUNT(A2:A)))
我走了一条不同的路。因为我知道我将逐个向行/列添加一些东西,所以我通过首先计算有数据的字段来找出最后一行。我将用一列来演示这一点:
=COUNT(A5:A34)
假设它返回了21。A5在第4行,所以我需要从第4行开始算第21个位置。我可以用间接的方法来做到这一点,像这样:
=INDIRECT("A"&COUNT(A5:A34)+4)
它正在查找数据行的数量,并返回一个我用作索引修饰符的数字。
对于严格地查找列中的最后一个非空单元格,这应该工作…
=LOOKUP(2^99, A2:A)
Ben Collins是谷歌床单专家,他的网站上有很多免费的建议,还提供课程。他有一篇关于动态范围名称的免费文章,我在许多项目中都使用了这篇文章作为基础。
https://www.benlcollins.com/formula-examples/dynamic-named-ranges/
免责声明,我没有获得任何参考本的网站。
这是我使用动态范围的一个项目的截图:
单元格D3的公式如上所示,但这是一个数组公式:
=ArrayFormula(MAX(IF(L2s!A2:A1009<>"",ROW(2:1011))))
单元格D4的公式如下:
="L2s!A2:E"&D3