添加 sheet 名称作为要在 Google 工作表中查询的列

Adding sheet name as column to query in Google Sheets

我的电子游戏 collection 有一个 Google 表格文档。每个控制台系统都有自己的 sheet,但我决定将所有 sheet 合并为一个新的 sheet 作为概览,使用如下所示的查询:

=query({NES!A2:C;SNES!A2:C},"Select Col1, Col2, Col3 where Col1 is not null order by Col2 desc", 1)

效果很好,我很满意。然而,我的 collection 非常大,跨越 20 多个控制台,所以有时我看到一个游戏,我忘记了我拥有它的系统。所以我想添加第 4 列,其中包含该行来自的 sheet 的名称(因为每个 sheet 都是以控制台命名的)。

如果每个控制台都有自己的字体/或background-color,那就太棒了,也许 Google Sheets 分配给 sheet 范围的颜色也可以是手动的,没关系,只要颜色不同就行。

最简单的方法就是构建 VR table:

=ARRAYFORMULA(QUERY(
 {{NES!A2:C,  TRANSPOSE(SPLIT(REPT("NES"&"♦",  ROWS(NES!A2:A)),  "♦"))}; 
  {SNES!A2:C, TRANSPOSE(SPLIT(REPT("SNES"&"♦", ROWS(SNES!A2:A)), "♦"))}},
 "where Col1 is not null order by Col2 desc"))