MAX IF函数指向其他工作表

我的工作簿中有一张名为Group Dashboard的工作表。 在那张纸上,我正在input一个涉及另一张纸的公式。

=MAX(IF('Worker Dashboard'!C:C=1,'Worker Dashboard'!F:F)) 

我希望它查看“工作人员仪表板”中的所有数据。 对于C列中的值为1(或1.0)的每一行,我希望它考虑F列中的值。然后它应该从列F中考虑的值中输出MAX值。

这个公式似乎工作正常。

但是,当我然后input以下内容:

 =MAX(IF('Worker Dashboard'!C:C="<1",'Worker Dashboard'!F:F)) 

它只是读取0.最大值不应该为0.表中的C列的值<1,如0.8,0.6,0.5等。如果我将公式更改为:

 =MAX(IF('Worker Dashboard'!C:C="<1",'Worker Dashboard'!F:F,-1)) 

那么输出是-1。 这让我觉得这个逻辑语句存在一个问题:

 'Worker Dashboard'!C:C="<1" 

我也尝试过其他用途的变体,其中的逻辑语句是:

 =MAX(IF('Worker Dashboard'!B:B="General",'Worker Dashboard'!F:F)) 

但是,即使列B的General和列F中的值被考虑,行的最大值为5.0,这里也会吐出0。

我从你对问题的描述中发现了两点。

  1. 使用'Worker Dashboard'!C:C<1不是'Worker Dashboard'!C:C="<1" 。 将真实数字与该数字的文本表示进行比较,可以使用一些函数,如COUNTIF函数,但不是全部。 最好将数字与数字进行比较,并尽可能地对文本进行testing。
  2. 你的公式看起来是数组公式的变化。 数组公式需要用Ctrl + Shift + Enter 来完成,而不仅仅是Enter键 。 使用CSE正确input时,Excel会将公式包装在花括号中(例如{} )。 你不要自己input。 一旦input正确,可以使用常规方法(如Ctrl + D (又名向下填充))将公式复制/填充到新位置,CSE将继续。