问题描述
我正在使用libre office calc,但我希望公式相同。我只想在一行中找到最后一个填充的值,然后将其显示在其他位置。该行从左到右,可能有空值。
我已经tried other answers并尝试了RTFM,但我认为我没有搜索正确的内容。
解决方法
要获取最后一个填充单元格的列索引,请尝试以下array formula(任意假设您的数据位于行A1:ZZ1
中)
=MAX(IF(A1:ZZ1<>"";COLUMN(A1:ZZ1)))
以下数组公式的作用相同,只是将列索引附加转换为列名:
=SUBSTITUTE(ADDRESS(1;MAX(IF(A1:ZZ1<>"";COLUMN(A1:ZZ1)));4);"1";"")
这是以下来源(信用...)的组合:
- Dirk Reichel's answer on Find Last Row Cell in Spreadsheets (CALC,excel) with formula,based on the last entry (text / number)
- John Sun's post on OpenOfficeForums Thread "Derive Column Letter from Formula"
编辑
要动态获取第1行中最后一个填充的单元格的值,只需将第一个公式嵌入INDIRECT(ADDRESS(1,<formula>))
子句中即可。 ADDRESS(1,<formula>)
创建一个单元格引用,INDIRECT()
根据该单元格引用获取值。因此,完整的(第一个)公式如下所示:
=INDIRECT(ADDRESS(1;MAX(IF(A1:ZZ1<>"";COLUMN(A1:ZZ1)))))
完整示例: