查找行中最后填充的条目
Find last populated entry in row
我正在使用 libre office calc,但我希望公式是一样的。我只是想在一行中找到最后填充的值并将其显示在其他地方。该行从左到右,可能有空值。
我 tried other answers and tried 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)))))
完整示例:
我正在使用 libre office calc,但我希望公式是一样的。我只是想在一行中找到最后填充的值并将其显示在其他地方。该行从左到右,可能有空值。
我 tried other answers and tried 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)))))
完整示例: