找到行中最右边有文本的单元格(并使用数字为其单独列出公式)

找到行中最右边有文本的单元格(并使用数字为其单独列出公式)

我想创建一个 Excel 公式,用我维护的表格中的最新信息填充摘要表中的单元格。

例子:

示例图

我在顶部的三栏中输入我的常规账单 - 日期、费用和供应商。如果我更换供应商或费用发生变化,我会在另外三栏中输入更新的信息。

我希望下表获取最新的信息 - 我不知道如何使用查找来获取最右边的文本(供应商)和最右边的数字(成本)。

目前我能做的就是取最右边的值,所以表格显示

bbc 安伯谷南部天然气公司

供应商和年度成本。谢谢

答案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)。

相关内容