调整Apps脚本
onEdit()
函数将结果收集到“调度程序”选项卡(而不是单独的“每日”选项卡)是此请求的下一步
点击此处(审查)👉collect onedit multitab触发... Google Sheep“如下图”。
function onEdit(e) {
var sheet = e.source.getActiveSheet();
if (sheet.getName() === "Sun");
var range = e.range;
if (range.getColumn() === 9) {
var editedRow = range.getRow();
var aTeam = sheet.getRange(editedRow, 10).getDisplayValue();
if (!aTeam) return;
var lastRow = sheet.getLastRow();
var empName = sheet.getRange(3, 1, lastRow - 2, 1).getValues();
var targetRow = -1;
for (var i = 0; i < empName.length; i++) {
if (empName[i][0] === aTeam) {
targetRow = i + 3;
break;
}
}
if (targetRow !== -1) {
var colB = sheet.getRange(targetRow, 2).getDisplayValue();
var colC = sheet.getRange(targetRow, 3).getDisplayValue();
var colD = sheet.getRange(targetRow, 4).getDisplayValue();
if (colB !== colC) {
sheet.getRange(targetRow, 4).setValue(colC);
}
if (colC !== colD) {
sheet.getRange(targetRow, 4).setValue(colC);
}
}
}
if (range.getColumn() === 13) {
var editedRow = range.getRow();
var bTeam = sheet.getRange(editedRow, 14).getDisplayValue();
if (!bTeam) return;
var lastRow = sheet.getLastRow();
var empName = sheet.getRange(3, 1, lastRow - 2, 1).getValues();
var targetRow = -1;
for (var i = 0; i < empName.length; i++) {
if (empName[i][0] === bTeam) {
targetRow = i + 3;
break;
}
}
if (targetRow !== -1) {
var colB = sheet.getRange(targetRow, 2).getDisplayValue();
var colC = sheet.getRange(targetRow, 3).getDisplayValue();
var colD = sheet.getRange(targetRow, 4).getDisplayValue();
if (colB !== colC) {
sheet.getRange(targetRow, 4).setValue(colC);
}
if (colC !== colD) {
sheet.getRange(targetRow, 4).setValue(colC);
}
}
}
}
function onEdit(e) {
var sheet = e.source.getActiveSheet();
if (sheet.getName() === "Mon");
var range = e.range;
if (range.getColumn() === 9) {
var editedRow = range.getRow();
var aTeam = sheet.getRange(editedRow, 10).getDisplayValue();
if (!aTeam) return;
var lastRow = sheet.getLastRow();
var empName = sheet.getRange(3, 1, lastRow - 2, 1).getValues();
var targetRow = -1;
for (var i = 0; i < empName.length; i++) {
if (empName[i][0] === aTeam) {
targetRow = i + 3;
break;
}
}
if (targetRow !== -1) {
var colB = sheet.getRange(targetRow, 2).getDisplayValue();
var colC = sheet.getRange(targetRow, 3).getDisplayValue();
var colD = sheet.getRange(targetRow, 4).getDisplayValue();
if (colB !== colC) {
sheet.getRange(targetRow, 4).setValue(colC);
}
if (colC !== colD) {
sheet.getRange(targetRow, 4).setValue(colC);
}
}
}
if (range.getColumn() === 13) {
var editedRow = range.getRow();
var bTeam = sheet.getRange(editedRow, 14).getDisplayValue();
if (!bTeam) return;
var lastRow = sheet.getLastRow();
var empName = sheet.getRange(3, 1, lastRow - 2, 1).getValues();
var targetRow = -1;
for (var i = 0; i < empName.length; i++) {
if (empName[i][0] === bTeam) {
targetRow = i + 3;
break;
}
}
if (targetRow !== -1) {
var colB = sheet.getRange(targetRow, 2).getDisplayValue();
var colC = sheet.getRange(targetRow, 3).getDisplayValue();
var colD = sheet.getRange(targetRow, 4).getDisplayValue();
if (colB !== colC) {
sheet.getRange(targetRow, 4).setValue(colC);
}
if (colC !== colD) {
sheet.getRange(targetRow, 4).setValue(colC);
}
}
}
}
there是在每个“每日”选项卡(Mon&Tue)上工作的脚本的gif
如何调整应用程序脚本(对Sun或Mon Tab的I或M列进行编辑时)...
将数据收集到D(太阳或Mon Tab的D列)
SUN的数据收集到D列D(“调度程序”选项卡的D列)
mon的数据收集到G列(调度程序选项卡的列)
调度程序选项卡的标记表(版本)⤵️... gif太小
Sun
mon | mon | 名 | result | 手动价值 | ||
---|---|---|---|---|---|---|
开始 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
team | 构造 | 雇员A | 2:00pm | 2:00pm | ||||||||||
雇员A | yyes | 雇员b | 3:00pm | 3:00pm | 3:00:00pm | |||||||||
yyes | 雇员c | 1:00pm | 1:00pm | |||||||||||
yyes | 雇员d | 4:00pm | 4:00pm | |||||||||||
yyes | ||||||||||||||
yyes | mon(tab) | mon | mon | mon |
=map(A3:A6,lambda(staff,query({Mon!A3:D},"select Col2, Col3, Col4 where Col1='"&staff&"'")))
这种特定的方法需要一周中的每一天一个公式,但是可以/有可能构建单个公式,以填充一周中的每一天。
名 | result | 手动价值 | 开始时间 | M-Team | 构造 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
雇员A | 8:00pm | 8:00pm | 8:00:00pm | 雇员A | yyes | |||||||||
9:00pm | 9:00pm | 9:00:00pm | 雇员b | yyes | 雇员c | |||||||||
7:00pm | yyes | 雇员d | 6:00pm | |||||||||||
yyes | ||||||||||||||
yyes | =map(A3:A6,lambda(staff,query({Sun!A3:D},"select Col2, Col3, Col4 where Col1='"&staff&"'"))) | |||||||||||||
样本输出 |