Excel formula 从第一个非空值捕获列表

Excel formula 从第一个非空值捕获列表,excel-formula,Excel Formula,我有一个命名范围,它捕获从第一行到最后一行的非空白行。我使用的公式是 =OFFSET(DataSheet!$L$1,0,0,COUNTA(DataSheet!$L:$L),1) 现在我想创建另一个命名范围,该范围将捕获以下场景中从第一个非空值到最后一个非空值的值 第二人 第三人 第四个人 所以在上面的场景中,我希望名称范围只包含person2到person4。将来,如果在Person 2的上方添加一个新的Person 1,那么我也希望捕获它 谢谢你的帮助 不起作用: 您应该能够通过

我有一个命名范围,它捕获从第一行到最后一行的非空白行。我使用的公式是

=OFFSET(DataSheet!$L$1,0,0,COUNTA(DataSheet!$L:$L),1)
现在我想创建另一个命名范围,该范围将捕获以下场景中从第一个非空值到最后一个非空值的值

  • 第二人
  • 第三人
  • 第四个人
所以在上面的场景中,我希望名称范围只包含person2到person4。将来,如果在Person 2的上方添加一个新的Person 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)
=偏移量(数据表!$L$1,

MIN(IF(LEN)(数据表!$L:$L)很抱歉它不起作用。我已经在我的问题中添加了屏幕帽(见底部)。我做错了什么?@Dingo你能验证这些行是否真的是空的吗?它们可能有空格、空字符串或其他内容。现在它们有公式了(我的坏-对不起)@野狗在这种情况下,不要用
ISBLANK
,试试
LEN()<1
。这很有魅力。我也学到了一些新东西!谢谢!