在同一电子表格中跨两个Google表格导入列

时间:2015-05-21 18:05:54

标签: google-apps-script google-sheets google-spreadsheet-api

我有一个电子表格,其中包含我的成员的数据库。在同一个电子表格中,我有另一张表,我将跟踪每个成员的活动出席情况。

第一期:

现在,我想在第二张表中使用第一张表中的名称,以避免在每个地方更新名称。我没有找到任何功能来实现这一点,所以我决定使用更昂贵的importrange,给出相同电子表格的密钥。

=>还有其他选择吗?

我面临的第二个问题是:

考虑我将Sheet1中的列A(FirstName)和B(LastName)导入Sheet 2中的A列和B列。与此一起,在Sheet 2中,后续列C,D,E中有事件的日期,等

它看起来像这样:

FirstName | LastName | 1stMay15 | 30thApr15 | 29thApr15

Jack      | Smith    | Present  | Absent    | Present
Mark      | Smith    | Absent   | Absent    | Present

等等......

现在,当我在Sheet1中为一个新成员在中间某处添加一个新条目(因为它的名称已排序)时,由于importRange函数,新单元格被添加到Sheet2中的位置(相应于Sheet1),但是在Sheet2中没有添加新行 - 因此,如果我在Jack和Mark之间添加新成员Kyle Smith,现在Kyle对应Mark的出席。

即。

FirstName | LastName | 1stMay15 | 30thApr15 | 29thApr15

Jack      | Smith    | Present  | Absent    | Present
Kyle      | Smith    | Absent   | Absent    | Present
Mark      | Smith    |          |           | 

如何让它添加新行,以便每个人的出勤率保持不变?

以下是演示电子表格: https://docs.google.com/spreadsheets/d/15Hr-upZvTXm0c2kAau9G2AQ-7mdqkVkZhItBWqGQYEQ/edit?usp=sharing

现在,在"数据库"如果你添加一个新名字,那就是表格"凯尔史密斯"在其他名称中的某处,然后在出勤表中,名称被添加到正确的位置,但其余数据不会向下移动。

我对各种解决方案持开放态度,甚至使用Google Scripts。

2 个答案:

答案 0 :(得分:1)

第一期

我发现导入范围是一个很好的工具并且一直使用它。它可能很慢,但对于普通的应用程序,它很好。对于出席,这绝对没问题。我看了一下,目前还没有找到任何出色的替代方案(显然你可以使用一个速度相同的脚本)。

第二期

我无法直接编写脚本,但您可以在电子表格2的单独工作表中导入范围,然后在sheet2,电子表格2中插入新行时触发脚本以搜索此新名称的位置第1页,电子表格2并在那里插入一行。这似乎有点矫枉过正。

如果我是你,除非你输出数据并按字母顺序排序,否则我不会对它们进行排序。在这种情况下,在导出时,您可以应用过滤器并对数据进行排序。这会奏效。显然不是你理想的解决方案。

答案 1 :(得分:0)

我试图做同样的事情,得到了丹尼尔的一些帮助。查看我的帖子和他的解决方案,这是一个谷歌脚本的组合,用于生成从工作表到工作表传输的ID以及Vlookup功能。它可能对您有所帮助。 Copying Data Sheet1 to Sheet2 so you can sort & edit both sheets (google apps script?)