Como fazer uma consulta com a planilha do Google, que verifica uma data


11

Eu tenho um intervalo que vai de B4:H124. Todas as células na coluna B são datas. Gostaria de recuperar os dados de uma linha ( B:H), onde DATE é igual ao conteúdo de uma célula específica, digamos Q4.

Como faço para construir uma consulta adequada?

Até agora, o que eu vim com isso:

=QUERY(B2:G124; "select * where B = date '2012-02-28'")

Funciona, mesmo que o formato das células em B seja DD / MM / AAAA.

Como posso mudar 2012-02-28para $Q4? Quando tento, recebo o seguinte erro:

=QUERY(B2:G124; "select * where B = date '"&Q4&"'")

Invalid query: Invalid date literal [10/02/2012]. Date literals should be of form yyyy-MM-dd.

Quando olho para a célula, o formato é yyyy-mm-dd, mas quando clico duas vezes, o formato muda para DD-MM-YYYY.

O que devo fazer?

Além disso, como posso resumir os valores da consulta, sem incluir a coluna B?

Respostas:


3

Ainda não consegui encontrar o truque para a célula de data real funcionar, mas você pode ter uma solução alternativa, se nada mais, adicionando as aspas simples ( ') antes da data em um formato: YYYY-MM-DDna Q4célula.

Essa aspas simples significa que será analisada como string.


11

Você pode formatar a data assim:

=QUERY(B2:G124; "select * where B = date '" & text(Q4,"yyyy-MM-dd") & "'")

Para resumir os valores na coluna C, faça o seguinte:

=QUERY(B2:G124; "select sum(C) where B = date '" & text(Q4,"yyyy-MM-dd") & "'")

Não tenho certeza de como resumir várias colunas - ainda é bem novo nisso!


2

Isso deve funcionar:

=QUERY(B2:G124; "select * where B = date '"&text(Q4;"yyyy-MM-dd")&"'")

Enfim, eu tive o mesmo problema e finalmente funcionou para mim.

O problema é que você fica confuso com a mensagem

Invalid query: Invalid date literal [10/02/2012]. Date literals should be of form yyyy-MM-dd.

Isso ocorre porque o formato da data da sua célula Q4 parece ser dd / MM / aaaa. Eu tenho a mesma coisa: mesmo que isso pareça ser dd / MM / aaaa, você só precisa colocá-lo como se indica na segunda linha da minha resposta aqui acima.


1

Coloque a data desejada em uma nova célula, como Q3neste formato:2/28/2012

Então no Q4tipo de célula=YEAR(Q3) & "-" & DEC2OCT(MONTH(Q3), 2) & "-" & DAY(Q3)

Isso obterá a data da Q3célula e a converterá em uma string na Q4célula.

Isso é mais útil se você quiser a data atual. Em vez de obter a data do Q3seu, você pode usar now()para obter a data de hoje da seguinte maneira:=YEAR(now()) & "-" & DEC2OCT(MONTH(now()), 2) & "-" & DAY(now())


1

A final deve ser:

=QUERY(B2:G124; "select * where B = date ' "  & text( Q4 ,"yyyy-MM-dd") & "'")

Onde Q4 é uma célula formatada em data normal, onde você pode digitar uma data.

Copie o texto acima para o seu bloco de notas e aumente o tamanho da fonte para o que está em causa.

É difícil ver o single 'dentro do duplo "aqui.


0

Você também pode calcular a data fora da string e soltar o date, por exemplo

=QUERY(B2:G124; "select * where B = '" & Q4)

O quarto trimestre é efetivamente passado como um número inteiro, que é o que QUERY transforma a data nos bastidores de qualquer maneira.


0

Usando a função QUERY do Google:

Para sum várias colunas , é importante incluir o labelparâmetro no final da consulta

=QUERY(B2:G124; "select sum(C) + sum(D) + sum(E) + sum(F) + sum(G) label sum(C) + sum(D) + sum(E) + sum(F) + sum(G) '' ") 

nota: as referências das colunas diferenciam maiúsculas de minúsculas e são necessárias duas aspas simples no final da consulta.

Para adicionar uma wherecláusula referenciando um valor de data de células : da solução s6mikes

=QUERY(B2:G124; "select * where B = date '" & text(Q4,"yyyy-MM-dd") & "') 

As 2 consultas combinadas ...

=QUERY(B2:G124; "select sum(C) + sum(D) + sum(E) + sum(F) + sum(G) where B = date '" & text(Q4,"yyyy-MM-dd") & "' label sum(C) + sum(D) + sum(E) + sum(F) + sum(G) '' ")

-1

Você precisa alterar o tipo de dados na sua célula de referência para texto. E funcionará sem problemas.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.