在 Google 个工作表中使用查询进行动态列选择

Dynamic column selection using Query in Google Sheets

我有一个价差sheet,用于计算按地点工作的小时数并生成发票金额。我想出了一种(相当脆弱的)方法来实现这一点,即在已排序的资源列表中使用 SUMPRODUCT。但是,这显然无法扩展。

我突然想到,我可以将 QUERY 函数与 SUMPRODUCT 一起使用,并且无需将人工结构强加到数据集上。但是,由于需要在我的 spreadsheet 中的每一列中复制此公式,并且由于列选择器是 SELECT 语句字符串的一部分,因此当我在每个单元格中复制公式时,它不会动态调整在行中。我尝试使用 COLUMN() 构建公式来动态构建 SELECT 语句,但一直出现解析错误。

这里是sheet:https://docs.google.com/spreadsheets/d/1EK2UcgsBqzb3Pfky8SALlTSEdeYvviv3QeyEPDu2mF0/edit?usp=sharing

有人可以帮我吗?

尝试:

=INDEX(QUERY(QUERY(SPLIT(FLATTEN(
 IF(C3:K10="",,B3:B10&"×"&C3:K10*L3:L10&"×"&C2:K2)), "×"), 
 "select Col1,sum(Col2) 
  where Col2 is not null
  group by Col1
  pivot Col3"),
 "offset 1", ))