这是一个返回列中最后一个值的公式:
=INDEX(A:A;MAX((A:A<>"")*(ROW(A:A))))
由于部分MAX((A:A<>"")*(ROW(A:A)))
返回0
,无法理解其工作原理。
有什么想法吗?
答案 0 :(得分:3)
为了回答。细分:
=MAX((A:A<>"")*(ROW(A:A)))
如果它所在的行在ColumnA中有一个空白单元格,则返回0
,否则返回1
。
作为数组公式( Ctrl + Shift + 在 Enter 之前输入)得到:
=ArrayFormula(MAX((A:A<>"")*(ROW(A:A))))
返回ColumnA中最后一个填充单元格的行号。
将此简化为三行示例,第一行(Row1)为空:
&#39;不是空白&#39; part返回一个数组:FALSE,TRUE,TRUE
和1,2,3
所以将这些相乘(*
)放在一起得到一个数组0,2,3
(乘以FALSE相当于乘以0
并乘以等于1
次的TRUE)。
MAX函数然后选择最大值(3
)。
INDEX功能然后读取&#39;以上命令返回ColumnA中最后一(第三)行的值。