Google表格查询在结果中返回自动增量

问题描述

我需要从查询中返回一个两列表,其中第一列显示位置顺序,然后是全名。所以基本上在 MysqL 形式中它会是一个自动增量,但我无法让它工作。我正在使用 =arrayformula(QUERY({G4:G18,arrayformula(row(G4:G18)) & ". " & H4:H18&" "&I4:I18,J4:J18},"SELECT Col2,Col3 WHERE Col1 = 'Yes' ORDER BY Col3 ASC LABEL Col2 '',Col3 ''")) ,我意识到 row(G4:G18) 只是要返回行号,但我已经尝试了我能想到的所有其他方法,但无法使其正常工作。任何帮助是极大的赞赏。 注意:出于各种原因,我希望将其保留在查询表单与过滤器中。谢谢。

Scenario

Sample sheet to see in action

解决方法

我想出了一个解决方案,但要做到这一点,我需要进行 2 个查询。 1 返回带有递增数字的全名,另一个返回人员 ID。请看下面的截图:

第一个查询(对于带有递增数字的全名):

=INDEX(arrayformula(ifna(arrayformula(row(G4:G18)-3) & ". " & QUERY({G4:G18,H4:H18&" "&I4:I18,J4:J18},"SELECT Col2,Col3 WHERE Col1 = 'Yes' ORDER BY Col3 ASC LABEL Col2 '',Col3 ''"),"")),1)

enter image description here

第二次查询(针对人员 ID)

=INDEX(arrayformula(QUERY({G4:G18,Col3 ''")),2)

enter image description here

它们基本上是相同的查询,但我将它们分成两部分,以便将递增值连接到全名。我尝试仅使用 1 个查询来执行此操作,但会发生在 Person ID 列中也会看到递增值(例如 1. 2,2. 3,3. 5)。如果此解决方案能解决您的问题,请告诉我。