Try this:
Add a column to the data table to accomodate an index of the rows containing active tasks:

The index is created by the formula shown below the table, entered in C2 and filled down to the end of column C.
On the Active tasks table, the formula shown below uses the index numbers to retrieve the task names from column B of the Tasks table.
The formula is entered in A2 of ActiveTasks, and filled to the end of that column.

IF(ROW()−1>MAX(Tasks::C),"",INDEX(Tasks::B,MATCH(ROW()−1,Tasks::C,0)))
The part in bold does the heavy lifting. The rest is a switch that prevents the INDEX part from looking for additional tasks when the last has been retrieved.
Regards,
Barry