对Excel进行编程以根据特定的有效期有条件地格式化单元格(跟踪表)

时间:2013-04-02 22:39:49

标签: excel

我正在制作一张excel表,根据某些有效期强调某些单元格。我有一个单元格h3持有4yr的有效期证书。每隔4年,证书需要续订。另外,我在第8行有一个名字,在h8上持有最后一个认证日期。 当证书日期距离到期时间为2个月时,如何设置excel来更改h8的背景颜色?即如何编写表格以遵守此图例

谢谢。

3 个答案:

答案 0 :(得分:2)

以下是一种可能的方法:

如果我有这样的列:

  A         | B               | C
1 User Name | Certificated On | Total Days While Certified
2 John Doe  | 6/12/2012       | 294

我可以使用第三列的公式(Total Days While Certified),如下所示:

=TODAY()-B2

但请务必格式化此“Total Days While Certified”列,以便使用将其显示为“Number”而不是“DateFormat Cells 选项!

注意:=TODAY()-B2公式给出了从现在到用户获得认证之间的总天数。在您的情况下,单元格编号 B2 可能与此示例中的不同。

毕竟,我可以将conditional formatting用于“Total Days While Certified”列,以检查天数是否超过1278(大约是三年半......)和使单元格变黄(或任何所需颜色),注意用户已接近过期认证。

答案 1 :(得分:1)

基于公式的H8的条件格式

=$H$8>TODAY()-1278

然后使用格式填充黄色

    =$H$8>TODAY()-59

填充绿色

        =$H$8>=TODAY()

红色填充

或者用硬编码过期替换TODAY()或将其指向包含过期的单元格。

答案 2 :(得分:1)

@summea非常感谢,您的答案有助于作为电子表格实施的基础。

            A            |       B         | C
  -----------------------|-----------------|------------ 
1 validity               |     1yrs        |     4yrs
2 last certification date|   6/12/2012     |   29/4/2011
3 last certification date|   8/05/2011     |   13/11/2013

我想要一个符合这个传说的电子表格:

使用上面的示例表,公式看起来有点像

    /* GREEN */ =IF(OR(B2="DONE", B2="done"), TRUE, AND(B$1<>0, OR((TODAY()-DATE(YEAR(B2), MONTH(B2),DAY(B2)))<((B$1*365)-60))))

    /* RED */ =IF(OR(ISBLANK(B2), B2="ASAP", B2="asap"), TRUE, AND(B$1<>0, IF((TODAY()-DATE(YEAR(B2), MONTH(B2),DAY(B2)))>=(B$1*365), TRUE, FALSE)))

    /* YELLOW */ =IF(AND(B$1<>0, (TODAY()-DATE(YEAR(B2), MONTH(B2),DAY(B2)))>=((B$1*365)-60)), TRUE, FALSE)

这些是我用来实现它的公式。我的最终输出看起来有点像这样

你可以download a copy of my demo file here。这不是原始文件,但它是原始文件的试验场。谢谢你们。