我希望你能在这个问题上帮助我。
我目前正在使用Excel 2007,我正在为我们的团队创建动态规划/时间表。 到目前为止,一切进展顺利。
现在很遗憾我遇到了条件格式的问题。
我正在格式化单元格,以图形方式显示工作人员的当前状态。我使用带有公式示例的条件格式:=OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)="PM"
现在我尝试使用2种颜色的渐变填充来应用2个条件,例如:=AND(IF(OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)="PM";TRUE;FALSE);IF(OFFSET(DataStart17D;COLUMN();ROW()-52;1;1)="AM";TRUE;FALSE)
问题是,只要我使用IF或AND语句,就不会应用任何条件。 我已将上述公式应用于Cell本身并且已收到“TRUE”作为条件。
奇怪的是,如果我申请=OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)="PM"
它可以正常工作,如果我再次使用=IF(OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)="PM";TRUE;FALSE)
则不适用条件。
我在网上搜索了一个解决方案,但还找不到一个:(
如果有人可以帮我解决这个问题,我真的很高兴:)
最诚挚的问候, Richard J. Dana
答案 0 :(得分:1)
您不需要使用条件格式公式的IF Statment和TRUE以及FALSE。就其本质而言,公式是有条件的。
尝试类似:
=AND(OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)="PM";OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)="AM")
一旦你这样做,你会发现另外一个问题。 AND函数中的两个语句是互斥的,因此它永远不会计算为TRUE。
编辑:
使用AND
或OFFSET
ROW
语句和多个COLUMN
语句似乎存在问题
请注意,我将在这里使用逗号而不是分号作为函数参数分隔符,否则转换太难了。你必须将逗号更改为分号。
另请注意,您在原始问题的ROW或COLUMN函数中不需要最后两个参数。您将它们设置为高度和宽度1,这是默认值,并且是可选的。
这是一个简化的例子:
如果您执行以下操作:
OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM"
它将在工作表中以及条件格式
中评估为TRUE如果您执行以下操作:
=AND(OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM",OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM")
只是重复相同的语句两次,它将在工作表中评估为TRUE,但不会触发条件格式。
以上所有内容与您在问题中所说的一样。我认为可行的答案是使用ROWS和COLUMNS,如下所示:
=AND(OFFSET(DataStart17D,ROWS($1:2)+1,COLUMNS($A:A))="PM",OFFSET(DataStart17D,ROWS($1:2)+1,COLUMNS($A:A))="AM")
以上是A2的公式。请注意,括号内的第一行或第一列用美元符号锚定。这将为您提供A1中行或列的计数,与ROW或COLUMN函数实际上相同。