我正在寻找一种测试范围是否已经存在的方法。如果是新条目,则将其添加为最后一行;如果不是新条目,则将更新现有行。
$('#parent').find('#child').attr('id', 'modifyChildId');
答案 0 :(得分:0)
您可以读取母版纸的值,并遍历这些值以确定哪个行(索引)包含相同的值。有了索引后,就可以使用更新的数据来更新该范围。
它应该看起来像这样:
// get values
var masterSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Master');
var masterData = masterSheet.getDataRange().getValues();
var updateIndex;
// loop through master data to find the correct index
masterData.some(function (row, idx) {
// check column c equals new data column c
// data[0] because is multidimensional
if(row[2] === data[0][2]) {
updateIndex = idx;
return updateIndex;
}
});
// in case updateIndex is set we should update the data else it is a new record
if(updateIndex !== undefined) {
masterSheet.getRange(updateIndex, 1, 1, data[0].length).setValues(data);
}
答案 1 :(得分:0)
管理找出答案
function Update(){
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Placeholder');
var range = ss.getRange('A2:AS2')
var data = range.getValues();
var Key = ss.getRange('C2').getValue();
var ts = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Master');
var datarange = ts.getRange('C1:C');
var datavalues = datarange.getValues();
for (var r=0; r<=datavalues.length; r++)
{
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Placeholder');
var Key = ss.getRange('C2').getValue();
if(datavalues[r] == Key)
{ts.getRange(r+1, 1,1,45).setValues(data);}
}
Clearlookupfunc();
SpreadsheetApp.getUi().alert('Update Submitted');
}