Excel: AGGREGATE function with an array

Solution 1:

Arrays (as opposed to Range References) can only be passed to AGGREGATE when that function has an initial parameter of 14 or greater; in all other cases the argument passed as AGGREGATES's third parameter must be a reference to an actual worksheet range (or else some construction which resolves as such).

The fact that you are using a second parameter of 6 suggests that you are not concerned with having a formula which takes into account hidden rows within the range. As such, and since AVERAGEIF ignores errors, I would advise:

=AVERAGEIF(A1:A1000,"<0")