首页 > 解决方案 > Google表格中的动态日历-如何从列表中查询项目

问题描述

我正在工作表中构建一个日历,您可以在其中更改标题(例如从 2021 年 1 月 1 日到 2021 年 2 月 1 日),并且该月的所有事件都会从另一个工作表中的列表中自动填充。我就是无法让它工作!理想的物品是这样堆叠的:(都在同一天)

不起作用的查询在这里:

=QUERY( { Events!A:A&" - "& Events!C:C&" - "& Events!E:E, Events!I:I }, "select Col1 where Col2 = date '"&text(($A$1 +C4-1),"yyyy-mm-dd")&"'")

失败并显示“函数 ARRAY_ROW 参数 2 的行大小不匹配。预期:1。实际:984。” 我的意图是将列 A、C 和 E 连接到 Col1,将 I 连接到 Col2(日期列)

这是一个样本表理想格式的解决方案是绿色的,破碎的公式是粉红色的。

有人对此有解决方案吗?感谢帮助!

添加由 Player0 提供的最终解决方案:

=IFERROR(CONCATENATE(ARRAYFORMULA(QUERY({Events!A:A&" - "&Events!C:C&" - "&Events!E:E&char(10), Events!I:I}, "select Col1 where Col2 = date ' "&TEXT(($A$1+B4-1), "yyyy-mm-dd")&"'",0 ))),"")

添加了一个 char(10) 来创建换行符。

标签: google-sheets

解决方案


尝试:

=ARRAYFORMULA(QUERY({Events!A:A&" - "&Events!C:C&" - "&Events!E:E, Events!I:I}, 
 "select Col1 where Col2 = date '"&TEXT(($A$1+C4-1), "yyyy-mm-dd")&"'" ))

看:

https://webapps.stackexchange.com/a/131436/186471


推荐阅读