为 EXCEL 中的每个第 1 列单元格查找第 2 列集的最后一个单元格值

Find the Last Cell Value of the 2nd Column Set for each 1st Column Cell in EXCEL

我在 excel 中有以下结构 table,其中包含 1000 行。

我想 return 列 A 中每个值的列 B 的最后一个单元格值。

例如:

  1. 对于单元格 A1 -> 我想要 return 单元格 B5。
  2. 对于单元格 A6 -> 我想要 return 单元格 B9。

我已经尝试过 VLOOKUPHLOOKUPINDEX 同样如此多的公式,但我以更多的冲突情况结束。谁能写下一个公式来满足我的要求?

C1单元格中的数组公式(输入公式时按Control + Shift + Enter)并向下复制。

=IF(A1="","",IFERROR(INDEX($A2:$B,MATCH(FALSE,ISBLANK($A2:$A),0)-1,2),LOOKUP(2,1/(B2:$B),B2:$B)))

如果您不介意使用 C 列作为辅助列,您可以使用类似的东西:

如果您不会使用数组公式,您可以使用此解决方案: 像这张图片:

在第一个单元格中使用 C 列作为此公式的助手 =OFFSET(A1;SUMPRODUCT(MAX(($A:$A1<>"")*(ROW($A:$A1))))-ROW(A1);0)

并在 D 列的第一个单元格中使用此公式 =IF(A1="";"";INDEX($B:$B;SUMPRODUCT(MAX((ROW($A:$A))*($C:$C=A1)))))

并将填充复制到所有单元格。

试试这个更短的、没有辅助列和非数组公式的解决方案

C1中,公式复制下来:

=IF(A1="","",INDEX(B1:B,MATCH(1,FREQUENCY(1,0+(A2:A<>"")),0)))