Eu tenho uma planilha do Google vinculada a um formulário que coleta respostas de três pessoas diferentes sobre o mesmo assunto usando o mesmo formulário e editando três vezes. Isso cria uma planilha que contém três colunas informando onde as três pessoas estão localizadas.
Eu preciso produzir uma exibição / consulta que pegue essas três colunas e as coloque 'embaixo' umas das outras, e não próximas umas das outras. Em um banco de dados, eu teria feito algo como a consulta abaixo, chamei minha 'planilha' tblMain e indiquei as quatro colunas relevantes (também preciso do ID do assunto).
tblMain:
ID RALocation RBLocation RCLocation
Inquerir:
Select ID, RALocation as Location, 'RA' as Role from tblMain
Union
Select ID, RBLocation as Location, 'RB' as Role from tblMain
Union
Select ID, RCLocation as Location, 'RC' as Role from tblMain
Alguém sabe se existe uma maneira de fazer isso no Planilhas Google? Não me importo de construir mais de uma planilha e depois combiná-las no final, mas estou um pouco empolgado em como fazer isso.
Respostas:
Eu ofereço duas versões, dependendo se as células em branco devem ser mantidas. A ideia básica é a mesma:
CHAR
).JOIN
comando para cada uma das três colunas.SPLIT
a sequência concatenada pelo mesmo caractere.TRANSPOSE
o resultado.Por exemplo:
onde por se juntar / divisão, eu peguei o personagem
CHAR(57344)
, que é designado para uso privado e, portanto, não deve estar presente em qualquer entrada válida.A fórmula acima remove entradas em branco , porque é isso que
SPLIT
faz. Isso pode ser conveniente se seus dados não tiverem espaços em branco: poupa o trabalho de rastrear onde está a última linha dos dados. Mas outras vezes, os espaços em branco devem ser preservados.Para preservar espaços em branco, sigo a resposta de Jacob Jan Tuinstra, exceto que usei outro Unicode de uso privado em vez de espaço (quem sabe, talvez você tenha algumas células que contêm apenas um espaço e deseja mantê-las). Isso envolve duas etapas extras: depois de juntar tudo como antes, eu uso
SUBSTITUTE
para substituirCHAR(57344)
porCHAR(57344)&CHAR(57345)
, depois divido como antes e substituoCHAR(57345)
por string vazia.O resultado completo é semelhante a este (observe que agora eu especifico onde está a última linha de dados):
Mais uma ressalva: as seqüências de caracteres no Planilhas Google não podem exceder 50000 caracteres. Se seus dados forem muito grandes para que a abordagem baseada em string funcione, use um script ( este é um bom lugar para começar).
fonte
Hoje em dia é possível fazer uma união na planilha do Google com muita facilidade com esta fórmula:
Veja mais informações na Ajuda do Google Docs: Uso de matrizes no Planilhas Google
fonte
Resposta curta
O Planilhas Google é uma ferramenta muito poderosa que possui várias alternativas para obter um resultado semelhante ao UNION-SELECT.
Alternativas
Matrizes incorporadas
Uma alternativa para usar a maneira SPLIT-TRANSPOSE-JOIN-CHAR é usar matrizes incorporadas. Uma vantagem desse método é que ele não requer construção / desconstrução de strings; portanto, o limite do número de caracteres não é relevante.
Filtragem
O acima pode ser usado em combinação com FILTER () para os casos que exigem filtragem para ter um comportamento semelhante ao de UNION-SELECT. Exemplo
Também pode ser usado em combinação com QUERY (), mas seus resultados incluem uma linha de cabeçalhos. Para saber como se livrar dos cabeçalhos, consulte Livrar-se de linhas no resultado da consulta de planilhas do Google .
Como criar uma coluna de valores
Use TRANSPOSE-SPLIT-REPT para criar uma coluna de valores.
Também QUERY () pode ser usado para criar uma coluna de valores, mas remover a linha de cabeçalhos pode tornar a fórmula mais complexa. Use-o apenas se as limitações do comprimento da string causarem problemas.
Solução usando matrizes incorporadas e TRANSPOSE-SPLIT-REPT
Suponha que o intervalo tblMain seja A1: D7, onde A1: D1 seja o cabeçalho da tabela e os dados estejam em A2: D7.
Referências
Anexando matrizes de planilhas do Google - StackOverflow
fonte