Javascript 根据状态将图纸ID更新为其他图纸
我需要找到一个解决方案,根据Sheet1的状态更新Google Sheet2。例如,如果我将第2列中的Sheet1状态更新为“可用”,我希望获取第1列的ID并将其放置在Sheet2中(但要避免重复,如果可用) 这是我的示例工作表 我发现这段代码更接近我的工作预期,但我需要稍作修改,我试着玩了一下,但没有达到预期效果。我怎样才能解决这个问题Javascript 根据状态将图纸ID更新为其他图纸,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我需要找到一个解决方案,根据Sheet1的状态更新Google Sheet2。例如,如果我将第2列中的Sheet1状态更新为“可用”,我希望获取第1列的ID并将其放置在Sheet2中(但要避免重复,如果可用) 这是我的示例工作表 我发现这段代码更接近我的工作预期,但我需要稍作修改,我试着玩了一下,但没有达到预期效果。我怎样才能解决这个问题 function onEdit(e) { if(e.range.getSheet().getName() != 'Sheet1'){return;}
function onEdit(e) {
if(e.range.getSheet().getName() != 'Sheet1'){return;}
if(e.range.columnStart==2) {
var id=e.range.offset(0,-1).getValue();
var rg=e.source.getSheetByName('Sheet2').getDataRange()
var vA=rg.getValues();
for(var i=1;i<vA.length;i++) {
if(vA[i][0]==id) {
vA[i][1]=e.value;
break;
}
}
}
rg.setValues(vA);
}
函数onEdit(e){
如果(e.range.getSheet().getName()!='Sheet1'){return;}
if(e.range.columnStart==2){
var id=e.range.offset(0,-1).getValue();
var rg=e.source.getSheetByName('Sheet2').getDataRange()
var vA=rg.getValues();
对于(var i=1;i请尝试此脚本
函数onEdit(e){
const sh=e.range.getSheet();
如果(sh.getName()!='Sheet1'| | e.range.columnStart!==2 | | e.value!=='AVAILABLE'){return;}
const rg=e.source.getSheetByName('Sheet2')
常量值=rg.getRange(“A:A”).getValues().flat().filter(字符串)
const id=e.range.offset(0,-1).getValue();
如果(!values.includes(id)){
rg.appendRow([id])
}
}
将sheet1中的行移动/复制到sheet2后,是否要删除该行?如果发现重复的id怎么办?是否仍要删除该行?还是应该将其保留在sheet1中?不删除,只是复制。如果发现重复,则不删除,但不复制到sheet2这可以通过简单的公式完成。是否确实需要脚本?是的,bec因为我们有一个操作来编辑或删除Sheet2中的行,添加公式可能会使事情变得复杂。所以最好用脚本复制ID。我有一个小问题需要解决,数据在Sheet2中以a列的随机行复制,而不是在a列的最后一个数据之后按顺序复制。您能帮我解决吗?e、 g.当前代码复制到第13、15、19等行的列中。我希望此副本按顺序排列,以便10、11、12、13继续…即在该行的最后一个条目之后。