根据列中的频率和相邻单元格的值(针对每个先前的条目)进行条件格式

根据列中的频率和相邻单元格的值(针对每个先前的条目)进行条件格式

我正在尝试格式化一列 (T),其中使用数据验证下拉列表输入名称。
每个名称都分配给一个项目,因此在上一列 (S) 中,我使用了条件格式来提供项目最后阶段的状态指示器(输入数字 2 会显示绿色交通灯,表示阶段已完成)。

理想情况下,我想要做的是禁用选择任何具有四个或更多项目工作量的名称的可能性(工作量被捕获在单独的表中,名称列表从中获取)。
但经过大量的反复试验(坦白说错误比什么都多!)我认为这是不可能的。
作为一种解决方法,我希望做的是格式化 T 列,这样当某人的名字第四次列在列中,并且这四个项目的最后阶段的状态都未完成(即少于 2)时,单元格变为琥珀色,或者出现条件格式内的图标。
添加名称五次或更多次而不更改先前分配的项目的状态将产生红色单元格或图标。

此样本数据,我有两个项目经理人选,Joe 和 Bob,他们之前都被分配了四个项目。Joe 尚未完成他被分配的最后四个项目的最终“取得成果”阶段,因此他仍然有四个项目的活跃工作量,用黄点表示,通过在 S 列中输入 1 即可创建。Bob 没有活跃工作量,他之前分配的所有四个项目都标记为已完成,用绿点表示,通过在 S 列中输入 2 即可创建。在此示例中,我想设置任何尝试将 Joe 添加到 T9 作为新项目的项目经理时都会产生错误消息,阻止我将他分配到任何其他项目,或者 T9 将被有条件地格式化以显示 Joe 已超出工作量容量。这将根据 Joe 完成旧项目和增加容量进行调整。由于 Bob 没有活跃项目,我可以毫无问题地添加他。

根据一些评论进行编辑(我非常感谢!)

  • 目前 S 列和 T 列之间根本没有交互。
  • 我正在努力提供一个示例来说明我希望得到什么样的结果。正如我上面所说,理想情况下,我希望设置一个设置,如果项目经理的名字已经出现在 T 列中四次,并且 S 列中该名字的每个实例旁边的单元格包含 1(黄点),则不会在 T 列中选择项目经理。

我知道这非常复杂,至少在我看来是这样的,但如果能做到的话,我的生活会轻松很多。我对 Excel 的期望是否太高了,或者有没有人可以帮我。即使是另一种解决方法也会非常感激。

希望这不是重复网站上其他地方的问题或帖子,但我已经找了一段时间了,似乎找不到任何适合我的东西。话虽如此,原因可能是由于我试图实现的目标很复杂。

答案1

我决定采用条件格式作为潜在解决方案。解决方案相当简单:

  1. 创建一个单独的表格(可能在单独的工作表上),以计算每个人正在处理的活跃项目数。使用CountIFS()基于多个条件提供计数,在您的例子中,如果单元格值为“Bob White”,并且项目状态未完成,则将其相加。对每个人都执行此操作,这样每个人都有一个活跃的项目数。

    =COUNTIFS(DataSet!$T:$T,A2,DataSet!$S:$S,"<>1")
    

    [上图]

  2. 为主表中的人员列创建条件格式规则,该规则使用函数VLookup返回活跃项目的数量,如果活跃项目的数量大于 4,则格式化单元格。

    =IF(VLOOKUP($T1,Counts!$A:$B,2,FALSE)>3,1,0)
    

    [上图]

    将规则应用到列T。 [图像]

结果应如下所示:

        条件格式结果

注意:要使最大项目数动态化,请使用工作表单元格指定最大项目数,并让公式引用该单元格,而不是在公式中输入最大项目数。在计数表中,您只需输入新名称,然后复制计数公式即可。如果您有任何问题或需要更多帮助,请告诉我!

相关内容