在一個 Google 作業表作業簿中,假設我有 Sheet1,其中有 5 行作為
Sheet1
我有 Sheet2 作為 Sheet2
我正在尋找將不匹配的行(在 Sheet2 中但不在 Sheet1 中的行)并將這些單元格附加到 Sheet1 中的單元格下方的東西。
Sheet1 中的預期結果: 預期結果
uj5u.com熱心網友回復:
在您的情況下,以下示例腳本怎么樣?
示例腳本:
function myFunction() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const [sheet1, sheet2] = ["Sheet1", "Sheet2"].map(s => ss.getSheetByName(s));
const lastRowSheet1 = sheet1.getLastRow();
const sheet1Obj = sheet1.getRange("A2:B" lastRowSheet1).getValues().reduce((o, [a]) => (o[a] = true, o), {});
const sheet2Values = sheet2.getRange("A1:A" sheet2.getLastRow()).getValues();
const values = sheet2Values.filter(([a]) => !sheet1Obj[a]);
if (values.length == 0) return;
sheet1.getRange(lastRowSheet1 1, 1, values.length, 1).setValues(values);
}
- 運行此腳本時,會檢查“Sheet1”和“Sheet2”的值。當“Sheet2”的“A”列的值不包含在“Sheet1”的“A”列的值中時,這些值將附加到“Sheet1”的“A”列。我認為這是您期望的目標。
筆記:
- 如果更改作業表名稱,請修改
["Sheet1", "Sheet2"].
參考:
- 獲取值()
- 設定值(值)
- 減少()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/455332.html
