首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel静态条件格式化区域

Excel静态条件格式化区域
EN

Stack Overflow用户
提问于 2016-08-31 09:06:34
回答 1查看 99关注 0票数 0

我想为整个文档创建一个静态的条件格式化(例如,在A1:Z 999上应用),如果在中间添加新的行,它不会被新的中间条件格式所替代。

详细情况:

作为一个例子,我有以下表内容

代码语言:javascript
复制
   |  A  |  B  |  C
 ----------------------
 1 | A.1 |     |            FIRST  LEVEL ROW
 2 |     | B.2 |            SECOND LEVEL ROW
 3 |     |     | C.3        THIRD  LEVEL ROW
 4 |     |     | C.4        THIRD  LEVEL ROW
 5 |     | B.5 |            SECOND LEVEL ROW
 6 |     |     | C.6        THIRD  LEVEL ROW
 7 | A.7 |     |            FIRST  LEVEL ROW
 8 |     | B.8 |            SECOND LEVEL ROW 
 9 |     |     | C.9        THIRD  LEVEL ROW
10 |     |     | C.10       THIRD  LEVEL ROW

我现在想要所有的行,其中有一种缩进的子行是以特定的方式着色。

  • 第1行和第7行为深灰色,因为它们将第2行和第8行作为缩进子行(第一级)
  • 第2行、第5行、第8行为浅灰色,原因是缩进的子行3、6、9(二级)
  • 诸若此类

我可以通过有条件的格式化来做到这一点

代码语言:javascript
复制
  FIRST LEVEL
  * apply if : AND(LENGTH($A1) > 0; LENGTH($B2) > 0)
  * apply to : $A1:$C10
  * modify   : dark grey background color

  SECOND LEVEL
  * apply if : AND(LENGTH($B1) > 0; LENGTH($C2) > 0)
  * apply to : $A1:$C10      
  * modify   : light grey background color

这工作顺利,没有任何问题。

但是,如果我现在在第7行之前插入两个新的空白行(创建新的第7行和第8行,并将包含A.7的第7行移动到第9行),条件格式将通过一个新条目进行扩展,为中间行7/8插入新规则,然后分割为原始的.

代码语言:javascript
复制
  FIRST LEVEL (now split)
  * apply if : AND(LENGTH($A1) > 0; LENGTH($B2) > 0)
  * apply to : $A$1:$C$5;$A$9:$C$12
  * modify   : dark grey background color

  SECOND LEVEL (now split)
  * apply if : AND(LENGTH($B1) > 0; LENGTH($C2) > 0)
  * apply to : $A$1:$C$5;$A$9:$C$12
  * modify   : light grey background color

  FIRST LEVEL (intermediate)
  * apply if : AND(LENGTH($A6) > 0; LENGTH($B9) > 0)
  * apply to : $A$6:$C$8
  * modify   : dark grey background color

  SECOND LEVEL (intermediate)
  * apply if : AND(LENGTH($B6) > 0; LENGTH($C9) > 0)
  * apply to : $A$6:$C$8
  * modify   : light grey background color

这是不正确的,因为它不再检查邻接行(例如,A6/B9错误使用)。因此,每次添加新行时,我都必须修改条件格式,以便还原应用于所有行的原始行为。

长话短说:有没有办法告诉Excel使用静态条件格式,并简单地扩展应用于它的区域,而不是添加新的中间区域?

使用Excel 2013

EN

回答 1

Stack Overflow用户

发布于 2018-01-31 20:55:42

很容易通过应用整个列引用来避免:

$A:$C用于范围而不是$A1:$C10

并一次为一行设置规则(只需测试哪个列包含值,例如用于FIRST LEVEL )。

代码语言:javascript
复制
=AND($A1<>"",COUNTA($A1:$C1))  

以避免格式化列中所有列A:C为空的行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39245267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档