首页 > 解决方案 > 如何在 Google 表格中获取与 QUERY 相结合的 ARRAY 公式的来源

问题描述

我有一个电子表格,其中每个选项卡都是一个月(一月、二月、...、十二月),它们的结构完全相同。

为了将所有信息组合在一张纸上,我使用了一个数组:

={January!A5:Q;February!A5:Q;March!A5:Q;April!A5:Q;May!A5:Q;June!A5:Q;July!A5:Q;August!A5:Q;September!A5:Q;October!A5:Q;November!A5:Q;December!A5:Q}

但是我想根据一些条件过滤每个月的条目,所以我使用了QUERY函数:

=QUERY({January!A5:Q;February!A5:Q;March!A5:Q;April!A5:Q;May!A5:Q;June!A5:Q;July!A5:Q;August!A5:Q;September!A5:Q;October!A5:Q;November!A5:Q;December!A5:Q},"select * where Col3 = 'X'",0)

我得到了想要的结果。我想要实现的额外好处是识别每一行所属的月份,换句话说,就是数据被拉出的工作表。而且我希望在不在源工作表上添加列或额外字段的情况下看到这一点。

我怎么做?

标签: arraysgoogle-sheetsgoogle-sheets-formulaarray-formulasgoogle-sheets-query

解决方案


尝试:

=ARRAYFORMULA(QUERY({
 January!A5:Q,   January!Z5:Z&"January"; 
 February!A5:Q,  February!Z5:Z&"February"; 
 March!A5:Q,     March!Z5:Z&"March";     
 April!A5:Q,     April!Z5:Z&"April"; 
 May!A5:Q,       May!Z5:Z&"May";
 June!A5:Q,      June!Z5:Z&"June"; 
 July!A5:Q,      July!Z5:Z&"July"; 
 August!A5:Q,    August!Z5:Z&"August";  
 September!A5:Q, September!Z5:Z&"September";
 October!A5:Q,   October!Z5:Z&"October";
 November!A5:Q,  November!Z5:Z&"November";
 December!A5:Q,  December!Z5:Z&"December"}
 "where Col3 = 'X'", 0))

其中Z列是一个空列


推荐阅读