Stuck trying to convert multiple selections in individual rows

I can’t think of a way to do this that doesn’t require you to manually generate the results (e.g. via a button), unless there are additional constraints like each worker is at most selected in one data row.

For the Formula to generate results, it would be something like (nested ForEach()):

Data
  .ForEach(
    WithName(
      CurrentValue,
      iData,
      Workers
        .ForEach(
          [Workflow (results)]
            .AddRow(
              [Workflow (results)].Data,
              iData,
              [Workflow (results)].Worker,
              CurrentValue)))

Demo: