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

Excel 查找上一行中最后一个非空白单元格的位置,excel,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,tes

我有一排像这样的东西

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开始使用,然后拖动到行的其余部分?

您需要查找文本字符串或数字,这些字符串或数字无法通过使用非排序的近似查找来匹配。可以提供两者中的较大值,如果不匹配,可以提供零

A2中的公式是

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

根据需要向右填充。

尝试此操作,以数组公式输入(CTRL-SHIFT-ENTER):

其中,
YourRange
是A1:M1,如果要分析所有第1行,则为1:1

希望有帮助

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