Вы хотите получить значения из листа «Мебель», которые не включены в значения из листа «Shopify», а затем удалить повторяющиеся значения из результата. Вы можете получить значения для каждого диапазона листов, используя функцию getRange()
[1] в сочетании с функцией getLastRow()
[2], чтобы получить диапазон до последней строки с данными (Вы можете изменить это и просто использовать весь свой A1 обозначения для каждого листа). Вы можете использовать функцию JS filter
[3], чтобы отфильтровать значения из Мебель, которых нет в Shopify, и, наконец, функцию reduce
[4], чтобы избавиться от повторяющихся значений. Ниже приведен рабочий код, вам нужно заменить Spreadsheet ID и запустить функцию getUniqueValues
из редактора, в результате чего вы получите логический массив.
function getUniqueValues() {
var ss = SpreadsheetApp.openById('[SPREADSHEET-ID]');
var furnitureSheet = ss.getSheetByName('Furniture');
var shopifySheet = ss.getSheetByName('Shopify');
//Get the range for each sheet based on last row with data
var furnitureArray = furnitureSheet.getRange('A2:A' + furnitureSheet.getLastRow()).getValues().join().split(",");
var shopifyArray = shopifySheet.getRange('F2:F' + shopifySheet.getLastRow()).getValues().join().split(",");
var resultArray = furnitureArray.filter(function(furnitureValue) {
if(shopifyArray.indexOf(furnitureValue) == -1) {
return true;
}
return false
});
resultArray = resultArray.reduce(function(a,b){
if (a.indexOf(b) < 0 ) a.push(b);
return a;
},[]);
Logger.log(resultArray);
}
[1] https://developers.google.com/apps-script/reference/spreadsheet/sheet#getrangea1notation
[2] https://developers.google.com/apps-script/reference/spreadsheet/sheet#getlastrow
[3] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
[4] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce