获取忽略空白的最后 5 个值 excel

Get last 5 values ignoring blanks excel

所以我的数据包括以下内容:

还有多行。

我正在尝试连续检索最后 5 个值,以供进一步使用。 我可以用一个简单的 INDEX(MATCH()) 设置来做到这一点,但是这不会忽略空白单元格,我希望它这样做。它确实成功检测到第一个非空白单元格和 returns,但是当它在最近的 5 个单元格中间为空白时,它不会删除它。

现在是这样的:

但是我希望它以这种格式返回:

等等。任何位置都可能出现空白,并且可能不会总是有 5 个分数可供检索。

TIA

您可以使用以下 array-formula(在旧 Excel 版本中输入 ctrl+shift+enter):

=INDEX(1:1,AGGREGATE(14,6,COLUMN(A:G)/(A1:G1<>""),{5,4,3,2,1}))复制下来。

聚合创建一个列号除以 1 或 0(真或假)的数组。除以 0 会导致错误并被忽略。然后它将第 5 大到最大的列号无错误地作为索引行上的数组 returns。

其中 1:1 表示第一行,A:G 表示使用的倒数第一列。

如果您希望它出现在第 2 行和第 A:Z 列,您必须像这样修改它: =INDEX(2:2,AGGREGATE(14,6,COLUMN(A:Z)/(A2:Z2<>""),{5,4,3,2,1}))

不同的方法 - 使用新的 Excel 365 公式:

这将 return 第 2 行的最后五个 non-empty 单元格的值

=LET(
    data,FILTER(B2:H2,B2:H2<>""),
    cntData,COUNT(data),
    matrix,SEQUENCE(1,MIN(cntData,5),IF(cntData>5,cntData-4,1)),
    INDEX(data,1,matrix)
   )
  • data returns 除空单元格外的所有值,使用 FILTER- 公式
  • cntData 保存单元格的数量
  • 使用 SEQUENCE 构建矩阵,return column-indices 将被 return 编辑。如果可用的值少于 5 个,矩阵 returns 1 到 cntData.
  • 最后这个“index-matrix”用于return来自过滤数据的值

这可以通过在命名单元格中存储要 returned 的单元格数量并在公式中引用此名称来增强。这样一来,您可以在不更改公式的情况下轻松更改数字。