首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当学生被同一人选择为多天时,将拉取星期几的公式

当学生被同一人选择为多天时,将拉取星期几的公式
EN

Stack Overflow用户
提问于 2020-12-30 06:45:53
回答 2查看 35关注 0票数 0

我有一个日程安排和出勤跟踪:

https://docs.google.com/spreadsheets/d/1Y2XgDolK37OfeErIb47yBIsoK0GWL8EWTLNw3lnxdwo/edit

前两个选项卡“第9个辅导区”和“第10个辅导区”是教师将在其中指明他们正在选择哪些学生进行辅导以及在哪一天进行辅导的选项卡。

最后三个选项卡"Teacher1“、"Teacher2”和"Teacher3“是自动填充其辅导出勤列表的选项卡。我使用了一个查询来自动提取数据。

**现在,对于教师选项卡上的每个学生,我需要一个公式来自动填写该学生应该在哪周的哪一天进行辅导。

问题是,同一个老师可以在多天内选择一个学生。**

例如,教师1可能为星期一和星期三选择了学生1,因此学生需要在教师选项卡上出现两次,但是星期几的数据不同。

这是我在单元格J3中的当前公式

代码语言:javascript
复制
ifs(
$A3=index('9th Tutoring Block'!$K:$K),"Monday",
$B3=index('9th Tutoring Block'!$L:$L),"Tuesday", 
$C3=index('9th Tutoring Block'!$M:$M),"Wednesday", 
$D3=index('9th Tutoring Block'!$N:$N),"Thursday",TRUE,"")

这是一个我正在试验的formuala,但无法开始工作:

代码语言:javascript
复制
ifs(
$A3=index('9th Tutoring Block'!$K:$K),"Monday",
$B3=index('9th Tutoring Block'!$L:$L),"Tuesday", 
$C3=index('9th Tutoring Block'!$M:$M),"Wednesday", 
$D3=index('9th Tutoring Block'!$N:$N),"Thursday",TRUE,"")

欢迎任何建议。我不确定是否应该使用vlookup/hlookup、index/match、数组、ifs或以上各项的组合。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-30 11:17:05

我设法避免了在Teacher1中需要您的列A到D,并从您的两个数据选项卡中执行了一个新的查询。我使用的公式是:

代码语言:javascript
复制
=ArrayFormula(IFERROR(QUERY(
               {  '9th Tutoring Block'!A3:E138, '9th Tutoring Block'!F3:F138,left("MO-"&ROW(A3:A138),2);
                  '9th Tutoring Block'!A3:E138, '9th Tutoring Block'!G3:G138,left("TU-"&ROW(A3:A138),2);
                  '9th Tutoring Block'!A3:E138, '9th Tutoring Block'!H3:H138,left("WE-"&ROW(A3:A138),2);
                  '9th Tutoring Block'!A3:E138, '9th Tutoring Block'!I3:I138,left("TH-"&ROW(A3:A138),2);
                 '10th Tutoring Block'!A3:E138,'10th Tutoring Block'!F3:F138,left("MO-"&ROW(A3:A138),2);
                 '10th Tutoring Block'!A3:E138,'10th Tutoring Block'!G3:G138,left("TU-"&ROW(A3:A138),2);
                 '10th Tutoring Block'!A3:E138,'10th Tutoring Block'!H3:H138,left("WE-"&ROW(A3:A138),2);
                 '10th Tutoring Block'!A3:E138,'10th Tutoring Block'!I3:I138,left("TH-"&ROW(A3:A138),2)},
               "select Col1,Col2,Col4, Col5,Col7 where Col6 ='"&E1&"' order by Col1,Col7")))

这只是将所有需要的数据堆叠到一个临时数组中,然后对其运行单个查询。为了让它工作,我为这个数组创建了一个额外的列,它将星期几添加到每个数据行。我使用了一个数组公式和不断变化的行号,强制它每行创建一个值,但随后我使用LEFT去掉了不必要的行号。

我已经把这个放在你的工作表上了,GKTeacher1。可以复制和粘贴相同的公式,而无需更改Teacher2和任何其他教师选项卡。

票数 2
EN

Stack Overflow用户

发布于 2020-12-30 19:08:47

尝试:

代码语言:javascript
复制
=INDEX(QUERY({
 IF('9th Tutoring Block'!F3:F138="",,"Monday");
 IF('9th Tutoring Block'!G3:G138="",,"Tuesday"); 
 IF('9th Tutoring Block'!H3:H138="",,"Wednesday"); 
 IF('9th Tutoring Block'!I3:I138="",,"Thursday")}, 
 "where Col1 is not null", 0))

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65499771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档