[英]Sumproduct with max condition in 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列包含以下类型的值:
Till_Date
2016/10
2016/10
2016/11
2016/11
2016/12
2016/8
等等..
对于每一行,如果它是整列中的最后一个月,我想对月份设置一个条件,因此,其想法是获取正确的2位数字的最大值,并针对每一行将正确的2位数字与最大值进行比较整列。
但是它无法正常工作,感觉即时消息修复起来非常接近,但是找不到问题所在
任何帮助将不胜感激。
提前致谢
乔治·萨巴格
我认为您离解决方案不是很近。
NUMBERVALUE
也会在单元格A1
=“ Till_Date”-最右边2 =“ te”中导致#VALUE
错误 MAX(NUMBERVALUE(Sheet1!A:A))
由于所有都是文本,因此NUMBERVALUE
会导致A1:A7
每个单元格出现#VALUE
错误。 因此MAX
也是#VALUE
错误。 通过计算“ /”的位置并获取其后的数字,可以解决问题1。
问题2和3只能通过排除错误来解决。 但是IFERROR
在SUMPRODUCT
生成的矩阵上下文中不起作用。 为此,需要一个真实的数组公式。
所以也许
{=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)))}
将为您工作。
这是一个数组公式。 将其输入到没有大括号的单元格中,然后按[Ctrl] + [Shift] + [Enter]确认。 大括号将自动出现。
使用整个Sheet1!A:A
范围,这将是非常糟糕的性能。 因此,您应该缩小范围。 Sheet1!$A$1:$A$10000
。 与Sheet1!$AG$1:$AG$10000
和Sheet1!$AA$1:$AA$10000
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.