Estou trabalhando em um sistema de gráfico de comportamento para minha escola no Planilhas Google para a 4ª a 6ª série. Eu criei um sistema decente no ano passado, mas ele dependia muito de vlookups, que eram muito lentos para atualizar, especialmente conforme mais dados eram inseridos.
Este ano, estou tentando atualizá-lo usando consultas, que são muito mais rápidas, mas estou encontrando dificuldades em que preciso que a consulta procure um valor em uma tabela separada.
Então, eu tenho para onde lista os alunos que receberam um Demérito e também mostra a contagem de quantos deméritos eles têm na data atual:
=query('Form Responses 1'!A:D,"
select C,count(C)
where A>= datetime '"&TEXT(today(),"yyyy-mm-dd HH:mm:ss")&"' and
A< datetime '"&TEXT(today()+time(12,0,0),"yyyy-mm-dd HH:mm:ss")&"' and D != '6 - Late Assignments (WE)'
group by C order by count(C) desc
label C 'Student Name', count(C) 'Number of Marks'")
Mas agora preciso de uma terceira coluna cujo resultado é baseado na contagem. Nosso sistema de comportamento na escola é tal que se uma criança receber 1 nota, é um Aviso, 2 é uma penalidade de recesso, etc. Cada série tem um conjunto diferente de consequências, então eu preciso que ela procure os dados em uma tabela separada e mostrar que conseqüência a criança deve receber. Normalmente, eu resolveria isso usando um vlookup ou a função Choose, mas não sei como implementar isso em uma consulta ou se precisaria usar uma consulta aninhada?
Então, agora meus resultados são assim:
Student Name | Number of Marks
Abby Alpha | 1
Benny Beta | 2
Gort Gamma | 27
Mas preciso que ele retorne algo como:
Student Name | Number of Marks | Consequence
Abby Alpha | 1 | Warning
Benny Beta | 2 | Walking at Recess
Gort Gamma | 7 | Office
onde a Consequência é determinada com base na pesquisa do resultado da segunda coluna em uma tabela simples e se o Número de Marcas exceder o número máximo na tabela, deve retornar o resultado máximo possível.
Eu apreciaria qualquer conselho! Sou apenas uma professora primária, então, embora seja divertido descobrir, é um pouco fora da minha zona de conforto. Obrigado!
experimentar:
=ARRAYFORMULA(IFNA(VLOOKUP(B2:B, E:F, 2, 0)))
colar em C3:
=ARRAYFORMULA(IFNA(VLOOKUP(B3:B, Sheet3!A:B, 2, 0)))
colar em F3:
=ARRAYFORMULA(IFNA(VLOOKUP(E3:E, Sheet3!A:B, 2, 0)))
=ARRAYFORMULA({QUERY('Form Responses 1'!A:C,
"select C,count(C)
where A >= datetime '"&TEXT(TODAY(), "yyyy-mm-dd hh:mm:ss")&"'
and A < datetime '"&TEXT(TODAY()+TIME(12, 0, 0), "yyyy-mm-dd hh:mm:ss")&"'
group by C
label count(C)'Number of Marks'"), IFNA(VLOOKUP(QUERY('Form Responses 1'!A:C,
"select count(C)
where A >= datetime '"&TEXT(TODAY(), "yyyy-mm-dd hh:mm:ss")&"'
and A < datetime '"&TEXT(TODAY()+TIME(12, 0, 0), "yyyy-mm-dd hh:mm:ss")&"'
group by C
label count(C)'Number of Marks'"),
{"Number of Marks", "Consequence"; Sheet3!A:B}, 2, 0))})
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras