首页 > 解决方案 > 在单元格可能包含公式的区域中查找最后一个非空列

问题描述

我有一个用作绘图寄存器的电子表格。

前 5 列构成图纸名称/编号。我将图纸的修订号放在随后的每一列中。其中一些列显示为空白,但在工作表中具有其他函数的公式。

我希望图纸名称/编号(在本例中为 F 列)之后的第一列显示最新的修订号。

本质上,这意味着我需要一个公式(或 VBA 代码)来搜索一行中的最后一个非空单元格,但忽略其中包含公式的单元格(显示为空白)。

在包含公式的单元格区域中查找最后一个非空行非常相似,但指的是一列中的最后一行(我正在寻找一行中的最后一列)。我无法适应它。我认为我的语法不正确。

提几个额外的点:

  1. 修订是字母数字
  2. 修订是成对的(因为每张图纸都有一个状态代码和修订,两者都是字母数字)并且在前 2 列(F 和 G)中,我需要分别显示最新的状态和修订。状态和修订每次都放在同一行的相邻列中。所以实际上我需要一个公式来返回最后 2 个非空列,并且该公式需要忽略包含返回空白值的公式的单元格。
  3. 我已经尝试过各种 Lookup 组合(类似于下面 Ron 的响应)、索引和 VBA 代码,如上面的链接所示。如果可能的话,我想将其保留为公式,但我并不反对使用 VBA。
  4. 该公式只需要应用于单个行,但需要复制下来,因为每个单独的图形都在新行上。

标签: excelvbaexcel-formula

解决方案


请尝试(在 F1 中并复制下来以适应):

=INDEX(G1:Z1,MATCH(1E+100,G1:Z1))

Z如果您预计需要更多列,则可能会增加。

上面应该忽略返回空白的公式。


推荐阅读