0

我有一个包含三列的表:

Name Task Hours
Sheena Task1 5
Sheena Task2 3
Chris Task1 5
Chris Task1 2.5

我正在尝试有条件地格式化该Hours列。如果此人的总小时数结束,我想在那里格式化单元格7.5。在示例中,包含小时数的单元格Sheena应该被格式化,因为她的总数超过7.5Chris' 完全相等,7.5所以不应该被格式化。

我假设公式是这样的:

=SUMIF([Name],INDIRECT("RC[-2]",0),[Hours])>7.5  

但这不起作用。以下是:

=SUMIF($A$2:$A$5,$A2,$C$2:$E$5)>7.5  

但很混乱,因为它不使用列引用。

4

2 回答 2

0

公式“沿着这些思路”看起来非常好,但不幸的是,任何结构化引用都会在 CF 中引发错误

这继续提到在 INDIRECT 中的包装。像这样的东西确实有效:

=SUMIF(INDIRECT("Table2[Name]"),INDIRECT("RC[-2]",FALSE),INDIRECT("Table2[Hours]"))>7.5  

但就混乱而言,我认为比你的混乱还要糟糕:

=SUMIF($A$2:$A$5,$A2,$C$2:$E$5)>7.5  

我认为@smozgur 提供了一个很好的“妥协”,尽管这确实涉及一些“幕后”工作。他将您表中的数据范围命名为HoursName(因此缺少方括号 - 这些不是结构化引用)。使公式看起来几乎如您所愿,但可能会令人困惑,因为[Hours]例如,如果将新行添加到表中,范围将自动扩展 - 但命名范围Hours不会。

因此,假设与列中其他地方的数据没有冲突,我的偏好是:

 =SUMIF(A:A,A1,C:C)>7.5  

_至少它很短!(但我承认我喜欢结构化引用。)

于 2015-02-05T01:48:35.270 回答
0

这有效:

=SUMIF(Name, INDIRECT("RC[-2]", FALSE), Hours)>7.5
于 2014-03-16T14:21:57.657 回答