Don't know if this is elegant enough to you or not, but using a LAMBDA function do always help improve the readability of codes in excel and google sheet.
This sample code uses...
QUERY, to remove the empty array for the output result.
BYROW, to iterate the input array and work on them one by one.
LAMBDA, to name the hard-to-read parts in the formula,
FILTER, to compare the input data with the MIN/MAX value and get the RETURN column
INDEX, to simplify the required inputs, instead of giving the formula A:A, B:B, C:C, here you only heed to give a range of A1:C, and the formula will seprerate it into MIN, MAX and RETURN column on its own.
This is also expandabale as you requested, since the input ranges are A1:C and E2:E, you may add as many other MIN/MAX/RETURN reference and TEST CASES as you want.

=QUERY(LAMBDA(REF,CASES,
BYROW(CASES,LAMBDA(CASE,
LAMBDA(MIN,MAX,RETURN,
IF(CASE="","",FILTER(RETURN,CASE>=MIN,CASE<=MAX))
)(INDEX(REF,,1),INDEX(REF,,2),INDEX(REF,,3))
))
)($A$1:$C$,$E$2:E),"WHERE Col1 IS NOT NULL")
edit: should use >= and <= in the comparings, otherwises the perfect matches may be ignored