Jim*_*mmy 2 google-sheets google-sheets-query google-sheets-formula
以下是我正在使用的电子表格:
(表单顶部)
(同一张,低于输出)
https://docs.google.com/spreadsheets/d/1-DrhZKYM2Kk4qDS1Koqz9eYy1L35JXIeyat61A2v0JQ/edit?usp=sharing
我正在使用QUERY函数填充摘要表中的相应提要,并且需要放置从A24开始的数据.
这是我在单元格C6中使用的公式(在整个汇总表中使用了类似的公式):
=QUERY($A$24:$D$57, "Select D Where B='ENQ' and A='2/27/14 - Thu'")
Run Code Online (Sandbox Code Playgroud)
这得到了正确的信息,但是需要将公式编辑为在其使用的每个单元格中都是唯一的.问题是无法快速填充"A ='2/27/14-Thu'"过于具体的单元格.
我试图设置它,以便:
如何编写QUERY函数以将这些值称为变量,而不是使用原始函数中的文字字符串?
'ENQ'
您可以让您的公式引用输出的A列中的索引,而不是固定字符串.例如,您可以在单元格C4中将公式更改为:
=QUERY($A$24:$D, "Select D Where B='" & $A4 & "' and A='2/27/14 - Thu'")
^^^^^^^
Run Code Online (Sandbox Code Playgroud)
ampersand(&
)用于连接字符串段.
请注意,由于源数据扩展到工作表数据范围的底部,我们可以放弃指定底行.范围$A$24:$D
将包含所有行,因此它将自动调整为其他源数据.
要比较日期,两个值都需要是日期."2/27/14 - 星期四"不会被识别为源数据表中的日期,而是作为文本识别,即使您已将数字格式设置为日期.因此,请确保将所有源数据更改为在A列中包含实际日期.
您仍然可以按照自己喜欢的方式格式化日期 - 请参阅此屏幕截图.A2的内容现在是正确的日期,"2/27/2014",但格式设置为显示"mm/dd/yy - DDD".只要数据是日期,就可以使用电子表格TEXT
函数构建查询,以便以yyyy-mm-dd格式解释日期.
对于源列中的日期,您可以使用todate()
标量函数来指示QUERY
将源中的日期转换为查询日期,并使用date
关键字将以下文字字符串(来自C2)视为日期.
单元格C4的结果函数是:
=QUERY($A$24:$D , "Select D Where B='" & $A4 & "'and todate(A) = date '" & TEXT($C$2,"yyyy-MM-dd") & "'")
^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
同样,对于D4:
=QUERY($A$24:$D , "Select C Where B='"&$A4&"'and todate(A) = date '"&TEXT($C$2,"yyyy-MM-dd")&"'")
Run Code Online (Sandbox Code Playgroud)您可以改进E列中的计算以处理#N/A
出现在C或D列中的结果:
=if(isna(C12*D12),0,C12*D12)
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
14972 次 |
最近记录: |