Forum Discussion
JennyHoA20181
Apr 08, 2022Brass Contributor
Choose MAX Date where it is less than or equal to another date
 Hello,     I am able to select the Maximum date in several columns and bring back the corresponding column title using the formula below.      =CHOOSE(XMATCH(MAX(B6:I6),B6:I6,0,-1),"Interest","CI","A...
- Apr 09, 2022This is just playing with dynamic array solutions. Each formula needs to be applied row by row. BYROW is the obvious solution but only accepts one array whereas MAP accepts multiple parameters but will not extract the row to search from an array. = BYROW(dateArr, LAMBDA(keyDate, XLOOKUP("", keyDate, status,"-",-1,-1) ) ) = BYROW(firstDateArr:dateArr, LAMBDA(a, XLOOKUP(a firstDateArr, a dateArr, status,"-",-1,-1) ) )The trick in the second formula is the intersection of the original arrays with the dynamic row 'a'. Alternatively, using MAP, = MAP(firstDateArr,keyDatesϑ, LAMBDA(crit,datesϑ, XLOOKUP("", datesϑ(),status,"-",-1,-1) ) ) = MAP(firstDateArr,keyDatesϑ, LAMBDA(crit,datesϑ, XLOOKUP(crit, datesϑ(),status,"-",-1,-1) ) )The trick here is that the array of key dates has been passed as a thunk, so allowing MAP to work with it. In the formula, each scalar thunk is expanded to a row array by the term datesϑ(). keyDatesϑ = BYROW(dateArr,Thunkλ); Thunkλ = LAMBDA(x,LAMBDA(x))To create a two-dimension array of results is possible but lacks elegance. 
SergeiBaklan
Apr 08, 2022Diamond Contributor
As variant
only max:
=XLOOKUP(99999, B6:I6, $B$1:$I$1,, -1 )
max before:
=XLOOKUP(A6, B6:I6, $B$1:$I$1,,-1)
JennyHoA20181
Apr 09, 2022Brass Contributor
Thank you both so much! mtarler @sergei
There is just one piece missing - for example line 6 should bring back the value AFP, because the student reached the stage CI and then AFP on the same day, AFP is the bigger stage. Max stage is sorted from left to right. 'Interest' in column B is the smallest stage, 'Student' in column I is the MAX stage. So if a date is repeated, I want it to take the repeated date in the stage furthest to the right.
Thank you in advance for your help!!!
There is just one piece missing - for example line 6 should bring back the value AFP, because the student reached the stage CI and then AFP on the same day, AFP is the bigger stage. Max stage is sorted from left to right. 'Interest' in column B is the smallest stage, 'Student' in column I is the MAX stage. So if a date is repeated, I want it to take the repeated date in the stage furthest to the right.
Thank you in advance for your help!!!