@NikTan:
Here is a solution that should work for you.
In my example, the Approvers are stored in a list called Approvers. I store the department name in the Title column and the approver in the Approver column which is a person or group column.
In the list with data to be approved, I have a chopice column where the user will select a department.
When a new item is created, I lookup the row of data in the Approvers list where the Title is equal to the Department name. I use the Approvers email form that row of data when assigning an Approver in the Approval action. You need to click on Advanced Options to expose the Filter Query input box.
Please note that my Approval action is in a loop. This is because, technically, more than one row of data can be returned from the Get Items action when I loopkup the approver. Only one row will be retruned because you only have one row with each department name.
Also note that the single quotes around the Department in the Odata filter.

If this solves your issue, please mark your post as Solved.
Scott