= filter({{Sheet1!A1:C500};{Sheet2!A1:C500};{Sheet3!A1:C500}},{{Sheet1!A1:A500};{Sheet2!A1:A500};{Sheet3!A1:A500}}<>"")
我還沒有測試過這個。它只是作爲一種可能的解決方案突然出現在我的頭上。我不會爲此使用腳本;工作表的公式要快得多,至少在大多數時候,YMMV。 確保使用分號分隔頁面部分,否則它將無法工作。分號是數組文字的End_Of_Row運算符。
如果你真的想用一個腳本...
function combineSheets() {
var sApp = SpreadsheetApp.getActiveSpreadsheet();
var s1= sApp.getSheetByName("Sheet1");
var s2= sApp.getSheetByName("Sheet2");
var s3= sApp.getSheetByName("Sheet3");
var s4= sApp.getSheetByName("Sheet4");
// If Sheet4 doesn't exist you'll need to create it here.
var s1values = s1.getRange(1,1,s1.getLastRow(),3).getValues();
var s2values = s2.getRange(1,1,s2.getLastRow(),3).getValues();
var s3values = s3.getRange(1,1,s3.getLastRow(),3).getValues();
// Now, we can put out all together and stuff it in Sheet4
var s4values = [];
s4values = s1values.concat(s2values,s3values);
s4.getRange(1,1,s4values.length,3).setValues(s4values);
}
例如,我在Google電子表格中有'Sheet1','Sheet2'和'Sheet3'。所有這些表中的數據都有3列 - 姓名和電子郵件地址。現在,我想將這3張/標籤中存在的數據合併/組合成第四張,即具有相同列(姓名,電子郵件地址和地區)的「工作表4」。第四張紙應該有數據 - Sheet1的數據,然後Sheet2和Sheet3。所有3張中的行數不斷變化。 – aks