首页 文章

Excel - 用于跳过空单元格的数组公式

提问于
浏览
6

我有一个数组公式,当它包含文本时填充单元格,但我希望它忽略单元格,如果它的空白,然后转到下一个单元格 . 我遇到的问题是,它没有按照我的顺序执行:

范围是

-A
-(BLANK CELL)
-(BLANK CELL)
-D
-E
-F
-(BLANK CELL)
-H
-(BLANK CELL)

公式的结果

-A
-E
-F
-H

它正在跳过包含字母的单元格 . 有人可以提供帮助吗?

式:

{=IF(ISERROR(SMALL(IF(B4:$B$12<>"",ROW(B4:$B$12)),ROW(B4:$B$12)-3)),"",INDEX(B4:$B$12,MATCH(SMALL(IF(B4:$B$12<>"",ROW(B4:$B$12)),ROW(B4:$B$12)-3),IF(B4:$B$12<>"",ROW(B4:$B$12)),0)))}

2 回答

  • 7

    我认为问题在于你的范围是 B4:$B$12 ,所以因为你在公式中向下拖动列时, B4 周围没有$符号变化.......但公式看起来比你复杂一点需要,所以我宁愿建议一个更好的选择:

    您使用的是哪个版本的Excel?

    在Excel 2007或更高版本中尝试此版本

    =IFERROR(INDEX(B$4:B$12,SMALL(IF(B$4:B$12<>"",ROW(B$4:B$12)-ROW(B$4)+1),ROWS(D$4:D4))),"")

    假设您的第一个单元格是 D4 (更改 ROWS(D$4:D4) 部分以匹配您的实际起始单元格)并且您将公式拖到列中

    用CTRL SHIFT ENTER确认

    IFERROR 功能不可用的早期版本中,您可以使用此版本

    =IF(ROWS(D$4:D4)>COUNTA(B$4:B$12),"",INDEX(B$4:B$12,SMALL(IF(B$4:B$12<>"",ROW(B$4:B$12)-ROW(B$4)+1),ROWS(D$4:D4))))

  • 1

    找到一种更简单,更简单的方法,基本上Excel认为所有空白单元格( "" )相等,所以另一种简单方法是选择包含数据的列并单击数据选项卡下的 Remove Duplicates ,这将删除(跳过)所有空白空细胞 .

    Simple and easy way to remove blank cells from a column in Excel - by Francis Lacle

相关问题