Dat*_*ase 2 microsoft-excel-2007 microsoft-excel microsoft-excel-2010
是否可以根据值或通过“条件格式”动态应用“合并和居中”?
我可以添加颜色,但我想用 Excel 做更高级的事情做动态“合并和居中”,如下图所示 
所有的值都是动态的!
不使用合并单元格(无论如何这很可怕),但对于您的情况,您无论如何都可以做得更好。这需要一些设置,但可以提供您想要的效果。
有一列 ( A) 表示月份,但只需重复其中的日期 ( A2: =C2)。不要在这里计算月份,我们希望保留日期,以便您可以简单地格式化以仅在以后显示月份。
对于列B周,使用WEEKNUM(C2,21)计算ISO周(星期一= 1,星期日=第7天,第1周包含了一年的第一个星期四)这些公式复制下来A,并B需要尽可能。
将这两列格式化为使用自定义数字格式;;;意味着所有这些值完全消失,我们将使用条件格式有选择地将它们带回来。
对于列A,如果出现以下情况,您需要查看月份名称:
否则(通常)将月份名称与 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)
并使用合适的数字格式(0或00可能是最好的)
要更改背景颜色,请使用相同的方法 - 将它们全部着色,然后有条件地再次着色。因此,使用浅色背景填充为所有单元格着色,然后根据这些列的值为“偶数”使用条件格式将它们着色为更深(反之亦然),即周的公式类似于:
=MOD(B2,2)=0
Run Code Online (Sandbox Code Playgroud)
或在月份的情况下包括 MONTH 计算,即条件使用
=MOD(MONTH(A2),2)=0
Run Code Online (Sandbox Code Playgroud)
在几个月和几周内单独执行此操作。它现在应该类似于下图。
希望这可以帮助!

| 归档时间: |
|
| 查看次数: |
33168 次 |
| 最近记录: |