Excel根据值或通过“条件格式”进行动态“合并和居中”

Dat*_*ase 2 microsoft-excel-2007 microsoft-excel microsoft-excel-2010

是否可以根据值或通过“条件格式”动态应用“合并和居中”?

我可以添加颜色,但我想用 Excel 做更高级的事情做动态“合并和居中”,如下图所示 在此处输入图片说明

所有的值都是动态的!

Ada*_*amV 5

不使用合并单元格(无论如何这很可怕),但对于您的情况,您无论如何都可以做得更好。这需要一些设置,但可以提供您想要的效果。

有一列 ( A) 表示月份,但只需重复其中的日期 ( A2: =C2)。不要在这里计算月份,我们希望保留日期,以便您可以简单地格式化以仅在以后显示月份。

对于列B周,使用WEEKNUM(C2,21)计算ISO周(星期一= 1,星期日=第7天,第1周包含了一年的第一个星期四)这些公式复制下来A,并B需要尽可能。

将这两列格式化为使用自定义数字格式;;;意味着所有这些值完全消失,我们将使用条件格式有选择地将它们带回来。

对于列A,如果出现以下情况,您需要查看月份名称:

  1. 这是第一行,在这个月的 15 号之后
  2. 这是最后一行,在本月 15 号之前
  3. 否则(通常)将月份名称与 15 日显示为大约月中。因此,您需要对单元格A2:A999(或任何列的长度)应用条件,如下所示:

    =OR(AND($C1=$C$1,DAY($C2)>15),AND($C3="",DAY($C2)<15),DAY($C2)=15)
    
    Run Code Online (Sandbox Code Playgroud)

请注意,第一个条件检查当前行日期是否=“无论日期列的标签是什么”,而不是硬编码为“日期”或类似内容。

将这些格式设置为使用自定义数字格式"MMM"(三个字母的月份),或者您喜欢的任何格式。

对于weeknumbers,这些应该在列表顶部或底部的日子类似地显示,或者通常在星期四(如果您有Mon=1,则视觉上这是周中,但如果您希望它们与星期三相反,则显示为“周中”天,在下面的公式中使用 3 而不是 4)。按公式应用条件格式:

=OR(AND($C1=$C$1,WEEKDAY($C2,2)>4),AND($C3="",WEEKDAY($C2,2)<4),WEEKDAY($C2,2)=4)
Run Code Online (Sandbox Code Playgroud)

并使用合适的数字格式(000可能是最好的)

要更改背景颜色,请使用相同的方法 - 将它们全部着色,然后有条件地再次着色。因此,使用浅色背景填充为所有单元格着色,然后根据这些列的值为“偶数”使用条件格式将它们着色为更深(反之亦然),即周的公式类似于:

 =MOD(B2,2)=0
Run Code Online (Sandbox Code Playgroud)

或在月份的情况下包括 MONTH 计算,即条件使用

=MOD(MONTH(A2),2)=0
Run Code Online (Sandbox Code Playgroud)

在几个月和几周内单独执行此操作。它现在应该类似于下图。

希望这可以帮助!

使用条件格式显示居中的周和月