这是一个有点不清楚,但它听起来像是你怎么查询数据为每个区域,因此对于区域A尝试:
=query(IMPORTRANGE("1WRFvZ5XXpf06WPgC70KRtGi5_hmGKZXFiFYcW806_uk","Sheet Name!A1:D"),"where Col1 contains 'Region A'")
只是改变表名!上述
编辑#2
根据意见要求不添加行:
function regionA() {
// Data Sheet
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dataSheet = ss.getSheets()[0];
var data = dataSheet.getDataRange().getValues();
//Code for Region A
var regionAId = ""
var regionA = "Region A";
var regionAdata = SpreadsheetApp.openById(regionAId).getSheets()[0];
var column = regionAdata.getRange('A2:A');
var values = column.getValues();
var ct = 1;
while (values[ct] && values[ct][0] != "") {
ct++;
}
for (var i=0; i < data.length; i++) {
if (data[i][0] == regionA){
regionAdata.getRange(ct+2,1,1,4).setValues([data[i].slice(0, 4)]);
ct++
}
}
}
编辑#1
追加行
根据您的意见你可以在你的newData文件中使用这个脚本而不是你的报告文件。
function myFunction() {
// Data Sheet
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dataSheet = ss.getSheets()[0];
var data = dataSheet.getDataRange().getValues();
//You can change these for each Region
var regionAId = "SPREADSHEET KEY for RegionA"
var regionA = "Region A";
var regionAdata = SpreadsheetApp.openById(regionAId);
var regionBId = "SPREADSHEET KEY for RegionB"
var regionB = "Region B";
var regionBdata = SpreadsheetApp.openById(regionBId);
//add the other regions
for (var i=0; i < data.length; i++) {
if (data[i][0] == regionA){
regionAdata.appendRow(data[i])
}
if (data[i][0] == regionB){
regionBdata.appendRow(data[i])
}
//add the other regions
}
}
它并不是那么干净,因为我很快就做到了,但按照模式添加其他区域,一切都将一次完成。
谢谢你提前 –