在SO人员的大量帮助下,我设法将大约15个QUERY
标签放在一起,用于提取报告所需的数据。
为了使其整洁,我想将所有这些查询包含在引用IFS
单元格的Data Validation
语句中,并通过简单地更改验证单元格中的值来运行QUERY
。
我设法让它运行没有错误,但是,我得到一个单元格输出。
我用的是:
=IFS('Validation'!$A$1 = "Giberish",
{QUERY('All'!$A$5:$AP,
"SELECT AJ, '" & IDBlah & "', 'Blah'
WHERE AJ IS NOT NULL
LABEL '" & IDBlah & "' 'ID',
'Blah' 'BlahBlahBlah'",1)},
'Validation'!$A$1 = "GiberishGiberish",
{QUERY('All'!$A$5:$AP,
"SELECT AJ, 'WCaa', 'Blah'
WHERE AJ IS NOT NULL
LABEL 'WCaa' 'BlahBlah',
'Blah' 'BlahBlahBlah'",1);
QUERY('Upload'!$A$2:$AL,
"SELECT A, 'WCaa', 'Blah'
WHERE A IS NOT NULL
LABEL 'WCaa' '',
'Blah' ''",0)} )
我试图将它全部包含在ARRAYFORMULA
中,但我得到相同的单个单元格输出,没有错误。
什么是正确的方法?
如果您需要虚拟数据,请告诉我,但请记住,我有公司安全策略限制我与公司外的任何人共享任何工作表。
你将需要使用IF
而不是IFS
,如:
=IF(Validation!$A$1 = "Giberish", {QUERY(All!$A$5:$AP,
"SELECT AJ,'"&IDBlah&"','Blah'
WHERE AJ IS NOT NULL
LABEL '"&IDBlah&"''ID','Blah''BlahBlahBlah'",1)},
IF(Validation!$A$1 = "GiberishGiberish", {QUERY(All!$A$5:$AP,
"SELECT AJ,'WCaa','Blah'
WHERE AJ IS NOT NULL
LABEL 'WCaa''BlahBlah','Blah''BlahBlahBlah'",1);
QUERY(Upload!$A$2:$AL,
"SELECT A, 'WCaa','Blah'
WHERE A IS NOT NULL
LABEL 'WCaa''','Blah'''",0)}, ))
当IFS
是ARRAYFORMULA
的组合时,它获得了一项特殊的技能,需要输入一个数组才能再次输出一个数组。