使用Google电子表格查询语言获取行号

tfc*_*hen 5 google-sheets google-apps-script

我想用查询语言获取我需要的数据的行号,ig:选择A,ROW_NUMBER()其中(B = 1).

但似乎查询语言不提供如下函数:ROW_NUMBER()?

除了查询整个列并在JavaScript中计算之外,我该怎么做?

小智 10

请注意,当电子表格位于使用逗号作为小数点分隔符的区域设置时,您需要将 { 数组表达式 } 中的逗号更改为反斜杠,\\并将其余逗号更改为分号,;如下所示:

\n
=arrayformula( query({A2:B \\ row(A2:B)}; "select Col1, Col3 where Col2 = 1"; 0) )\n
Run Code Online (Sandbox Code Playgroud)\n

阵列帮助页面

\n
\n

\\注意:对于使用逗号作为小数点分隔符的国家/地区(例如\n\xe2\x82\xac1,00),创建数组时\n逗号将替换为反斜杠 ( )。

\n
\n

要设置电子表格区域设置,请选择“文件”>“电子表格设置”

\n


小智 8

您可以arrayformula(row(...))在查询范围中添加一列,并将其包含在结果中.例:

=query({A2:B, arrayformula(row(A2:B))}, "select Col1, Col3 where Col2 = 1")
Run Code Online (Sandbox Code Playgroud)

这里Col1 = A,Col2 = B,Col3 =添加了行号.由于要查询的数组是在公式中构造的,因此其列称为Col1,Col2,依此类推.