Excel中的Last-Row-Value的偏移量

时间:2016-10-24 13:47:26

标签: excel vba excel-vba excel-formula

我有一个简单的公式来查找excel中的最后一个非空行。

=LOOKUP(2,1/(E:E<>""),E:E)

我想找到第7行,而不是最后一行。所以我想我想把它改成像:

= OFFSET(LOOKUP(2,1/(E:E<>""),E:E), -7, 0)

但我似乎无法使语法正常工作。我如何写一个公式给我第7行?

2 个答案:

答案 0 :(得分:2)

对于数字,请使用

获取倒数第七的行号
=match(1e99, A:A)-7
'get value with,
=index(A:A, match(1e99, A:A)-7)

对于文本,请使用

获取倒数第七行
=match("zzz", A:A)-7
'get value with,
=index(A:A, match("zzz", A:A)-7)

对于文本和数字的组合,请使用

获取倒数第七个行号
=max(iferror(match(1e99, A:A), 8)-7, iferror(match("zzz", A:A), 8)-7, 1)
'get value with,
=index(A:A, max(iferror(match(1e99, A:A), 8)-7, iferror(match("zzz", A:A), 8)-7, 1))

答案 1 :(得分:0)

这将使用第一列找到最后一个非空白行上方七行。如果您想要在最后一个空白行下方的第七行,请将-7更改为7。当然,请确保将"SheetName"更改为您工作表的名称(保留引号!)。

dim seventhLastRow as long

seventhLastRow = Sheets("SheetName").Cells(Rows.Count, 5).End(xlUp).Offset(-7, 0).Row