答案1
在 B9 中:=OFFSET($A2,,COUNTA(2:2)-1)
在 C9 中:=OFFSET($A2,,COUNTA(2:2)-2)
并填下来。
答案2
您没有提到如何成功获取表格中最右边的值。一种可能的方法是,在单元格 B9 中输入以下公式:
=LOOKUP(2,1/(2:2<>0),2:2)
该公式的工作方式是2:2<>0
返回一个 True/False 值数组,指示第 2 行中哪些单元格不为空。1/(2:2<>"")
返回一个数组,每个非空单元格为 1,每个空白单元格为 #DIV/0!。LOOKUP 在返回的数组中搜索值 2;由于该值不在数组中,它会查找下一个最高值的最后一次出现(在本例中为 1)。LOOKUP 返回与找到的值相对应的最后一个参数(2:2)的值。
我们可以修改该公式,通过在单元格 C9 中输入以下内容来返回最后一个非空值之前的单元格的值:
=LOOKUP(2,1/(B2:ZZ2<>0),A2:ZY2)
在此版本中,查找值的数组从搜索的数组向左移动一个单元格,从而返回最后一个单元格左侧的单元格。请注意,您需要确保数据不会超出 LOOKUP 中使用的范围的末尾(在我的示例中为 ZZ2)。