>>701
自分なら役職リストを作る。
そのリストをもとに面倒だけど、substitute関数で役職の数だけネストする。
スマートではないけど、役職を少し多めに作っておけば、毎回関数を直す必要がない。
そんなに役職数増えたりしないでしょう?
現在ある役職が10なら、13くらいで作っておくとか。

リストを参照することで、役職名の変更には対応しやすい(例えば班長という役職が廃止されて主任になるとか)。