找到上一行中最后一个非空单元格的位置

时间:2015-09-25 08:30:40

标签: excel

我有一行看起来像这样;

A1; test1
B1; -
C1; -
D1; test2
E1; -
F1; test1
G1; -
H1; -
I1; -
J1; -
K1; test2
L1; -
M1; test1

其中test1 / 2可以是单词或数字,“ - ”是空白单元格。每个值之间的空白单元格数可能会有所不同。

如果上面的单元格为空白,我在下面的行中尝试做的是从左边返回最后一个非空白值。

所以下面的行看起来像;

test1, test1, test1, test1, *test2,test2,test2,* test1...

我尝试使用各种查找/匹配来尝试返回它需要返回的单元格的位置,但查找不一致,匹配只会返回第一个。

任何人都可以帮我一个公式,可以从单元格A1开始使用并拖过行的其余部分吗?

2 个答案:

答案 0 :(得分:0)

您需要使用MATCH function的非排序近似查找来查找无法匹配的文本字符串或数字。 MAX function可以提供两者中的较大者,IFERROR function可以在不匹配的情况下提供零。

Return last known text or number

A2中的公式是,

=INDEX(1:1, MAX(IFERROR(MATCH(1E+99, $A1:A1), 0), IFERROR(MATCH("zzz", $A1:A1), 0)))

根据需要填写。

答案 1 :(得分:0)

试试这个,作为数组公式输入(CTRL-SHIFT-ENTER):

=INDEX(YourRange,MAX(IF(ISBLANK(YourRange),"blank",COLUMN(YourRange))))

如果要分析第1行的全部,YourRange表示A1:M1或1:1。

希望有所帮助