如何使用 QUERY 函数匹配 Google Sheet 中不同工作表中的两个单元格?
Posted
技术标签:
【中文标题】如何使用 QUERY 函数匹配 Google Sheet 中不同工作表中的两个单元格?【英文标题】:How to match two cells in different sheets in Google Sheet using QUERY function? 【发布时间】:2019-07-01 10:46:26 【问题描述】:我有一张有两个标签的工作表:
Tab1:第一个选项卡包含名为 A、B 和 C 的三列中的数据
Tab2:第二个选项卡包含名为 A、B 和 C 的三列中的数据。它还包括两个单元格,我将使用条件。我在 D2 单元格中将它们称为 OpenTime,在 D3 单元格中将它们称为 CloseTime。
目标:我正在尝试使用查询功能搜索 Tab1 中的列,并检查它们的条件是否为真,返回值。 这是三个条件: 1.开放时间>(2019年6月30日下午5点) 2. 关闭时间
=query(Tab1!$A:$C,"select $B where $A> timestamp '"& text(D2,"yyyy-MM-dd HH:mm:ss")&"'" & "AND $A < timestamp '"&text(D3,"yyyy-MM-dd HH:mm:ss")&"'" & " AND $C Like '"&C2&"'",0)
如果我在 Tab1 中应用上述查询,它可以工作,但是,当我将它粘贴到第二个 Tab (Tab2) 中时,它会返回错误。 我做错了什么?
这是错误:
无法解析函数 QUERY 参数 2 的查询字符串: PARSE_ERROR:在第 1 行,第 1 列遇到“”$“” 8. 期待以下之一:“true”...“false”...“date”...“timeofday”...“datetime”...“timestamp”...“min”...“最大”...“平均”... “计数” ... “总和” ... “no_values” ... “no_format” ... “是” ... “空” ... “年” ... “月” ... “日” ... “小时” ... “分钟” ... “秒” ...“毫秒”...“与”...“包含”...“开始”...“结束” ...“匹配”...“喜欢”...“现在”...“dateDiff”...“季度”... “下” ... “上” ... “dayOfWeek” ... “toDate” ... ... ………… ... "(" ... "*" ... "-" ...
更新: Link to the spreadsheet:
【问题讨论】:
@player0 我已将链接添加到电子表格。 【参考方案1】:正确的语法应该是:
=IF(IFERROR(QUERY(LiveAttendanceForm!$A:$C,
"select B
where A > timestamp '"&TEXT(D$1, "yyyy-MM-dd HH:mm:ss")&"'
and A < timestamp '"&TEXT(D$2, "yyyy-MM-dd HH:mm:ss")&"'
and C = "&$C4, 0))=$A4, TRUE)
【讨论】:
谢谢。它和我写的完全一样,但是,它不起作用。请查看我共享的电子表格。 谢谢。有效。请您编辑您的答案并解释最后一句话。我不明白为什么最后一句中只有一个没有单引号的&符号:我的意思是:“&$C4 原因是因为C4包含一个数字。如果它是文本,那么它需要是' "&C4&" ' "
,但 QUERY 中的数字会被区别对待。单引号表示“文本即将到来”以上是关于如何使用 QUERY 函数匹配 Google Sheet 中不同工作表中的两个单元格?的主要内容,如果未能解决你的问题,请参考以下文章
应用电子商务操作过滤器时,Big Query 和 Google Analytics UI 不匹配
Google 电子表格“=QUERY”join() 等效函数?