Instead of using full columns for your defined ranges maybe you could use Dynamic ranges
Fi the range named "department". instead of defining the range as "D: D""( which is very long) try
Code:
=$D$2:INDEX($D:$D,COUNTA($D:$D))
And the same for your other named ranges