为了工作,我需要创建一个资源管理Excel文件。我的目标是创建一个概览,如下所示:
如果John休了几个小时,或者如果他有几个小时的病假,我想打开仅此单元格来更改颜色,这样我就知道John不在了无论出于何种原因在这一天。
但是,由于我要为整行(一整年)创建它,所以我不想为每个单元格创建条件格式,因为那简直太疯狂了。
以下是每个员工的示例(在本示例中为John):
所以我需要一个公式来检查员工工作表上连续一个单元格(例如病假)是否大于0,然后更改 only 上相应单元格的颜色资源计划工作表,不是整行。
你们中有人知道在Excel 2016中是否可行?最好不要使用VBA脚本,因为我必须将此excel文件传输给不参与VBA编程的同事。
谢谢。
nuntius sendtendus!
答案 0 :(得分:0)
这完全可能,无需任何代码。使用CountIf()
作为tinus087的注释。棘手的部分是如何创建CountIf()
使用的地址范围,以便可以在所有单元格上放置一种条件格式。一方面,您需要检查单元格的列以匹配总单元格的列。另一方面,工作表选项卡名称需要根据您所在的行而更改。因此,使用INDIRECT()
指向正确的工作表,使用OFFSET()
来查看正确的单元格。
因此,对于单元格C4,要用作CountIf()
中范围的公式为OFFSET(INDIRECT($A4&"!A1"),3,COLUMN(C1)-1,4)
。当应用于单元格C4时,将创建地址John!C4:C7。当用于单元格D4时,其结果为John!D4:D7。
当公式应用于没有名字的行或列出的名字与任何工作表选项卡都不匹配时,您可能希望进行一些错误检查以处理#REF!
错误。
还有其他需要考虑的问题,如果您还没有考虑的话,那么如果有两个约翰的话会怎样?第二个约翰要叫约翰2吗?