如果单元格符合公式且相邻行是空白的,我是否可以有条件地格式化单元格?
我的表格如下; B列以日期格式保存单元格,而P列也包含日期格式。
我有条件地格式化B列中的单元格,只要它们符合以下公式;
=NOW()-30
(如果细胞长达30天或以上,请填写)
这很好,但是,我想在它旁边输入另一个条件,因此格式化仅适用于同一行中P列中的单元格为空白。
所以我希望它看起来像这样,但它似乎不起作用;
=AND((ISBLANK($P)),((NOW()-30)))
提前感谢您的帮助。
答案 0 :(得分:1)
如果使用公式进行条件格式设置,则如果公式结果为true
,则格式化单元格。
这里的问题是=NOW()-30
会产生类似2017-06-21 13:31
的内容,如果将其转换为布尔值,则始终 true
。
因此,如果您希望仅在其日期超过30天时格式化单元格,则需要检查该单元格。例如。对于单元格B1使用:=(B1<=NOW()-30)
。
或者像=AND(ISBLANK($P1), ($B1<=NOW()-30))
这样的单元格B1,然后将格式复制到其他单元格中。
答案 1 :(得分:0)
我建议制作一个VBA宏(在我看来更简单,更清晰)。只需进行for循环,然后使用cell.value
遍历整个列以比较值或cell.formula
以获取公式。
通过这种方式,您还可以通过在variant
表中复制值来加快速度,这样您就可以在最少的时间内完成所有操作(非常适合处理大型数据库)。
对于具有双重条件的条件格式化,它会给出类似的结果:
if(range(cells(2,1), cells(2,bottomrow)).formula = "formulahere" AND range(cells(16,1), cells(16,bottomrow)).value = "") Then
'--your actions--
end if
答案 2 :(得分:0)
我设法通过在条件格式化窗口中将以下公式应用于B列来使其工作;
=($B1<=NOW()-365)*($P1="")
此公式仅在确认日期后格式化单元格,单元格B1 ...大于365天,列P中的相邻单元格为空白。 因此,满足我所需的参数。