【问题标题】:How to get rows from Google Sheets filtered by a column's value?如何从按列值过滤的 Google 表格中获取行?
【发布时间】:2021-06-27 04:35:01
【问题描述】:

我有一个如下所示的电子表格:(这只是我工作表的一个 sn-p,将来可能有 10,000 行)

我想要做的是,获取 For Class (column) 值 = 7 的每一行 - 在上面的示例中,行 #3, #5, #8, #10For Class 值为 7,所以我应该得到它们。

使用这个参考 - https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/get,我试图获取一些数据:(范围只是 Sheet3,因为我想要所有可用的行)

但是正如你所看到的,由于我没有应用任何过滤器,它只是给了我一切 - (我要求majorDimension应该是ROWS

我应该怎么做,为了得到所有包含For Class = 7的行,保持majorDimension为ROWS

【问题讨论】:

    标签: curl google-sheets google-sheets-api


    【解决方案1】:

    问题:

    在 Sheets API 请求期间,无法根据列值过滤行。有batchGetByDataFilter,但它只允许你根据指定范围或DeveloperMetadata进行过滤。

    解决方法:

    也就是说,您可以在收到 API 的响应后轻松过滤该数据。我不知道您使用的是什么语言,但例如,如果您使用的是 Node,它可能是这样的:

    const filteredRows = response["values"].filter(row => row[0] == "7");
    console.log(filteredRows);
    

    其中response 对应于来自spreadsheets.values.get 的API 响应。

    【讨论】:

      【解决方案2】:

      我不太确定你在那里发生了什么。但是,如果您只是打开一个新工作表并将以下公式放入该空白新工作表的 A1 中,它应该会产生我认为您想要的结果:

      =ArrayFormula({Sheet3!A1:F1; FILTER(Sheet3!A2:F,Sheet3!A2:A=7)})

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-17
        • 2018-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-24
        相关资源
        最近更新 更多