随着新工作表不断添加到Google表格中,从其他工作表中提取唯一值

杰西曼

我正在尝试从不确定数目的工作表的A列中生成唯一项的列表。想法是随着时间的流逝,将添加更多的工作表,并且我不想更新公式来说明新工作表。

测试/示例电子表格https://docs.google.com/spreadsheets/d/193ZTAbn8R-HjwDn2LE2eDDVJk_LbY4V5P9J6ynES6wo/edit#gid=0

在示例中,工作表List1,List2和List3是我要从中创建一个组合列表(在工作表“ CombinedList”中)的列表,其中每个工作表的列A中都出现了这些项目。如“期望的结果”表所示,我希望得到一个表,该表从每个列表中提取与每个项目相关的值。我可以在创建新工作表时将它们手动添加到行1中。只是我困住了A列中项目列表的生成。

我本来是在做以下事情,

=ARRAYFORMULA(UNIQUE(QUERY({'List1'!A2:A;'List2'!A2:A}, 
 "select Col1 where Col1 is not null")))

但是我不必写出所有要查询的列表的名称,而是想使用INDIRECT()之类的东西来引用在第1行中列出的工作表。但是,我已经阅读了INDIRECT和ARRAYFORMULA的几个地方彼此之间不要玩得很好。

玩家0

您可以使用以下脚本:

function SNAME(option) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet()
var thisSheet = sheet.getName(); 
if(option === 0){                  // ACTIVE SHEET NAME =SNAME(0)
return thisSheet;
}else if(option === 1){            // ALL SHEET NAMES   =SNAME(1)
var sheetList = [];
ss.getSheets().forEach(function(val){
   sheetList.push(val.getName())
});
return sheetList;
}else if(option === 2){            // SPREADSHEET NAME  =SNAME(2)
return ss.getName();

}else{
return "#N/A";                     // ERROR MESSAGE
};
};

function onEdit() { 
var sheet = SpreadsheetApp.getActive().getSheetByName('Master Sheet');  
var src = sheet.getRange("A1");
var str = src.getValue(); 
var cell = sheet.getRange("A2"); 
cell.setFormula(str);
}

然后将其粘贴到主表的A1中:

=ARRAYFORMULA("=ARRAYFORMULA(QUERY({"&TEXTJOIN("; ", 1, 
 FILTER(SNAME(1), SNAME(1)<>SNAME(0))&"!A2:B, "&
 FILTER(SNAME(1), SNAME(1)<>SNAME(0))&"!C2:C&"&
 FILTER(SNAME(1), SNAME(1)<>SNAME(0))&"!A1")&
 "}, ""select Col1,max(Col2) where Col1 is not null group by Col1 pivot Col3""))")

0

如果添加了新工作表,这将满足您所有不需要通过添加引用来编辑公式的需求。唯一的缺点是要重新计算工作表名称脚本...为此,您需要拆除A1公式,例如,'在前导=Enter之前添加,然后将其删除以修复公式

电子表格演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用其他工作表中的最大列值在新工作表中创建新表

来自分类Dev

将工作表添加到现有的Excel工作表中而不删除其他工作表

来自分类Dev

将列添加到其他工作表

来自分类Dev

如何根据唯一 ID Nr 将工作表 1 中的值添加到同一 Excel 文件中的另一个工作表?

来自分类Dev

根据搜索查找单元格,更改其值,然后添加到新工作表的列表中?

来自分类Dev

如何使用EPPlus将新工作表添加到现有的Excel文件中?

来自分类Dev

通过Google Sheets API v4将新工作表添加到现有电子表格

来自分类Dev

将提交的值添加到Google工作表中的现有单元格值

来自分类Dev

从列中的唯一值创建新工作表并粘贴整行 - 大数据集

来自分类Dev

如何使用其他工作表中的所有值填充Google文档中的一个工作表?

来自分类Dev

使用VBA或任何其他方式将列名称添加到EXCEL中的多个工作表中

来自分类Dev

通过Google表格中的列名称将一个单元格值从一个工作表中提取到另一个工作表中

来自分类Dev

通过Google表格中的列名称将一个单元格值从一个工作表中提取到另一个工作表中

来自分类Dev

VBA从母版工作表复制一行,然后将其添加到每个提取工作表中的数据底部

来自分类Dev

SQL查询基于同一表中其他列的值从表中提取日期?

来自分类Dev

Excel宏,用于从一个工作表中的特定字段复制数据,仅保留该值并将其添加到另一工作表中

来自分类Dev

使用其他工作表的单元格值基于相对引用的Google表格条件格式

来自分类Dev

从前一张工作表中提取数据以填充当前工作表中的值

来自分类Dev

引用其他工作表时如何使用Google表格中的操作

来自分类Dev

在Google表格中的其他工作表上查找范围内的子字符串

来自分类Dev

根据其他工作表上的复选框在Google表格中过滤下拉列表

来自分类Dev

引用其他工作表时如何使用Google表格中的操作

来自分类Dev

从Google工作表复制A1值,然后复制到其他Google工作表的B列中的第一行

来自分类Dev

通过串联其他列中的值将列添加到表中

来自分类Dev

在现有电子表格谷歌工作表中创建一个新工作表

来自分类Dev

过滤每个值,将每个表格复制并粘贴到新工作表中

来自分类Dev

防止用户在共享的Google电子表格中创建新工作表

来自分类Dev

使用Google工作表脚本时,如何在不创建新工作表副本的情况下将电子表格的工作表复制到另一个电子表格中?

来自分类Dev

如何使一个Excel工作表中的值在递增的同时传播到其他工作表中?

Related 相关文章

  1. 1

    用其他工作表中的最大列值在新工作表中创建新表

  2. 2

    将工作表添加到现有的Excel工作表中而不删除其他工作表

  3. 3

    将列添加到其他工作表

  4. 4

    如何根据唯一 ID Nr 将工作表 1 中的值添加到同一 Excel 文件中的另一个工作表?

  5. 5

    根据搜索查找单元格,更改其值,然后添加到新工作表的列表中?

  6. 6

    如何使用EPPlus将新工作表添加到现有的Excel文件中?

  7. 7

    通过Google Sheets API v4将新工作表添加到现有电子表格

  8. 8

    将提交的值添加到Google工作表中的现有单元格值

  9. 9

    从列中的唯一值创建新工作表并粘贴整行 - 大数据集

  10. 10

    如何使用其他工作表中的所有值填充Google文档中的一个工作表?

  11. 11

    使用VBA或任何其他方式将列名称添加到EXCEL中的多个工作表中

  12. 12

    通过Google表格中的列名称将一个单元格值从一个工作表中提取到另一个工作表中

  13. 13

    通过Google表格中的列名称将一个单元格值从一个工作表中提取到另一个工作表中

  14. 14

    VBA从母版工作表复制一行,然后将其添加到每个提取工作表中的数据底部

  15. 15

    SQL查询基于同一表中其他列的值从表中提取日期?

  16. 16

    Excel宏,用于从一个工作表中的特定字段复制数据,仅保留该值并将其添加到另一工作表中

  17. 17

    使用其他工作表的单元格值基于相对引用的Google表格条件格式

  18. 18

    从前一张工作表中提取数据以填充当前工作表中的值

  19. 19

    引用其他工作表时如何使用Google表格中的操作

  20. 20

    在Google表格中的其他工作表上查找范围内的子字符串

  21. 21

    根据其他工作表上的复选框在Google表格中过滤下拉列表

  22. 22

    引用其他工作表时如何使用Google表格中的操作

  23. 23

    从Google工作表复制A1值,然后复制到其他Google工作表的B列中的第一行

  24. 24

    通过串联其他列中的值将列添加到表中

  25. 25

    在现有电子表格谷歌工作表中创建一个新工作表

  26. 26

    过滤每个值,将每个表格复制并粘贴到新工作表中

  27. 27

    防止用户在共享的Google电子表格中创建新工作表

  28. 28

    使用Google工作表脚本时,如何在不创建新工作表副本的情况下将电子表格的工作表复制到另一个电子表格中?

  29. 29

    如何使一个Excel工作表中的值在递增的同时传播到其他工作表中?

热门标签

归档