Excel公式获取连续倒数第二个值

DMA*_*361 3 worksheet-function microsoft-excel

假设我在 Excel 中有一行数据,如下所示:

     [A]     [B]   [C]   [D]   [E]   [F]   [G]   [H]
[1]  Data     5     8    12    32    15     9    89
Run Code Online (Sandbox Code Playgroud)

我想要一个可以返回值的公式9

然后,如果我向 中添加一个新值I1,它应该更新以返回该值89,这将是新的倒数第二个值。

理想情况下,这应该适用于任意范围,而不仅仅是整行。

如果该方法可以返回距行末尾的任意偏移量(例如返回最后一项的第五项),则可选奖励点。

mto*_*one 5

假设没有空单元格:

=索引(1:1,1,计数(1:1))

=索引(1:1,1,COUNTA(1:1)-1)

INDEX 通过指定返回某个范围内的某个值:

  • 数组:任意范围,或整行 (1:1)
  • row_num:范围(1)内的行号
  • column_num:范围内的列号。这是棘手的部分。

在我的示例中,我使用 COUNT() 来计算该行中有多少个数字条目,即 7。COUNTA() 还将包括您的第一个非数字行“数据”并返回 8,因此您必须减去 1 。

请注意,如果任何单元格留空,这将不起作用。您可以使用破折号 (-) 来指示空条目并使用 COUNTA(),而不是将单元格留空。

奖励:获得最后 5 个条目。简单的:

=INDEX(1:1,1,COUNT(1:1)-3) 或 INDEX(1:1,1,COUNTA(1:1)-4)