Excel 2007 Excel 2007(条件格式)和&;如果

Excel 2007 Excel 2007(条件格式)和&;如果,excel-2007,conditional-formatting,multiple-value,Excel 2007,Conditional Formatting,Multiple Value,我希望你能在这个问题上帮助我 我目前正在使用Excel 2007,我正在为我们的团队创建动态计划/时间表。 到目前为止一切进展顺利 现在不幸的是,我对条件格式有一个问题。 我正在格式化单元格,以便以图形方式显示工作人员的当前状态。我将条件格式与公式示例一起使用:=OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)=“PM” 现在,我尝试应用两种颜色的渐变填充的两个条件,例如:=和(IF(OFFSET(DataStart17D;COLUMN();ROW()-49;

我希望你能在这个问题上帮助我

我目前正在使用Excel 2007,我正在为我们的团队创建动态计划/时间表。 到目前为止一切进展顺利

现在不幸的是,我对条件格式有一个问题。 我正在格式化单元格,以便以图形方式显示工作人员的当前状态。我将条件格式与公式示例一起使用:
=OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)=“PM”

现在,我尝试应用两种颜色的渐变填充的两个条件,例如:
=和(IF(OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)=“PM”;TRUE;FALSE);IF(OFFSET(DataStart17D;COLUMN();ROW()-52;1;1)=“am”;TRUE;FALSE)

问题是,只要我使用IF或AND语句,就根本没有应用任何条件。 我已将上述公式应用于单元格本身,并收到“TRUE”作为条件

奇怪的是,如果我再次使用
=if(OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)=“PM”
,它工作得很好,如果我再次使用
=if(OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)=“PM;TRUE;FALSE)
,则没有条件适用

我已在web上搜索解决方案,但尚未找到:(

如果有人能在这方面帮助我,我会非常高兴:)

致以最良好的祝愿,
Richard J.Dana

您不需要使用条件格式公式来表示陈述和真与假。就其性质而言,公式是有条件的

尝试以下方法:

=AND(OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)="PM";OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)="AM")
OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM"
=AND(OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM",OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM")
一旦这样做,您将看到另一个问题。AND函数中的两个语句是互斥的,因此它的计算结果永远不会为TRUE

编辑:

语句以及使用

请注意,我将在这里使用逗号而不是分号作为函数参数分隔符,否则很难转换。您必须将逗号改回分号

另外请注意,在原始问题中,您不需要ROW或COLUMN函数中的最后两个参数。您已将它们设置为高度和宽度为1,这是默认值,并且是可选的

下面是一个简化的示例:

如果您执行以下操作:

=AND(OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)="PM";OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)="AM")
OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM"
=AND(OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM",OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM")
它将在工作表和条件格式中计算为TRUE

如果您执行以下操作:

=AND(OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)="PM";OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)="AM")
OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM"
=AND(OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM",OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM")
它只是重复同一语句两次,在工作表中的计算结果将为TRUE,但不会触发条件格式

以上所有内容正如您在问题中所述。我认为有效的答案是使用行和列,如下所示:

=AND(OFFSET(DataStart17D,ROWS($1:2)+1,COLUMNS($A:A))="PM",OFFSET(DataStart17D,ROWS($1:2)+1,COLUMNS($A:A))="AM")

上面是A2的公式。请注意,括号内的第一行或第一列以美元符号锚定。这将为您提供A1中的行或列计数,实际上与行或列函数相同。

您不需要使用条件格式公式IF station和TRUEs与false。根据其性质e公式是有条件的

尝试以下方法:

=AND(OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)="PM";OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)="AM")
OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM"
=AND(OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM",OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM")
一旦这样做,您将看到另一个问题。AND函数中的两个语句是互斥的,因此它的计算结果永远不会为TRUE

编辑:

语句以及使用

请注意,我将在这里使用逗号而不是分号作为函数参数分隔符,否则很难转换。您必须将逗号改回分号

另外请注意,在原始问题中,您不需要ROW或COLUMN函数中的最后两个参数。您已将它们设置为高度和宽度为1,这是默认值,并且是可选的

下面是一个简化的示例:

如果您执行以下操作:

=AND(OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)="PM";OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)="AM")
OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM"
=AND(OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM",OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM")
它将在工作表和条件格式中计算为TRUE

如果您执行以下操作:

=AND(OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)="PM";OFFSET(DataStart17D;COLUMN();ROW()-49;1;1)="AM")
OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM"
=AND(OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM",OFFSET(DataStart17D,ROW()+1,COLUMNS())="PM")
它只是重复同一语句两次,在工作表中的计算结果将为TRUE,但不会触发条件格式

以上所有内容正如您在问题中所述。我认为有效的答案是使用行和列,如下所示:

=AND(OFFSET(DataStart17D,ROWS($1:2)+1,COLUMNS($A:A))="PM",OFFSET(DataStart17D,ROWS($1:2)+1,COLUMNS($A:A))="AM")

上面是A2的公式。请注意,括号内的第一行或第一列用美元符号固定。这将为您提供A1中的行或列计数,实际上与行或列函数相同。

Hi Doug感谢您的快速回答。我需要更改问题,第二个偏移量为“-52”位置。很遗憾,我检查了它,但没有解决问题。我还检查了条件。每个数据集有6列(Datastart01,Datastart02)例如,A列=状态,B列=从时间,C列=到时间,D列=状态,E列=从时间,F列=到时间。如果A中的条件为F,D中的条件为VM,则其填充为渐变双色,否则它使用一种颜色。我在不同的工作表上进行了测试。我进行了类似的累积,仍然没有显示结果。是否可能Excel 2007可能无法以条件格式将“偏移量”和(布尔值)组合在一起?好的,我明白你现在所说的。似乎确实存在一个bug,与列和行有关。我将用可能的解决方案编辑我的答案。完美:)非常感谢您的帮助。我不知道存在这样的小故障。必须调整公式,但它现在工作得很好。非常感谢:)我也不知道,所以谢谢你的好问题!(我刚记得+1)嗨,道格,谢谢你的快速回复。我需要更改问题,第二个偏移量在“-52”位置。我查过了,可惜还没解决问题。我还得检查一下情况。每个数据集有6列(Datastart01、Datastart02)。例如