Мне нужна помощь, чтобы определить, как я могу сравнить 4 столбца одной строки с 4 столбцами другой строки.
Для объяснения у меня есть две таблицы, каждая из которых имеет четыре столбца: State, Area, City & Location.
Таблица PINPOINT - эта таблица имеет уникальную комбинацию значений
Таблица FEED - в этой таблице есть повторяющаяся комбинация значений, а также значение KEY из таблицы PINPOINT.
Мне нужен код, который говорит
"Если строка из столбца CL на листе FEED содержит значение ключа из столбца K на листе PINPOINT,
... но столбцы CN - CQ, в котором строка листа FEED не имеет тех же значений, что и столбец AD в таблице PINPOINT. ..
обновить столбец CN до CQ листа FEED с той же комбинацией значений, что и в AD в таблице PINPOINT. "
Я вставил последний код, который у меня есть ниже, а также изображения , По общему признанию, этот код - беспорядок, я только начал изучать код, таким образом, я рад переписать это, если кто-то предлагает решение.
В любом случае, любое понимание того, как я должен написать это, будет весьма полезно.
var Data = SpreadsheetApp.getActiveSpreadsheet(); // DATA spreadsheet
var PinpointDataSheet = Data.getSheetByName("The Pinpoints") // DATA "Pinpoint" sheet
var PinpointAllValues = PinpointDataSheet.getRange(2, 1, PinpointDataSheet.getLastRow()-1,PinpointDataSheet.getLastColumn()).getValues();
var FeedDataSheet = Data.getSheetByName("The Feed_Raw") // DATA "Feed" sheet
var FeedAllValues = FeedDataSheet.getRange(2, 1, FeedDataSheet.getLastRow()-1,FeedDataSheet.getLastColumn()).getValues();
var PinpointStateObj = {}; // Object for "Locale" values
var PinpointAreaObj = {}; // Object for "Locale" values
var PinpointCityObj = {}; // Object for "Locale" values
var PinpointSpotObj = {}; // Object for "Locale" values
for(var P = PinpointAllValues.length-1;P>=0;P--) // put Pinpoint values in array..
{
PinpointStateObj[PinpointAllValues[P][0]] = PinpointAllValues[P][10];
PinpointAreaObj[PinpointAllValues[P][1]] = PinpointAllValues[P][10];
PinpointCityObj[PinpointAllValues[P][2]] = PinpointAllValues[P][10];
PinpointSpotObj[PinpointAllValues[P][3]] = PinpointAllValues[P][10];
}
for(var F = FeedAllValues.length-1;F>=0;F--) // for each row in the "Feed" sheet...
{
var Feed_GeotagKey = FeedAllValues[F][90]; // Pinpoint Key values in Feed sheet
{
// If Pinpoint array dont match feed values
if ((PinpointStateObj[Feed_GeotagKey] != FeedAllValues[F][95]) || (PinpointAreaObj[Feed_GeotagKey] != FeedAllValues[F][96])
|| (PinpointCityObj[Feed_GeotagKey] != FeedAllValues[F][97]) || (PinpointSpotObj[Feed_GeotagKey] != FeedAllValues[F][97]))
{
FeedAllValues[F][95] = PinpointAllValues[P][0]; // ...Change FYI Category Name in FYI Topic Sheet
FeedAllValues[F][96] = PinpointAllValues[P][1];
FeedAllValues[F][97] = PinpointAllValues[P][2];
FeedAllValues[F][98] = PinpointAllValues[P][3];
}
}
}
Geotag Sheet - уникальные значения «Темная колонна» Feed Sheet - повторяющиеся значения - «Выделенная колонна»