Eu resolveria isso com o complemento do Power Query. São necessários alguns passos para chegar lá e um pouco de codificação na linguagem Power Query (M) para gerar a "contagem de execução" necessária para obter os títulos de coluna "custo1 / 2/3" e mais código M para chamar a Tabela. Função .Pivot (não é exposta na interface do usuário do Power Query).
Eu criei um protótipo que você pode visualizar ou fazer o download - é a "demonstração do Power Query - Agrupe linhas em colunas com o Contagem de execução.xlsx" no meu One Drive:
Basicamente, minha técnica era adicionar uma coluna calculada para obter o "Título de custo", por exemplo, cost1 / 2/3. Para obter isso eu precisava escrever uma função "Running Count", para retornar um índice que é redefinido para cada grupo (título).
Eu recebi o esboço da função "Contagem em execução" nesta postagem do blog - em "Vendas até o final do ano":
Em seguida, usei a função Table.Pivot para gerar uma coluna para cada valor exclusivo na coluna de destino.
A documentação do Table.Pivot está aqui:
Outro exemplo de uso do Table.Pivot está aqui:
Por fim, eu filtrava as linhas sem nada para o custo3.