Google 工作表 - 比较两个 sheet 列并将不匹配的值附加到第一列

Google Sheets - Compare two sheet columns and append the unmatched values on the first column

在一个 Google sheet 工作簿中,假设我有 5 行的 Sheet1
Sheet1

我将 Sheet2 作为 Sheet2

我正在寻找将不匹配的行(在 Sheet2 中但不在 Sheet1 中的行)并将这些单元格附加到 Sheet1 中的单元格下方的东西。

工作表 1 中的预期结果: Expected Result

在您的情况下,下面的示例脚本怎么样?

示例脚本:

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”列。我以为这就是你期望的目标。

注:

  • 如果更改sheet名称,请修改["Sheet1", "Sheet2"]

参考文献: