Well, first, this is not how excel would expect your data, that is why you will most probably have to use some VBA-macro for this to be solved in the way you described.
Excel would expect such data to be arranged like this:
Header; Metric 1; Metric 2; Metric 3
And it would even be easier to create a result like you have asked, when the raw-data would be in this order.
However, to solve this as a macro, you would have to obtain a list of your names, create some dialog to select a name, crearte the basic macro which would take the name add the header and create the filter automatically and create a button or shortkey to assign it with the macro.
Another way could be to use an advanced filter: http://office.microsoft.com/en-us/excel-help/filter-by-using-advanced-criteria-HP005200178.aspx
There are just some hickups with the updating behaviour, but I managed to run this with this setup:
Table1:
A | B | C
-----------------------------------------------
Header | Metric 1 | Name1 (this is your filter)
Name 1 | 100 |
Name 2 | 300 |
Name 3 | 200 |
Table2:
A
----------------
Header
="=" & Table1!C1
'=Header
Then you setup an adavaced filter for Table1!A1:B4 and with criteria of Table2!A1:A3.
Those are your options I would say.