I would recommmend against such an approach. Often better is managing traffic types. However, assuming you also don't want to limit the departments to just your desired bandwidths, CBWFQ could be used.
e.g. (NB: syntax possibly incorrect)
!identify dept. traffic my source addr block?
ip access-list extended DeptFinance
permit ip #.#.#.# #.#.#.# any
ip access-list extended DeptIT
permit ip #.#.#.# #.#.#.# any
ip access-list extended DeptAdmin
permit ip #.#.#.# #.#.#.# any
class-map match-any DeptFinance
match group DeptFinance
class-map match-any DeptIT
match group DeptFinance
class-map match-any DeptAdmin
match group DeptFinance
policy-map CBWFQ
class DeptFinance
bandwidth remining percent 33
class DeptIt
bandwidth remining percent 50
class DeptAdmin
bandwidth remining percent 17
interface ?
service-policy output CBWFQ