You would get #VALUE! if
a) any value in 'BBO Count'!B3:J3 was not a valid date (number) as MONTH explicitly coerces (same holds true for B3 on calculation sheet obviously) - this would include formula Null Strings
b) any precedent cells contain underlying #VALUE! errors.
If we assume the values in 'BBO Count'!B3:J3 vary by day (thereby necessitating the month test) and no underlying errors we can remove the coercion issue by using a TEXT construct...
=SUMPRODUCT(--(TEXT('BBO Count'!$B$3:$J$3,"mmm")=TEXT(B$3,"mmm")),INDEX('BBO Count'!$B:$J,MATCH($A4,'BBO Count'!$B:$B,0),0))
If we were only concerned with Null Strings in the Date Header range we could omit the TEXT and use a 0& prefix:
=SUMPRODUCT(--(MONTH(0&'BBO Count'!$B$3:$J$3)=MONTH(B$3)),INDEX('BBO Count'!$B:$J,MATCH($A4,'BBO Count'!$B:$B,0),0))
the TEXT approach is more flexible.
note: INDIRECT is not necessary given INDEX (this also reduces the Volatility of the function)
XL2007+ we would use SUMIFS rather than SUMPRODUCT for this calculation.
Bookmarks