我们正在使用 Google 表格来跟踪出勤情况。以前,教师为每个时段输入 P、T 或 A(表示出席、迟到、缺席)。我仍然希望用户可以选择为一周中的每个时间段输入一个值,但是如果他们可以为一整天输入一个值,那将是一个很好的节省时间。
我想要的是,如果将值输入到带有“P”或“A”(数据验证限制这些选项)的“0”句点(绿色列)中的任何一个,OnEdit函数将复制相同的字母( "P" 或 "A") 到以下 8 列,然后删除原始值。(如果不删除,最右侧列的总数将关闭)。我不希望基于任何非绿色列中的编辑激活 OnEdit。
我最终会有几个标签,每个标签都在不同的一周,但每个都完全相同......所以我认为该功能应该在活动表中的任何内容中工作。
https://docs.google.com/spreadsheets/d/1NKIdNY4k66r0zhJeFv8jYYoIwuTq0tCWlWin5GO_YtM/edit?usp=sharing
感谢您的帮助,
我写了一些代码来帮助你开始你的项目。(我也是一名老师)您将不得不根据您的目标进行一些更改,并且可能可以对其进行优化以运行得更快。祝你好运!
function onEdit(e) {
//create an array of the columns that will be affected
var allColumns = [2, 10];
//get the number values of the column and row
var col = e.range.getColumn();
var row = e.range.getRow();
//get the A1 notation of the editted cell for clearing it out
var cell = e.range.getA1Notation();
//only run if the cell is in a column in the allColumns array
if(allColumns.indexOf(col) > -1) {
//run the for loop for the next 8 cells
for(var i = col + 1; i < col + 9; i++) {
SpreadsheetApp.getActiveSheet().getRange(row, i).setValue(e.value);
SpreadsheetApp.getActiveSheet().getRange(cell).setValue('');
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句