在Excel中查找四个相邻的空单元格

时间:2017-04-06 11:51:09

标签: excel array-formulas is-empty

我在表格中找到空单元格时遇到问题。我想要做的是找到表的空白部分(空部分 - 连续四个或更多空单元格)。

表:

+------+------+------+------+------+------+------+------+------+------+
| Name | Day1 | Day2 | Day3 | Day4 | Day5 | Day6 | Day7 | Day8 | Day9 |
+------+------+------+------+------+------+------+------+------+------+
| A    |    1 |    8 |    2 |    7 |      |    8 |    4 |      |    1 |
| B    |    2 |    8 |    4 |      |      |      |      |    5 |    7 |
| C    |    2 |      |    6 |    7 |      |    8 |    9 |    7 |      |
| D    |    4 |      |      |      |      |      |      |      |    8 |
+------+------+------+------+------+------+------+------+------+------+

这个例子的答案应该是这样的:

B empty Day4 - Day7  
D empty Day2 - Day8 

我想我需要使用数组公式,但我没有经验...

感谢任何帮助或评论 谢谢!

1 个答案:

答案 0 :(得分:0)

假设A1:J1中的标题和B3:J3中的数据。要检查每一行本身,可以使用如下公式:

=IF(MIN(LEN(B3:G3&C3:H3&D3:I3&E3:J3)),"",INDEX(B$1:G$1,1,MATCH(0,LEN(B3:G3&C3:H3&D3:I3&E3:J3),0))&" - "&INDEX(B$1:J$1,1,MATCH(1,(INDEX(B3:G3,1,MATCH(0,LEN(B3:G3&C3:H3&D3:I3&E3:J3),0)):I3="")*(INDEX(B3:G3,1,MATCH(0,LEN(B3:G3&C3:H3&D3:I3&E3:J3),0)+1):J3<>""),0)+MATCH(0,LEN(B3:G3&C3:H3&D3:I3&E3:J3),0)-1))

会做的。

  

这是一个数组公式,必须用 ctrl + shift + 输入确认!

之后,您只需自动填写公式即可。并且它将显示每行本身(如果一行中的4个以上的单元格为空),该范围的第一个和最后一个空单元格的标题。细胞也不需要是空白的(空蜇也有效)。

要自动折叠它以使输出完全符合您的要求,您需要再次对该数组公式进行数组化(这对于某些部分是不可能的,并且还会消耗大量资源。

enter image description here