You are correct, the formula should be more like:
confirmed with CTRL+SHIFT+ENTER.
the -ROW(D2)+1 basically resets the array created by ROW(D2:D447) to start from 1.. So Row(D2) is subtracted from each element in ROW(D2:D447) to give an array like {0,1,2,3,....etc} and then 1 is added to each, so that array begins at 1...
Then, each Row number replaces the TRUE results of the D2:D447=D448 condition.. and the large() finds the kth largest row number and extract the reference at that point.... This is repeated to find the largest (or last time the condition is true) and a range is found.. then within that range, the AVERAGE(IF()) is used to get the average of the elements in K where D is equal to D448.
Bookmarks