google-sheets - Google Sheets - 在上一个工作表的同一单元格中获取值

标签 google-sheets

我正在创建一个锻炼电子表格来跟踪我每周的表现,每张表格都涵盖了一周的锻炼。每张纸(除了第一张)都是前一张纸的副本,我想从上一张纸中继承一些值;例如,前一周的练习次数。

我已经阅读了一些 API,但似乎无法找到一个函数来选择调用该函数的当前工作表。如果它存在,我可以获取索引并从中减去以获得上一张表,然后从给定的行和列中获取一个值。但是,我能找到的最接近的事情是访问“事件”表 - 似乎是使用 setActiveSheet() 函数设置的。但是我不知道如何在一个用于多个不同单元格的脚本中使用它。

我在这里遗漏了什么,还是有更好的方法来获取有关当前所选工作表的信息?您可以提供的任何帮助都会非常有帮助。谢谢!

[编辑] 我的电子表格位于此处:https://docs.google.com/spreadsheets/d/1b8rDYxbb_6ltI0GvKcmKyz1Y3IV3BSrgWp8Mf2l18cc/edit?usp=sharing

此外,我将在下面发布脚本。

最佳答案

要获取当前工作表,您可以使用 .getActiveSheet() 然后使用 .getIndex()。然后从那里减去。请注意, .getIndex() 是 1-indexed。因此,第一张工作表的索引为 1。如果您想将其与 .getSheets()(零索引)结合使用,则必须执行 -2 才能到达上一张工作表。如果需要,您可能需要进行一些错误处理(以防您已经在第一张纸上)。例如:

function previous() {
var ss = SpreadsheetApp.getActive();
var curSheet = ss.getActiveSheet();
var prevSheet = ss.getSheets()[curSheet.getIndex() - 2];
prevSheet ? Logger.log(prevSheet.getName()) : SpreadsheetApp.getUi()
    .alert("Active Sheet is the first sheet !");
}

关于google-sheets - Google Sheets - 在上一个工作表的同一单元格中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27096716/

相关文章:

google-apps-script - 计算 Google 表格中具有特定背景颜色的单元格

google-apps-script - 将 .XLSX 转换为 Google 表格并移动转换后文件的脚本

google-sheets - 如何删除 Google 表格中选定单元格上的网格线?

javascript - 使用谷歌应用程序脚本滚动电子表格到今天的日期

javascript - 如果更新了具有值触发器的行中的任何单元格,sendNotification 将继续发送电子邮件

google-apps-script - 按特定顺序对 Google 电子表格单元格求和

google-api - 使用基于列表的提要 API 和 "sq"参数从 Google 电子表格中检索一系列行

javascript - 阻止 onEdit 在某些选项卡上运行

google-apps-script - 事件中的 URLfetch 失败

mobile - Google Sheets 自定义函数在移动应用程序中永远显示 "Loading..."