Lendo a documentação da =QUERY
função 1 , 2 , 3 , algumas delas parecem sugerir que eu deveria poder usar os cabeçalhos das colunas diretamente na minha consulta. Por exemplo, a =QUERY
função leva um terceiro parâmetro opcional , HEADERS
que permite que você especifique um número de linhas de cabeçalho.
A maioria das minhas consultas seria muito mais bonita se eu pudesse usar cabeçalhos de coluna, não precisando usar índices de coluna, mas não consigo fazê-lo funcionar.
Exemplo:
A B C
---------------------
Name Phone City
Vidar 12345678 Oslo
Rupert 32165487 Berlin
Eu sou capaz de consultar isso usando índices de coluna:
=QUERY(Sheet1!A1:C; "select A, B, C where A = 'Vidar'"; 1)
... mas não usando cabeçalhos de coluna:
=QUERY(Sheet1!A1:C; "select A, B, C where Name = 'Vidar'"; 1)
... isso me dá Erro: Consulta inválida: a coluna [Nome] não existe na tabela
É possível usar cabeçalhos de coluna como este? Caso contrário, qual é o objetivo do HÈADERS
parâmetro?
fonte
HEADERS > 0
o número especificado de linhas de cabeçalho será retornado=QUERY
no topo dos resultados da consulta, certo? Isso faz sentido - pensei queHEADERS
apenas as linhas especificadas fossem ignoradas na consulta.OFFSET
opção pode ser usada para ignorar as primeiras linhas.Sim, é possível. Primeiro, você precisa usar MATCH para obter o número da coluna cujo valor corresponde a 'Nome'. Então você precisa usar ADDRESS para obter a referência da célula. Por fim, você precisa usar SUBSTITUTE para remover o número da linha da referência da célula.
fonte
Enquanto era um post antigo, eu queria adicionar minha solução à mistura. Você pode usar nomes de colunas que considero mais úteis. Dessa forma, você não precisa editar suas chamadas de função de consulta ao inserir ou remover colunas dos dados de origem.
Já vi outras pessoas usarem a correspondência e o substituto, implementei algo um pouco diferente para simplesmente chamar a função de consulta.
Primeiro - Crie uma tabela de pesquisa com todos os nomes de colunas como este. Minha tabela de pesquisa começa na coluna E de uma planilha 'Config' apenas porque tenho outros itens na planilha, ela pode ser facilmente colocada em sua própria planilha.
Coluna 1 (nome da coluna)
Coluna 2 (nº da coluna)
Coluna 3 (letra da coluna)
Estou aberto a aprimoramentos para converter um número de coluna em uma letra. Essa fórmula é limitada, pois lida apenas com 78 colunas. Mais do que suficiente para mim.
Agora, sua chamada à função Query seria mais ou menos assim:
Mantenha-o bem formatado e não é nada ruim de gerenciar. A única coisa que você sofrerá é se você alterar o índice da coluna do seu intervalo de visualizações. Mas isso não deve mudar com frequência, se é que o considera, considerando-o um alcance auxiliar.
fonte
Pergunta antiga, mas acho que essa solução pode valer a pena.
Você pode usar uma função de script personalizada que recupera o índice da coluna (por exemplo, A, B, C ...) usando um nome de cabeçalho, permitindo fazer algo como:
Com
colIndex
função:O que pode ser mais fácil de usar e ler.
fonte
Aqui está a minha solução:
se você tiver uma coluna chamada "cidade", crie uma nova célula em algum lugar com o índice dessa célula:
Você pode criar um intervalo nomeado para a célula Z: 2 chamada: "nome", Z: 3 = "telefone", Z: 4 = "cidade"
na sua consulta, você pode escrever:
Você pode combinar isso com a solução de correspondência de endereço, para não precisar rastrear colunas reorganizadas.
fonte