tkp*_*tkp 6 arrays excel filter google-sheets google-query-language
我发现 Excel 的新动态数组最有用的方面之一是 # 运算符让我可以引用行数未知(并且易于更改)的一系列单元格。Google 表格中有类似的东西吗?
例如(在此处查看;在此处下载)。假设我有一个简单的两列原始数据数组,第一列包含姓名,第二列包含年龄。然后,我使用 FILTER() 创建一个新数组,让电子表格的用户选择一个年龄来过滤原始数据。然后我对经过筛选的数组执行一些进一步的操作。
因为我无法提前知道用户将选择哪个年龄作为过滤条件,所以我无法提前知道生成的 FILTER'ed 数组将有多少行,这可能是一个问题。但是,对于 Excel,我不需要知道,因为我可以使用 # 运算符来访问经过 FILTER 处理的数组,而无需知道大小。或者我可以使用 ROWS(G2#) - 假设这是数组左上角的单元格 - 来获取我想要的数字。
Google Sheets 有类似的东西吗?
需要明确的是:我可以想出各种方法在 Google Sheets 中实现与在 Excel 中获得的效果几乎相同的效果。但它们既麻烦又耗时。我正在寻找像 Excel 的 # 运算符一样简单和容易的东西,但我可能只是忽略了它。
有没有?
在谷歌表格中你做:
G2:G
Run Code Online (Sandbox Code Playgroud)
或者如果你想限制它,那么:
G2:G100
Run Code Online (Sandbox Code Playgroud)
这可以在公式中用作范围。如果你想独立使用它,你就可以
={G2:G}
Run Code Online (Sandbox Code Playgroud)
或者:
=INDEX(G2:G)
Run Code Online (Sandbox Code Playgroud)
或者:
=ARRAYFORMULA(G2:G)
Run Code Online (Sandbox Code Playgroud)
在您的场景中您将使用:
=FILTER(A:A; B:B>=18)
Run Code Online (Sandbox Code Playgroud)
或者您可以使用 sql 查询,例如:
=QUERY(A:B; "select A where B >= 18")
Run Code Online (Sandbox Code Playgroud)