当前位置: 首页 > 知识库问答 >
问题:

从多个工作表中获取值

钮才哲
2023-03-14

我试图从跨多个工作表的考勤中找到员工ID,并将时间戳拉到单个工作表中。

我在Excel中做过类似的事情,我猜可以在谷歌表格中使用谷歌应用脚本完成。

如果有人能引导我使用谷歌表单中的内置或自定义功能,那将非常有帮助。

共有1个答案

伯晨
2023-03-14

我会用一个基本的大纲、一些建议和一些资源来帮助你,但是不要指望我能写完整件事。

步骤1-创建自定义菜单选项

您希望能够从电子表格中访问您的脚本。您可以通过创建自定义菜单选项来实现这一点。这是谷歌关于自定义菜单的一篇文章。

虽然html" target="_blank">google使用简单的触发器onOpen,但我发现可安装的触发器更可靠。

步骤2-获取用户输入

如果能提示输入员工的id,并让脚本发挥作用,那就太棒了。这里有一篇由谷歌撰写的关于对话框和侧边栏的文章,讨论了如何为脚本获取用户输入。

步骤3-从电子表格读取和写入数据

您可以使用SpreadsheetApp访问电子表格数据。当从自定义菜单调用您的脚本时,您可以使用SpreadsheetApp.getActiveSpreadSheetA;但是,如果您想在脚本编辑器中测试您的代码,则没有活动电子表格,因此使用SpreadsheetApp.openById代替。

通过访问电子表格,您可以调用:

spreadsheet.getSheetByName("name").getRange(1, 1, 2, 2).getValues();
spreadsheet.getSheetByName("name").getRange(1, 1, 2, 2).setValues([[1, 2], [3, 4]]);

请注意,getValuessetValues使用二维数组

警告-像往常一样,I/O需要很多流转时长,因此避免多余地调用getRange()。这篇关于appcript最佳实践的谷歌文章将更详细地介绍。此外,如果你有很多考勤表,那么你可能需要考虑把它们浓缩成一张。

第4步-获得适当的表格

您需要以某种方式区分电子表格中的哪些工作表是考勤表:

function isAttendanceSheet(sheet) {
  return /Magical regex/.test(sheet.getName);
}

var sheets = spreadsheet.getSheets().filter(isAttendanceSheet);

想出适合你的神奇正则表达式,这将过滤它们。

希望这对你有帮助,祝你好运!

 类似资料:
  • 问题内容: 我在单个SQL语句中从多个表中提取Sums时遇到问题。 我有三个表tblCases,tblTimesheetEntries和tblInvoices在tblCases和其他两个表之间存在一对多的关系。 我目前正在使用以下SQL语句 但是,这似乎重复了发票金额。例如,如果一个案例只有一张发票,但是说有4个时间表条目,则它将计算出发票金额的4倍作为该表的总和。 如果我将分组取出,然后运行以下

  • 我正在使用hibernate 4和Spring 3。 我有5个表,每个表映射一个实体类。现在,如果我必须从1个表中选择列,我将执行以下操作: 此结果中的此值将为EmployeeEntity类型。 或者我也可以使用标准。 现在我的要求是我必须从所有5个表中得到结果。每个表中有1-2列。 早些时候,它是一个1表,所以我得到了一个实体,现在我得到了5个表的结果,所以如何在实体中映射它。 List res

  • 我对宏是新手,需要帮助。我在一个文件夹中有几个工作簿,每个工作簿有四个工作表。现在我想要一个mocro它复制数据从每个工作簿(工作表明智)和过去在我的主工作簿(工作表明智)意味着数据1应该被粘贴一个在另一个下面在我的主工作簿在工作表1和工作表2分别。*工作簿名称可以是文件夹中的任何东西。有人能帮我完成整个代码吗?我有宏从一张表到我分配的表的数据,但它复制粘贴数据从打开的表,而不是按表名明智的。有人

  • 表 1:发票(inv_id、inv_value、cust_id) 表 2:客户(cust_id、sales_rep) 表 3:成员(Member_id、member_cateogry、member_type、cust_id) 注1:每个客户支付多张发票。(一对多关系)。< br >注2:每个客户为一个或多个会员付费(因此一个客户可能与多个会员相关)。< br >注3:每个成员都有一个类别,可以是1

  • 问题内容: 没有多个子查询,我想不出一个查询此问题的好方法。我无法重组表,所以这不是一种选择。设置如下: 面对面的每个ID的类型均为person_status_types。我需要提取的是每个id的本人的status_type_name。 所以return语句看起来像这样: 现在,我只在做4个子查询,但是必须有一种更清洁的方法。另外,如果您想提一个更好的数据库结构,我也很乐意为将来的数据库生产做准备

  • 问题内容: K,所以我有两个表: 我想从类别中获取所有信息,并计算每个类别中的问题数(question_id)。 假设,第一个类别(计费)将有一个问题,第二个类别(安全)将有3个问题。 我已经试过了: 问题答案: 您想这样做: 在将确保没有问题类别获得与数= 0上市