我有一个Excel电子表格(不要问),带有标题第1天,第2天,第3天的4x6表格,总计。但是,公式会根据日期更改总计的位置,因此在任何时候第3天都可以删除,而是替换为总计如果日期检测到我们只有第2天,那么我们还不需要显示第3天的标题。
我想使用条件格式以某种方式设置总计下的所有内容,因此我为选项使用公式确定要格式化的单元格选项编写了此公式:
=IF(INDIRECT(CONCATENATE(CHAR(COLUMN()+64), 1)) = "Total", TRUE, FALSE)
这应该格式化其列第一行中的单元格等于" Total"的任何单元格。但是,它根本就没有任何样式!
要进行问题排查,我尝试只选择一列(即 C )并将修改后的规则应用于该列:
=IF(INDIRECT(CONCATENATE("C", 1)) = "Total", TRUE, FALSE)
......它奏效了!然后,我尝试将第一个公式放入单元格中,并且正确显示 TRUE 和 FALSE 。一切似乎都有效,但由于某种原因,我无法弄清楚条件格式永远不会适用。
有人可以解释一下原因吗?
PS在问题中我写了一个简化的例子,在真实的东西中我有31天而不是3天,所以单独浏览每一列将是一个很大的麻烦
答案 0 :(得分:0)
INDIRECT(CONCATENATE(CHAR(COLUMN()+64), 1))
可能是我想到的第一行和同一列中引用单元格的最糟糕的方式。
而不是:
INDIRECT(CONCATENATE(CHAR(COLUMN()+64), 1)) = "Total"
尝试此操作(例如,对于A
列中的条件格式设置规则,并将规则应用于您需要的其他地方):
A$1 = "Total"
这两个公式具有相同的效果。