How to lookup for data using parameters?

I have a grid with Calisthenics Workouts; id, type (what body part works most), exercise name, tier (difficulty level) and repetitions (example 4x6 or 30’) I actually have this split in multiple sheets by body parts with a grid listing id, exercise name, tier1 repetitions, tier2 repetitions etc… However I think merging them like described above is more practical.

I have a different sheet where should create a workout plan, I need to enter the Tier I want to use and the Muscle group (type) I want to work on for each day, so I have two cells outside the printing area with for example 1 for tier and Abs for workout type.

VLookup seems to be limited, What I use to pass these two parameters and lookup a random exercise (based on IDs) in a way that I pull 4 different lines? Example in my workout plan, for monday I’ll have 4 to 6 exercises to perform, one per line, the line will look like “Abs Crunch 4x6” the first part is the exercise name and 4x6 is the relative repetition for Tier 1 for example. Is it possible to have 4-6 rows of data pulled randomly and different each other? I guess I could refresh the query until I get all different ID but this will not be practical since I have to do this for 4 days each with 4 to 6 exercises, might be exhausting to refresh and get all different for each group.

Extra: would be very cool to also have all exercises different considering all the days, since many exercises affect multiple muscles, therefore you can find them in multiple categories.

Edit: Apparently I workedout with the VLookup formula, and I keept the sheets separated and Tiers in colum, I have a cell with intended tier, for example 1 and in my Vlookup I add this to the target colum, so since Tier 1 starts in column 3 I have 2+Tier where Tier is the name of the cell, and this works well.

Edit 2: Using Indirect I was able to assign ABS to a near cell and have it interpreted as a named range, this worked pretty well. The last thing I’m unable to do is to always pull different rows.

To pull random rows, I would add a column with the formula =RAND(), then a column with the formula RANK() and then select the first n exercises:
Exercises.ods (15.1 KB)

This is a typical database task. It may be doable with a spreadsheet if you accept some manual work (copying around things) or macro programming.
The sample draws 4 random items from a given list of 10 items every time when you hit F9. You can copy and paste-special the items to some other list.
105374.ods (21.8 KB)

I’m not sure how this should help. Also in the video you see she is sorting on a cell with rand() and the function runs again after the sorting, messing it up all over again. I need a VLookup way to exclude already pulled lines (above) so for example if one pulls ID 15 the next one should pull from the list but not 15, the one after should do the same with what above.