This one is similar to http://xlfxs.com/sort-list-using-functions/ where we use some controls here that make it more user-friendly.
We can push the dynamic sort more by adding CHOOSE function to (SMALL, LARGE and ROW)
=CHOOSE($I$1,SMALL(Column1,ROW()-5),LARGE(Column1,ROW()-5))
This way, we let user decide which order to sort, and when we push more, we can have user selects what columns to show, using simple VLOOKUP and MATCH functions …
=VLOOKUP($B6,wholedb,MATCH(D$5,Heads,0),FALSE)

