Question Details

No question body available.

Tags

excel excel-formula

Answers (12)

January 17, 2026 Score: 2 Rep: 56,939 Quality: Medium Completeness: 60%

Ranking

MS365

For a row (vector)

=CONCAT(SORTBY(SEQUENCE(, 6), B2:G2))

or more dynamic

=LET(r, B2:G2, CONCAT(SORTBY(SEQUENCE(, COLUMNS(r)), r)))

enter image description here

To spill rows

=LET( a, B2:G3, c, SEQUENCE(, COLUMNS(a)), BYROW(a, LAMBDA(r, CONCAT(SORTBY(c, r)))) )

or

=LET( a, B2:G3, c, SEQUENCE(, COLUMNS(a)), f, LAMBDA(r, CONCAT(SORTBY(c, r))), BYROW(a, f) )

To 'lambdafy'

=LAMBDA(a, LET( c, SEQUENCE(, COLUMNS(a)), BYROW(a, LAMBDA(r, CONCAT(SORTBY(c, r)))) ) )

Create a new name, e.g., Lanes, and copy the formula above into the RefersTo box. Now you can simplify with

=Lanes(B2:G3)

Legacy Excel

Something like

=CONCAT(MATCH(SMALL(B2:G2+COLUMN($A$1:$F$1)/1000,COLUMN($A$1:$F$1)),B2:G2+COLUMN($A$1:$F$1)/1000,0))
January 17, 2026 Score: 2 Rep: 2,850 Quality: Low Completeness: 50%

You can use a formula like this in cell H3 and copy it down:
=LET(data,B3:G3+COLUMN(B3:G3)/1000,CONCAT(XMATCH(SORT(data,,,TRUE),data)))
To avoid problems with repeated results, you can somehow differentiate them, e.g. by adding a column number divided by a sufficiently large number (1000 in the example). If the results were given with greater accuracy, this number would have to be increased accordingly.
Then we sort the data in a row and determine the order, e.g. using the XMATCH function, and finally we combine the results into one string.
Races

January 17, 2026 Score: 2 Rep: 12,055 Quality: Low Completeness: 30%

I was thinking the same. Or maybe using =SORTBY(RIGHT(B$1:G$1),B2:G2)

January 17, 2026 Score: 1 Rep: 29,273 Quality: Low Completeness: 50%

You could try using the following formula, if I have understood correctly:

enter image description here

=LET( a, TOCOL(B3:G3), b, ROWS(a), c, SEQUENCE(b), d, SORTBY(c, a, 1, RANDARRAY(b), -1), CONCAT(XMATCH(c, d)))

Or, Spill the above using BYROW()

=BYROW(B3:G4, LAMBDA(x, LET(
a, TOCOL(x), b, ROWS(a), c, SEQUENCE(b), d, SORTBY(c, a, 1, RANDARRAY(b), -1), CONCAT(XMATCH(c, d)))))

Or, By Lanes Order then:

=LET( a, TOCOL(B3:G3), b, ROWS(a), c, SEQUENCE(b), d, SORTBY(c, a, 1, RANDARRAY(b), -1), CONCAT(XMATCH(d, _c)))
January 17, 2026 Score: 0 Rep: 8,455 Quality: Low Completeness: 0%

Why do you get lane 2 for race A as the winner when the quickest time is achieved in lane 3 ?

January 17, 2026 Score: 0 Rep: 29,273 Quality: Low Completeness: 0%

Sir lane 3 only 1 you see 241356

January 17, 2026 Score: 0 Rep: 8,455 Quality: Low Completeness: 0%

The OP shows the result as 314256, ie lane 3 first then lane 1 etc Why don't you get lane 3 with a time of 47 seconds quicker than lane 2 at 55 seconds ?

January 17, 2026 Score: 0 Rep: 29,273 Quality: Low Completeness: 0%

The 3rd formula does that actually

enter image description here

January 17, 2026 Score: 0 Rep: 8,455 Quality: Low Completeness: 0%

That isn't the result you show in your answer, however there are 2 other answers that work so it's academic now.

January 17, 2026 Score: 0 Rep: 29,273 Quality: Low Completeness: 0%

Yes, I forgot to post that in the first comment. who knew users will only check the first two formulas and ignore the third one

January 17, 2026 Score: 0 Rep: 85 Quality: Low Completeness: 0%

Thank you: I like the first two this and have incorporated this one.

January 17, 2026 Score: 0 Rep: 12,055 Quality: Low Completeness: 50%

Another dynamic solution could be:

=LET(x,B1:G3,
MAP(DROP(x,1,5),LAMBDA(m,CONCAT(SORTBY(RIGHT(TAKE(x,1)),TAKE(x,1):m TAKE(x,-1):m)))))

Where x is declared and is the range input incouding header.

We map the last column from x skipping the header row and sort the header values by the overlapping range of both the top and bottom row of x up the the current mapped cell range of x which means the row of x equal to the mapped cell.