Code:
=CHOOSE(MATCH($A$1,{1,2,3,4,5},0),sub_1,sub_2,sub_3,sub_4,sub_5)
Without an example what kind of data you have, and where and why those sub's are used (an example workbook uploaded here), it is difficult to give any better advice.
I myself prefer to use dynamic names. I.e. I select a cell in table, and then define a dynamic value, which depends on table row and values in this row (or in some other cell in workbook). All cell references bound to active row are given with relative row number. The value returned by name defined in such way will be different for different table rows.