Isso soa como um trabalho para uma Tabela Dinâmica, mas você precisará de cabeçalhos de linha.
Primeiro, configure um intervalo com nome dinâmico que capture sua lista em A:C e cresça junto com ela. Para fazer isso, clique no Name Manager na faixa de opções Formulas . Clique em New , nomeie-o (chamei-o de rngPivotData ) e use-o para a fórmula "Refere-se a:":
=OFFSET(Sheet1!$A$1,0,0,MATCH(9E+99,Sheet1!$A:$A),3)

Emseguida,adicioneumaTabelaDinâmicaclicandonacélulaE1e,emseguida,clicandoemPivotTablenoInsertriboon.
Quando você perguntar a tabela ou o intervalo a ser usado, digite o nome escolhido para o intervalo com nome dinâmico.

CliquecomobotãodireitodomouseemalgumlugarnaTabelaDinâmicaecliqueem"Opções da Tabela Dinâmica ...". Na guia Display , marque "Layout da Tabela Dinâmica Clássica". Isso ajudará a dar a aparência desejada.

ArrastetodosostrêscabeçalhosparaaseçãoRowLabelsdopainelTabelaDinâmicae,emseguida,filtreocampoYes/NoapenasparaaquelesquesãoNo.
Aqui está o produto final. Sempre que você fizer alterações, basta clicar com o botão direito do mouse em qualquer lugar na Tabela Dinâmica e clicar em Refresh .


