繁体   English   中英

查询结果 Google 表格中的 VLookup 列

[英]VLookup column within Query Result Google Sheets

我正在为 4-6 年级的 Google 表格中的学校开发行为图表系统。 去年我创建了一个不错的系统,但它严重依赖 vlookup,更新速度非常慢,尤其是在输入更多数据时。

今年,我尝试使用查询来更新它,这要快得多,但我遇到了困难,我需要查询在单独的表中查找值。

所以,我把它放在列出被记过的学生的位置,并显示他们在当前日期有多少记过:

=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'")

但现在我需要第三列,其结果基于计数。 我们在学校的行为系统是这样的,如果一个孩子得到 1 分,那就是警告,2 是休课惩罚,等等。每个年级都有不同的后果,所以我需要它从单独的表中查找数据并显示孩子要接受的结果。 通常我会通过使用 vlookup 或选择 function 来解决这个问题,但我不知道如何在查询中实现它,或者我是否需要使用嵌套查询?

所以,现在我的结果是这样的:

Student Name | Number of Marks
Abby Alpha | 1
Benny Beta | 2
Gort Gamma | 27

但我需要它返回如下内容:

Student Name | Number of Marks | Consequence
Abby Alpha | 1  | Warning
Benny Beta | 2  | Walking at Recess
Gort Gamma | 7 | Office

其中,后果是根据在简单表中查找第二列的结果来确定的如果标记数超过表中的最大数量,它应该返回最大可能的结果。

我会很感激任何建议,我只是一名小学老师,所以虽然弄清楚它很有趣。 这有点超出我的舒适区。 谢谢!

尝试:

=ARRAYFORMULA(IFNA(VLOOKUP(B2:B, E:F, 2, 0)))

在此处输入图像描述


更新:

粘贴在 C3 中:

=ARRAYFORMULA(IFNA(VLOOKUP(B3:B, Sheet3!A:B, 2, 0)))

粘贴在 F3 中:

=ARRAYFORMULA(IFNA(VLOOKUP(E3:E, Sheet3!A:B, 2, 0)))

在此处输入图像描述


更新2:

=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))})

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM