根据最后填充的单元格动态更改单元格引用

时间:2018-07-08 08:04:33

标签: excel excel-formula

我有以下简单的Excel电子表格:

      A        B        C        D         E       F       G      H
1    Jan      Feb      Mar      Apr       Jun     Jul     Aug    Sept
2   5.000    4.000    5.000    8.000     9.000   
3   $A$2:$H$2
4   

A3单元格中,我使用以下公式从第2行获取单元格引用:

A3 ="$"&LEFT(ADDRESS(1,COLUMN(A2),4),1+(COLUMN(A2)>26))&"$"&ROW(A2)&":$"&LEFT(ADDRESS(1,COLUMN(H2),4),1+(COLUMN(H2)>26))&"$"&ROW(H2)

到目前为止,所有这些都工作正常。


但是,我现在的目标是更动态地创建单元格引用。如您在我的示例中所见,Jul, Aug, Sept尚无数字。因此,我还希望单元格引用不会比Jun单元格E2 )更进一步。
我可以通过手动更改公式中的引用来做到这一点,但是我更喜欢一种能够自动检测最后填充的单元格并将该单元格用作最后一个单元格引用的解决方案。
在我的情况下,最后一个填充的单元格是E2,但是一旦7月结束,它将更改,然后最后一个填充的单元格是8月(F2),依此类推...

您知道我如何解决此问题吗?

1 个答案:

答案 0 :(得分:1)

尝试

=ADDRESS(2, COLUMN(), 1, 1)&":"&ADDRESS(2, MATCH(1E+99, 2:2), 1, 1)

enter image description here

对于最后一个非空白/非零数字的地址,

=ADDRESS(2, COLUMN(), 1, 1)&":"&ADDRESS(2, AGGREGATE(14, 7, COLUMN($A:$Z)/($A$2:$Z$2<>0), 1), 1, 1)