曾经在工作表上工作,该工作表最初是作为vlookup和match函数,但在用户Iamblichus的帮助下发展成了脚本。该脚本从Sheet1上的表中提取数据并进行匹配并将其填充到Sheet2上的日历上。我试图稍微调整一下脚本,以扩展从Sheet1提取的数据。目前,它能够识别Sheet1(b列)中的单个日期,但我希望能够将该单个日期变量更改为日期范围,以便在日期范围内填充Sheet1列c(长度)中的值。在Sheet2的日历上。
这是当前脚本的外观:
function onEdit() {
var ss = Spreadsheetapp.getactive();
var sheet1 = ss.getSheetByName('Sheet1');
var sheet2 = ss.getSheetByName('Sheet2');
var firstRow = 2;
var numRows = sheet1.getLastRow() - 1;
var firstCol = 1;
var numCols = sheet1.getLastColumn();
var inputData = sheet1.getRange(firstRow,firstCol,numRows,numCols).getvalues();
var numBrands = sheet2.getLastRow();
var outputRange = sheet2.getDataRange();
var outputData = outputRange.getvalues();
for(var i = 0; i < numRows; i++) {
for(var j = 1; j < outputData.length; j++) {
for(var k = 1; k < outputData[0].length; k++) {
var inputBrand = inputData[i][0];
var outputBrand = outputData[j][0];
var inputDate = inputData[i][1];
var outputDate = outputData[0][k];
if(inputBrand == outputBrand && inputDate.toString() == outputDate.toString()) {
var inputLength = inputData[i][2];
sheet2.getRange(j+1,k+1,1,1).setvalue(inputLength);
}
}
}
}
}
这是我的示例单日期表的链接,脚本可以按预期运行: https://docs.google.com/spreadsheets/d/13VMZJ7SZQJs8l-fJjn1RX5BVsqPY2qiS4bT_7jwmuWo/edit?usp=sharing
这是我要在Sheet1中实现的日期范围的示例,并且脚本不起作用: https://docs.google.com/spreadsheets/d/1ie9c0AKsCA7MmYBBB81eW5BwnOM_d63kqxc2Fi3uyt8/edit?usp=sharing
我想扩展脚本以能够识别在“开始日期”和“结束日期”之间设置的日期范围。然后从Sheet1的“长度”列中提取值,并在Sheet2的日期范围内填充“长度”列值。