這是一個有點不清楚,但它聽起來像是你怎麼查詢數據爲每個區域,因此對於區域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
}
}
它並不是那麼幹淨,因爲我很快就做到了,但按照模式添加其他區域,一切都將一次完成。
謝謝你提前 –