我有一个命名范围,它捕获第一行到最后一个非空白行。我使用的公式是
=OFFSET(DataSheet!$L$1,0,0,COUNTA(DataSheet!$L:$L),1)
现在我想创建另一个命名范围,它将在下面的场景中捕获从第一个非空值到最后一个非空值的值
所以在上面的场景中,我希望名称范围只包含人2到人4.将来,如果在Person 2上面添加了新的Person 1,那么我也希望捕获它。
感谢您的帮助!
不起作用:
答案 0 :(得分:1)
您应该可以通过添加行偏移而不是第一个零来实现此目的。
如下所示
=OFFSET(DataSheet!$L$1,
MATCH(FALSE(),ISBLANK(DataSheet!$L:$L),0)-1,0,
COUNTA(DataSheet!$L:$L),1)
请注意,如果您有中间空白值,那么COUNTA
将无法为您提供上一个非空白的全部范围。要解决此问题,您可以使用以下内容:
=OFFSET(DataSheet!$L$1,
MIN(IF(ISBLANK(DataSheet!$L:$L),9^99,ROW(DataSheet!$$L:$L)))-1,0,
MAX(IF(ISBLANK(DataSheet!$L:$L),0,ROW(DataSheet!$L:$L)))-
MIN(IF(ISBLANK(DataSheet!$L:$L),9^99,ROW(DataSheet!$L:$L)))+1,1)
如果这些单元格实际上不是空白,那么您需要一个不同的条件。例如,
=OFFSET(DataSheet!$L$1,
MIN(IF(LEN(DataSheet!$L:$L)<1,9^99,ROW(DataSheet!$$L:$L)))-1,0,
MAX(IF(LEN(DataSheet!$L:$L)<1,0,ROW(DataSheet!$L:$L)))-
MIN(IF(LEN(DataSheet!$L:$L)<1,9^99,ROW(DataSheet!$L:$L)))+1,1)