-1

我正在尝试创建一个电子表格,其中列出了一系列唯一的班级名称,然后检查下一次教授该班级的时间表电子表格。

这是我要制作的样本表,突出显示的单元格是需要公式的单元格。这是第二张数据表。所以公式应该:

  1. 使用第一个电子表格的“选项卡”列指向目标工作表的相应选项卡。
  2. 类名的某种索引匹配?
  3. (这很困难)考虑到今天的日期,以找到下一次教授给定课程的时间。

D 列(下一次讲授课程时)应与 C 列的公式相同,但用 C 列中的日期代替今天的日期。

结果应该是一个电子表格,列出每个班级以及该班级接下来举行的两次。

这是我最好的尝试,B2 是我要匹配的班级名称,日程表的 A 列是我的日期,日程表的 B 列是我的班级名称。我没有尝试让“Tab 1”部分由公式驱动:

=iferror(index((IMPORTRANGE("157E80WQaamKMRi6V4cnFWMMFMTEhdlfwALiqmsr0-JY","'Tab 1'!A1:A80")),(match(ArrayFormula($B2&today()),ArrayFormula(IMPORTRANGE("157E80WQaamKMRi6V4cnFWMMFMTEhdlfwALiqmsr0-JY","'Tab 1'!B1:B80")&(IMPORTRANGE("157E80WQaamKMRi6V4cnFWMMFMTEhdlfwALiqmsr0-JY","'Tab 1'!A1:A80"))),-1)),""))

最后的 -1 应该返回大于我的类名与当前日期连接的最小结果。但是,虽然它适用于某些细胞,但它绝对不适用于其他细胞。我究竟做错了什么?

4

1 回答 1

0

在 C2 中并向下拖动以适应:

=array_constrain(query({importrange("https://docs.google.com/spreadsheets/d/157E80WQaamKMRi6V4cnFWMMFMTEhdlfwALiqmsr0-JY/edit#gid=0","'Tab 1'!A1:B10");importrange("https://docs.google.com/spreadsheets/d/157E80WQaamKMRi6V4cnFWMMFMTEhdlfwALiqmsr0-JY/edit#gid=28833949","'Tab 2'!A2:B10");IMPORTRANGE("https://docs.google.com/spreadsheets/d/157E80WQaamKMRi6V4cnFWMMFMTEhdlfwALiqmsr0-JY/edit#gid=416018764","'Tab 3'!A2:B10")},"select Col1 where Col2 ='"&B2&"'limit 2 offset 1 ",0),1,1)

应该返回您按要求显示的日期(前提是已为导入授予访问权限)Next Taught,但另一列是一个不同的问题,您没有解释“今天”如何与 12 月 3 日的帖子相匹配,其中“下一个”的结果在此之前教过。

您可能更愿意将上述内容分成更易于理解和适应的内容:

在 G1 中说:

={  
importrange("https://docs.google.com/spreadsheets/d/157E80WQaamKMRi6V4cnFWMMFMTEhdlfwALiqmsr0-JY/edit#gid=0","'Tab 1'!A1:B10");  
importrange("https://docs.google.com/spreadsheets/d/157E80WQaamKMRi6V4cnFWMMFMTEhdlfwALiqmsr0-JY/edit#gid=28833949","'Tab 2'!A2:B10");  
importrange("https://docs.google.com/spreadsheets/d/157E80WQaamKMRi6V4cnFWMMFMTEhdlfwALiqmsr0-JY/edit#gid=416018764","'Tab 3'!A2:B10")  
}

然后改为在 C2 中并复制下来以适应:

=array_constrain(query(G:H,"select G where H ='"&B2&"'limit 2 offset 1 ",0),1,1)
于 2019-06-07T02:00:59.593 回答