首页 > 解决方案 > 如何在 Google 表格中过滤或查询使用 {} 制作的数组

问题描述

这是我在这里发布的第一个问题,所以如果我做错了什么,我深表歉意。

我有一张表格,用来记录各种产品的发布日期。我希望能够根据发布日期是否为当天来过滤所有这些产品。但是,我在使用FILTERQUERY执行此操作时遇到了麻烦。在做了一些研究之后,我学会了如何将产品列表“堆叠”成一个数组,然后过滤,但我不能让它工作。如果我正在测试的两个部分中的行都匹配,我将它带到了它可以工作的地方,但如果没有匹配,那么整个公式就会返回错误。这也只是为每个部分使用了几行,理想情况下我想查看整个部分。

这是一个示例表:https ://docs.google.com/spreadsheets/d/1sP26Ptuv8eBqLLZoAah49XjrwavcNSMIlyWwG-dBq1A/edit#gid=879002581

这是我在单元格 B3 中使用的公式: =FILTER({F3:H; J3:L; N3:P; R3:T; V3:X; Z3:AB}, D3:D = 9/20/2019)

但这给了我一个错误,说它需要不同数量的行,这是有道理的,但我不知道如何解决。具体来说,它给了我这个错误:

FILTER 的范围大小不匹配。预期行数:654。列数:1。实际行数:109,列数:1。

我也尝试过使用QUERY,但我不知道如何选择我要查找的内容。我尝试同时使用 Col1、Col2 等和 A、B 等,但无论我尝试什么,它都会不断给我错误。

在这个错误和我之前提到的那个错误之间,我被困住了。任何帮助将不胜感激。

标签: arraysgoogle-sheetsfiltergoogle-sheets-formulagoogle-sheets-query

解决方案


它需要像:

=FILTER({F3:H; J3:L; N3:P; R3:T; V3:X; Z3:AB}, 
        {H3:H; L3:L; P3:P; T3:T; X3:X; AB3:AB}=DATE(2019, 9, 20))


那么今天你可以使用:

=FILTER({F3:H; J3:L; N3:P; R3:T; V3:X; Z3:AB}, 
        {H3:H; L3:L; P3:P; T3:T; X3:X; AB3:AB}=TODAY())

并且QUERY将是:

=QUERY({F3:H; J3:L; N3:P; R3:T; V3:X; Z3:AB}, 
 "where Col3 = date '"&TEXT(TODAY(), "yyyy-mm-dd")&"'", 0)

0


推荐阅读