有人知道在Microsoft Excel中用于查找整个工作表(具有A1:Z2500范围)中最后一个非空单元格的值的公式吗?
我可以使用以下公式获取A列的最后一个非空单元格。
=INDEX(A:A,MAX((A:A<>"")*(ROW(A:A))))
但无法获得从A1到Z2500的整个范围,如果有人知道它的解决方案,请帮助。
答案 0 :(得分:3)
使用公式
=MAX(INDEX(($A$1:$Z$2500<>"")*ROW($A$1:$Z$2500),0))
我们可以获得范围的最后填充的行。那是其中充满单元格的最大行数。
并使用
=MAX(INDEX(($A$1:$Z$2500<>"")*COLUMN($A$1:$Z$2500),0))
我们可以获得范围的最后一个填充列。那是其中充满单元格的最大库仑数。
但是我们需要在最后一个填充行中最后一个填充列。因此,我们可以使用一个技巧。我们将行号乘以10000,然后将适当的列号相加。因此,我们可以将行号+列号之和的最大值作为最后填充的行在中的最后一个填充列。要从该总和中获取行号,请用总和除以10000。要从该总和中获取列号,请取该除法的余数。
示例:
公式:
AA1
:
=MAX(INDEX(($A$1:$Z$2500<>"")*ROW($A$1:$Z$2500),0))
AA2
:
=MAX(INDEX(($A$1:$Z$2500<>"")*COLUMN($A$1:$Z$2500),0))
AA3
:
=MAX(INDEX(($A$1:$Z$2500<>"")*(ROW(A1:Z2500)*10000+COLUMN($A$1:$Z$2500)),0))
AA4
:
=INDEX($A$1:$Z$2500,MAX(INDEX(($A$1:$Z$2500<>"")*(ROW($A$1:$Z$2500)*10000+COLUMN($A$1:$Z$2500)),0))/10000,MOD(MAX(INDEX(($A$1:$Z$2500<>"")*(ROW($A$1:$Z$2500)*10000+COLUMN($A$1:$Z$2500)),0)),10000))