Google sheets 如何将文本连接到Google工作表中的过滤列?

Google sheets 如何将文本连接到Google工作表中的过滤列?,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,我正在使用谷歌表单和谷歌表单。我正在尝试创建一个汇总表,它将在填写表单时自动更新 我已经能够使用过滤功能从其他表单中提取数据。现在,我想在过滤列中添加一列,显示国家的名称。我尝试使用concatenate,但效果不如我所希望的那样好。有人能帮我找出解决这个问题的方法吗 请看一个问题的例子。这是一种非常不雅的暴力方式,但我认为它是有效的。请参阅工作表中的解决方案GK =QUERY({ {TRANSPOSE(SPLIT(REPT("Nigeria~",ROWS(UNIQUE

我正在使用谷歌表单和谷歌表单。我正在尝试创建一个汇总表,它将在填写表单时自动更新

我已经能够使用过滤功能从其他表单中提取数据。现在,我想在过滤列中添加一列,显示国家的名称。我尝试使用concatenate,但效果不如我所希望的那样好。有人能帮我找出解决这个问题的方法吗


请看一个问题的例子。

这是一种非常不雅的暴力方式,但我认为它是有效的。请参阅工作表中的解决方案GK

=QUERY({
   {TRANSPOSE(SPLIT(REPT("Nigeria~",ROWS(UNIQUE(FILTER(NIGERIA!A:E,NIGERIA!C:C<TODAY(),NIGERIA!B:B="Charity Fundraiser")))),"~")),
                                         UNIQUE(FILTER(NIGERIA!A:E,NIGERIA!C:C<TODAY(),NIGERIA!B:B="Charity Fundraiser"))}; 
   {TRANSPOSE(SPLIT(REPT("Sierra Leone~",ROWS(UNIQUE(FILTER('SIERRA LEONE'!A:E,'SIERRA LEONE'!C:C<TODAY(),'SIERRA LEONE'!B:B="Charity Fundraiser")))),"~")),
                                              UNIQUE(FILTER('SIERRA LEONE'!A:E,'SIERRA LEONE'!C:C<TODAY(),'SIERRA LEONE'!B:B="Charity Fundraiser"))}},
  "select Col1,Col2,Col3,Col4, Col5 where Col2 is not null")
=查询({

{TRANSPOSE(SPLIT(REPT)(“Nigeria~”),ROWS(UNIQUE)(FILTER)(Nigeria!A:E,Nigeria!C:C)这是一种非常不雅观的暴力方式,但我认为它是有效的。请参阅您的工作表中的解决方案GK

=QUERY({
   {TRANSPOSE(SPLIT(REPT("Nigeria~",ROWS(UNIQUE(FILTER(NIGERIA!A:E,NIGERIA!C:C<TODAY(),NIGERIA!B:B="Charity Fundraiser")))),"~")),
                                         UNIQUE(FILTER(NIGERIA!A:E,NIGERIA!C:C<TODAY(),NIGERIA!B:B="Charity Fundraiser"))}; 
   {TRANSPOSE(SPLIT(REPT("Sierra Leone~",ROWS(UNIQUE(FILTER('SIERRA LEONE'!A:E,'SIERRA LEONE'!C:C<TODAY(),'SIERRA LEONE'!B:B="Charity Fundraiser")))),"~")),
                                              UNIQUE(FILTER('SIERRA LEONE'!A:E,'SIERRA LEONE'!C:C<TODAY(),'SIERRA LEONE'!B:B="Charity Fundraiser"))}},
  "select Col1,Col2,Col3,Col4, Col5 where Col2 is not null")
=查询({

{TRANSPOSE(SPLIT(REPT)(“Nigeria~”),ROWS(UNIQUE)(FILTER)(Nigeria!A:E,Nigeria!C:C您可以使用应用程序脚本来完成此操作

首先,通过选择工具>脚本编辑器打开绑定脚本,并将以下函数复制到脚本中(有关代码的详细信息,请查看内联注释):

//版权所有2020谷歌有限责任公司。
//SPDX许可证标识符:Apache-2.0
功能总结(筹款)(表名,范围){
const ss=SpreadsheetApp.getActiveSpreadsheet();
sheetNames=sheetNames.split(,“”;//以逗号分隔的字符串到工作表名称数组
const filteredData=sheetNames.map(sheetName=>{//遍历每个工作表名称
const sheet=ss.getSheetByName(sheetName);
if(sheet){//检查是否存在具有此名称的工作表
const sheetData=sheet.getRange(2,1,sheet.getLastRow()-1,4).getValues();//源工作表数据
常量filteredData=sheetData.filter(行数据=>{
return rowData[1]=“慈善筹款人”&&rowData[2]<新日期()
});//根据事件的日期和类型筛选数据
filteredData.forEach(filteredRow=>filteredRow.unshift(sheetName));//将工作表名称添加到筛选的数据中
返回过滤器数据;
}  
}).flat();
返回过滤器数据;
}
定义后,您可以使用功能
总结筹款活动
与任何内置功能相同。此功能将接受一系列参数:

  • 以逗号分隔的字符串,其中包含应汇总其数据的工作表的名称(不要在逗号或类似字符后添加空格)
  • 不同的来源范围(在您的案例中,
    NIGERIA!A:E
    “塞拉利昂”!A:E
这两种方法都是必要的,因为一方面,将源范围指定为参数可以确保每次编辑源范围时函数都会执行并更新汇总数据,另一方面,当作为参数传递时,这些源范围不包含有关工作表名称的信息,而脚本返回汇总数据时,我将需要

调用函数的示例:

参考:

您可以通过应用程序脚本来实现这一点

首先,通过选择工具>脚本编辑器打开绑定脚本,并将以下函数复制到脚本中(有关代码的详细信息,请查看内联注释):

//版权所有2020谷歌有限责任公司。
//SPDX许可证标识符:Apache-2.0
功能总结(筹款)(表名,范围){
const ss=SpreadsheetApp.getActiveSpreadsheet();
sheetNames=sheetNames.split(,“”;//以逗号分隔的字符串到工作表名称数组
const filteredData=sheetNames.map(sheetName=>{//遍历每个工作表名称
const sheet=ss.getSheetByName(sheetName);
if(sheet){//检查是否存在具有此名称的工作表
const sheetData=sheet.getRange(2,1,sheet.getLastRow()-1,4).getValues();//源工作表数据
常量filteredData=sheetData.filter(行数据=>{
return rowData[1]=“慈善筹款人”&&rowData[2]<新日期()
});//根据事件的日期和类型筛选数据
filteredData.forEach(filteredRow=>filteredRow.unshift(sheetName));//将工作表名称添加到筛选的数据中
返回过滤器数据;
}  
}).flat();
返回过滤器数据;
}
定义后,您可以使用功能
总结筹款活动
与任何内置功能相同。此功能将接受一系列参数:

  • 以逗号分隔的字符串,其中包含应汇总其数据的工作表的名称(不要在逗号或类似字符后添加空格)
  • 不同的来源范围(在您的案例中,
    NIGERIA!A:E
    “塞拉利昂”!A:E
这两种方法都是必要的,因为一方面,将源范围指定为参数可以确保每次编辑源范围时函数都会执行并更新汇总数据,另一方面,当作为参数传递时,这些源范围不包含有关工作表名称的信息,而脚本返回汇总数据时,我将需要

调用函数的示例:

参考:

我在源工作表中看不到国家/地区名称。这些国家/地区名称位于何处?它们是否仅位于工作表名称中?在这种情况下,您是否愿意使用应用程序脚本自定义功能?我愿意使用应用程序脚本功能。只要有效,我就无法在源工作表中看到国家/地区名称。这些国家/地区名称位于何处?它们是否仅位于工作表名称?在这种情况下,您是否愿意使用应用程序脚本自定义功能?我愿意使用应用程序脚本功能。只要它有效