
Gostaria de produzir um "subtotal" de uma tabela onde a função de subtotal seja string concat em vez de alguma função numérica (contagem, soma, média).
Por exemplo, considere esta tabela:
Quero o seguinte resultado:
Para mim, isso parece "concat" (ou "join") elevado ao subtotal. Mas não acho que o Excel realmente entenda a programação funcional (não importa o que algumas pessoas afirmem). Então, como posso fazer isso (especialmente, como posso fazer isso aproveitando o item de menu Subtotal que insere todas as fórmulas de subtotalização automaticamente, mesmo que eu tenha que editar posteriormente as fórmulas para conseguir o que desejo que funcione).
E, de fato, o Excel é muito poderoso, com muitos recursos. Então, posso conseguir isso de alguma outra forma além da subtotalização? (Eu preferiria soluções sem script.)
E, também, o Excel não é a única ferramenta na caixa de ferramentas. Suponha que eu tenha esta tabela em um arquivo CSV. Existe uma maneira de fazer isso com utilitários Unix padrão (por exemplo,? cut
Presumivelmente awk
poderia lidar com isso, como seria)?
Responder1
Esta pode não ser a solução mais elegante, mas tente isto, com base no fato de que Col1 está garantido para ser classificado:
Adicione uma coluna (C) para armazenar as concatenações cumulativas de valores Col2. A fórmula para a célula C2 é
=IF(A2=A1, CONCATENATE(C1, ",", B2), B2)
e você pode preenchê-la automaticamente para o restante das células.Adicione uma coluna (D) para sinalizar as linhas que contêm a concatenação máxima (mais longa), ou seja, a última linha de cada valor em Col1. A fórmula para a célula D2 é
=IF(A2<>A3, TRUE, FALSE)
e você pode preencher automaticamente o restante das células.A tabela ficará assim:
Filtre a tabela por
TRUE
valores na coluna D:Agora você pode ocultar as colunas B e D: