The filter() function looks through a source array, and filters it according to condition
My source array is a rather long formula, so i end up repeating the same formula twice in the
=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?
Link to Spreadsheet
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