如何在 Google 工作表中使用 Query() 函数添加每个数据行的行索引?

How to Add Row Index of each data row using Query() function in Google Sheets?

有没有办法像在查询中使用 row() 函数一样使用查询函数获取行索引?

这是我的查询 SQL。 查询来源来自2个不同的工作表。因此,当下一个源被选择到查询中时,行索引应该重新设置为 1。

={
                query(IMPORTRANGE('Static Data'!$B,'Static Data'!$B),
                        "select Col" &  ArrayFormula(textjoin(", Col",true,column('Static Data'!$A:$AC))) & ", 'BAU'
                        where 
                        Col"& 'Static Data'!$B &" is not null
                        label 'BAU' 'SOURCE'", 
                1);
                
                query(IMPORTRANGE('Static Data'!$B,'Static Data'!$B),
                        "select Col" &  ArrayFormula(textjoin(", Col",true,column('Static Data'!$A:$AC))) & ", 'ICS'
                        where 
                        Col"& 'Static Data'!$B &" is not null
                        label 'ICS' ''", 
                0)`}

编辑 (24/Aug/2021):

根据下面评论的建议,最终的代码看起来像这样。我将 rowId 移到了 table 的末尾,因为那是我希望它放置的位置。

=INDEX({QUERY({IMPORTRANGE('Static Data'!$B, 'Static Data'!$B),SEQUENCE(ROWS(
 IMPORTRANGE('Static Data'!$B, 'Static Data'!$B)))},
 "select Col1,Col"&TEXTJOIN(",Col", 1, 1+COLUMN('Static Data'!$A:$AC))&",'BAU'
  where Col"&1+'Static Data'!$B&" is not null
  label 'BAU''SOURCE'", 1);
 QUERY({IMPORTRANGE('Static Data'!$B, 'Static Data'!$B),SEQUENCE(ROWS(
 IMPORTRANGE('Static Data'!$B, 'Static Data'!$B)))+1},
 "select Col1,Col"&TEXTJOIN(",Col", 1, 1+COLUMN('Static Data'!$A:$AC))&",'ICS'
  where Col"&1+'Static Data'!$B&" is not null
  label 'ICS'''", )})
={query({sequence(ROWS(IMPORTRANGE('Static Data'!$B,'Static Data'!$B))),IMPORTRANGE('Static Data'!$B,'Static Data'!$B)},
                        "select Col1, Col" &  ArrayFormula(textjoin(", Col",true,1+column('Static Data'!$A:$AC))) & ", 'BAU'
                        where 
                        Col"& (1+'Static Data'!$B) &" is not null
                        label 'BAU' 'SOURCE'", 
                1);
 query({sequence(rows(IMPORTRANGE('Static Data'!$B,'Static Data'!$B))),IMPORTRANGE('Static Data'!$B,'Static Data'!$B)},
                        "select Col1, Col" &  ArrayFormula(textjoin(", Col",true,1+column('Static Data'!$A:$AC))) & ", 'ICS'
                        where 
                        Col"& (1+'Static Data'!$B) &" is not null
                        label 'ICS' ''", 
                0)}

尝试更紧凑:

=INDEX({QUERY({SEQUENCE(ROWS(
 IMPORTRANGE('Static Data'!B2, 'Static Data'!B3))), 
 IMPORTRANGE('Static Data'!B2, 'Static Data'!B3)},
 "select Col1,Col"&TEXTJOIN(",Col", 1, 1+COLUMN('Static Data'!A22:AC22))&",'BAU'
  where Col"&1+'Static Data'!B22&" is not null
  label 'BAU''SOURCE'", 1);
 QUERY({SEQUENCE(ROWS(
 IMPORTRANGE('Static Data'!B2, 'Static Data'!B5))),
 IMPORTRANGE('Static Data'!B2, 'Static Data'!B5)},
 "select Col1,Col"&TEXTJOIN(",Col", 1, 1+COLUMN('Static Data'!A22:AC22))&",'ICS'
  where Col"&1+'Static Data'!B22&" is not null
  label 'ICS'''", )})