查找范围中的第一个非空白单元格

时间:2015-04-30 12:09:06

标签: excel

我正在使用一个数据列表,其中一行中的一个或多个单元格可以为空。

让我们说列表是单元格A1A2A3A4。我正在尝试创建一个将执行以下操作的函数:

IF A1 has a value I want the cell to return A1.
  IF A1 is empty then I want it to return A2.
   IF A1 and A2 are both empty I want it to return A3.
    If A1, A2 and A3 are all empty I want it to return A4.    

5 个答案:

答案 0 :(得分:21)

谷歌上的第一个结果:http://chandoo.org/wp/2014/01/15/find-first-non-blank-item-in-a-list-excel-formulas/

  

此公式返回范围B1:B100的第一个TEXT单元格:

     

=VLOOKUP("*", B1:B100, 1,FALSE)

     

*是Excel中的外卡。当你要求VLOOKUP找到*时,它会找到包含任何内容的第一个单元格。

     

注意:此方法查找包含任何TEXT的第一个单元格。因此,如果第一个非空白单元格是数字(或日期,%或布尔值),则公式显示包含文本的下一个单元格。

如果您需要找到非空白,则该网址会提供以下解决方案:

  

如果要查找第一个非空白值,无论是文本还是数字,那么您可以使用下面的数组公式。

     

=INDEX(B3:B100, MATCH(FALSE, ISBLANK(B1:B100), 0))

     

确保在输入此公式后按 CTRL + Shift + Enter

     

这个公式如何运作?

     
      
  • ISBLANK(B1:B100)部分:根据TRUE中的98个单元格是否为空,这会为我们提供FALSE / B1:B100值的列表。它看起来像这样:   {TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE; ...}

  •   
  • MATCH(FALSE, ISBLANK(…), 0)部分:获得TRUE / FALSE值后,我们只需找到第一个FALSE值(即第一个非空白)细胞)。这就是MATCH函数的功能。它在列表中找到FALSE值的完全匹配。

  •   
  • INDEX(B1:B100, MATCH(…))部分:一旦我们知道哪个单元格是第一个非空单元格,我们就需要它的值。这就是INDEX的作用。

  •   

答案 1 :(得分:2)

如您对自己问题的评论所示,您有500行穿插着空白单元格。您希望使用最后一个非空白单元格的值填充空白单元格。

我会编写一些VBA代码,其工作方式如下:选择要填充的单元格范围并运行此VBA:

Sub fillBlanks()
  For Each c In Selection.Cells
    If c.Value <> "" Then
      lastVal = c.Value
    Else
      c.Value = lastVal
    End If
  Next c
End Sub

基本上,如果单元格为空,则使用最后一个非空单元格的值(如果上面没有空白单元格,则它将保持空白)。否则,如果单元格不为空,则将其保存为最后一个非空白单元格。对所选范围内的每个单元格重复。

有关使用此vba代码的分步说明 - 适用于此示例工作表:

sample worksheet

确保选择范围,按 ALT + F11

这应该打开Visual Basic编辑器:

Visual Basic Editor

F7 ,这应该显示活动表的代码。粘贴上面的VB代码:

add Code

F5 (或使用菜单运行代码)。

run Code

最终结果应如下:

result

答案 2 :(得分:1)

您只需在其旁边的列中添加rank.eq公式,然后执行vlookup即可将所有数据置于顶部。这将使您的所有数据都达到顶峰。

例如,在下面的图片中,我使用百分比进行排名,我想将带有数据的单元格放到顶部进行演示,我将隐藏除vlookups之外的所有列。

Screenshot of spreadsheet

答案 3 :(得分:0)

这帮了我大忙

  

= LOOKUP(2,1 /(A1:A13 <>“”),A1:A13)

来源来源:here

enter image description here

答案 4 :(得分:0)

选择ColumnA:

HOME>编辑>查找并选择>转到特殊...>空白,确定 = Ctrl + 输入