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

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

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

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

所有价值观都是动态的!

答案1

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

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

对于列B周,用于WEEKNUM(C2,21)计算 ISO 周(星期一 = 第 1 天,星期日 = 第 7 天,第 1 周包含一年中的第一个星期四)将这些公式向下复制AB复制到所需的位置。

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

对于列,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)
    

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

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

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

=OR(AND($C1=$C$1,WEEKDAY($C2,2)>4),AND($C3="",WEEKDAY($C2,2)<4),WEEKDAY($C2,2)=4)

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

要交替使用背景颜色,请使用相同的方法 - 为所有单元格着色,然后有条件地重新为某些单元格着色。因此,使用浅色背景填充为所有单元格着色,然后使用条件格式根据这些列的值是否为“偶数”将它们着色为深色(反之亦然),即周数公式如下:

 =MOD(B2,2)=0

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

=MOD(MONTH(A2),2)=0

分别对月份和星期进行此操作。现在看起来应该类似于下图。

希望这可以帮助!

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

答案2

对直接问题的简短回答是......“不”

条件格式可以将格式应用于单个或已合并的单元格,但不能导致单元格合并。

在原始数据上实现你所要求的唯一方法是通过 vba 宏,要么基于工作表或工作簿事件(复杂,可能不值得麻烦)或用户触发

答案3

您无法使用条件格式进行合并和居中。数据透视表将实现此效果。您可以使用计算字段在动态数据上生成年份和周字段。

答案4

ISO 周数不能直接在 Excel 中计算(它与“一周从星期一开始”不同)。

使用以下公式:

=INT((B4-DATE(YEAR(B4-WEEKDAY(B4-1)+4),1,3)+WEEKDAY(DATE(YEAR(B4-WEEKDAY(B4-1)+4),1,3))+5)/7)

来源:Excel 中的周数

相关内容