Вы можете сделать это с помощью Google Apps Script. Следующий код работает в качестве примера для выполнения sh this:
var OTHER_SPREADSHEET_ID = "OTHER_SPREADSHEET_ID";
var NUM_COLUMNS = 4;
function checkDifferences() {
var otherSheet = SpreadsheetApp.openById(OTHER_SPREADSHEET_ID).getSheetByName('Sheet1');
var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
var lastRow = sheet.getLastRow();
var thisValues = sheet.getRange(1, 1, lastRow, NUM_COLUMNS).getValues();
var otherValues = otherSheet.getRange(1, 1, lastRow, NUM_COLUMNS).getValues();
for (var i=0; i<lastRow; i++) {
if (!rowsAreEqual(thisValues[i], otherValues[i])) {
// Mark row
sheet.getRange(i+1, 1, 1, NUM_COLUMNS).setBackground("yellow");
}
}
}
function rowsAreEqual(row1, row2) {
for (var i=0; i<row1.length; i++) {
if (row1[i] !== row2[i]) return false;
}
return true;
}
Проще говоря, код выполняет следующее:
- Откройте таблицу, для которой вы хотите текущую таблицу для сравнения с.
- Для каждой строки, если строки различаются, изменить цвет фона электронной таблицы «хост» (электронной таблицы, с которой связан код).
Пример
После выполнения кода (привязанного к «измененной» электронной таблице) лист становится следующим:
Ссылки