The filter() function looks through a source array, and filters it according to condition
=FILTER(A:A,ISNUMBER(A:A))
My source array is a rather long formula, so i end up repeating the same formula twice in the ISNUMBER() condition
=FILTER(ARRAYFORMULA(1+(SORT(TRANSPOSE(FILTER($N9:9,ISNUMBER($N9:9),$N$3:$3="Skills [s]")),1,FALSE))*StackPenalty), ISNUMBER(ARRAYFORMULA(1+(SORT(TRANSPOSE(FILTER($N9:9,ISNUMBER($N9:9),$N$3:$3="Skills [s]")),1,FALSE))*StackPenalty)))
Is there any way i can write this shorter? Any way to reference the source array by some name? Index? Any way to use ISNUMBER() condition without passing the whole source array?
Edit:
Link to Spreadsheet
[removed]
Edit 2: I just now saw some people trying to look into this, but i had changed the original spreadsheet since then. Sorry i just noticed your comments. I've restored the spreadsheet to the previous revision and copied it to the link below. This link will not be changing. Even though i've changed my spreadsheet logic for this already, i am still interested in the answer (and the bounty is still there).
To recap: i need a way to reference the first argument of Filter() function in the second argument to that function, without repeating the whole argument explicitly
Copy of Spreadsheet (non-changing)
https://docs.google.com/spreadsheet/ccc?key=0Aq6pdGj-zwyedEt0NFdhRDYzY25HVHl5S0o2UlEwMFE&usp=sharing
Sheet "Fitting Tool", cell L18 (change N9:9 in formula to N18:8), but this will be repeated throughout the L:L column

Weaponsdoesn't exist..... – Jacob Jan Tuinstra Feb 25 at 21:11