Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 跳过空单元格时基于上一个单元格的条件格式设置_Excel_Google Sheets - Fatal编程技术网

Excel 跳过空单元格时基于上一个单元格的条件格式设置

Excel 跳过空单元格时基于上一个单元格的条件格式设置,excel,google-sheets,Excel,Google Sheets,我需要有条件的格式设置,这样一个单元格如果是“1”,那么它就是深绿色的,并且更高行(页面下方)的下3个非空单元格也是“1”。例如,除右上角的“1”应为深绿色外,此图像中的所有内容均正确: 最左边的列很简单。中间柱顶部的细胞不是暗绿色的,因为1的条纹被0打破。正如我上面提到的,最右边的列是不正确的 以下是我当前的条件格式: =AND( EQ(INDIRECT(ADDRESS(ROW(), COLUMN())), INDIRECT(ADDRESS(ROW()+1, COLUMN()))),

我需要有条件的格式设置,这样一个单元格如果是“1”,那么它就是深绿色的,并且更高行(页面下方)的下3个非空单元格也是“1”。例如,除右上角的“1”应为深绿色外,此图像中的所有内容均正确:

最左边的列很简单。中间柱顶部的细胞不是暗绿色的,因为1的条纹被0打破。正如我上面提到的,最右边的列是不正确的

以下是我当前的条件格式:

=AND(
  EQ(INDIRECT(ADDRESS(ROW(), COLUMN())), INDIRECT(ADDRESS(ROW()+1, COLUMN()))),
  EQ(INDIRECT(ADDRESS(ROW(), COLUMN())), INDIRECT(ADDRESS(ROW()+2, COLUMN()))),
  EQ(INDIRECT(ADDRESS(ROW(), COLUMN())), INDIRECT(ADDRESS(ROW()+3, COLUMN())))
)

但这实际上只是检查当前单元格是否与下面三个单元格匹配。如何跳过任意数量的空单元格?

可以通过重复使用偏移量来完成:

(1) 获取包含三个非空白单元格的最小范围

(2) 要检查此范围是否包含三个1:

=AND(A1=1,COUNTIF(OFFSET(A2,0,0,MATCH(3,COUNTIF(OFFSET(A2,0,0,ROW($1:$10)),"<>"),0)),1)=3)
=和(A1=1,COUNTIF(偏移量(A2,0,0,匹配(3,COUNTIF)(偏移量(A2,0,0,行($1:$10)),“”),0)),1)=3)

请注意,您需要选择要向前看的单元格数量(此处设置为10)。您可以一直向前看,直到正在格式化的范围的底部,但最终可能会遇到性能问题