与excel中的最大条件汇总

我有这个公式,但它不工作

=SUMPRODUCT(--(NUMBERVALUE(RIGHT(Sheet1!A:A,2))=MAX(NUMBERVALUE(Sheet1!A:A,2))),--(Sheet1!AG:AG=A9),(Sheet1!AA:AA)) 

我的问题是在sumproduct的第一节数组

 NUMBERVALUE(RIGHT(Sheet1!A:A,2))=MAX(NUMBERVALUE(Sheet1!A:A))) 

列A包含以下types的值:

 Till_Date 2016/10 2016/10 2016/11 2016/11 2016/12 2016/8 

等等..

对于每一行,如果是整个列中的最后一个月,我想设置一个月份的条件,所以我们的想法是获得右侧2位的最大值,对于每一行比较右侧2位,最大值为整个专栏。

然而,它不工作,感觉即时通讯如此接近解决,但无法find问题

任何援助将非常感激。

提前致谢

Georges Sabbagh

我不认为你是非常接近的解决scheme。

  1. 从“2016/8”你怎么看,最右边的2位数字是?
  2. 即使NUMBERVALUE也会导致单元格A1中的#VALUE错误=“Till_Date” – 最右边的2 =“te”
  3. MAX(NUMBERVALUE(Sheet1!A:A)) NUMBERVALUE将导致A1:A7每个单元格的#VALUE错误,因为所有单元格都是文本。 所以MAX也是#VALUE错误。

问题1可以通过计算“/”的位置并取出之后的数字来解决。

问题2和3只能通过排除错误来解决。 但IFERRORSUMPRODUCT生成的matrix环境中不起作用。 为此,需要一个真正的数组公式。

所以也许

 {=SUM(IF(IFERROR(--RIGHT(Sheet1!A:A,LEN(Sheet1!A:A)-FIND("/",Sheet1!A:A)),0)=MAX(IFERROR(--RIGHT(Sheet1!A:A,LEN(Sheet1!A:A)-FIND("/",Sheet1!A:A)),0)),IF(Sheet1!AG:AG=A9,Sheet1!AA:AA)))} 

会为你工作。

这是一个数组公式。 input到没有花括号的单元格中,按[Ctrl] + [Shift] + [Enter]确认。 大括号将自动出现。

使用整个Sheet1!A:A范围将是非常糟糕的performance。 所以你应该缩小范围。 Sheet1!$A$1:$A$10000 。 与Sheet1!$AG$1:$AG$10000Sheet1!$AA$1:$AA$10000