Этот вопрос относится к сценарию приложения Google-Sheets
Я пытаюсь сравнить два значения из исходного листа с двумя значениями в целевом листе соответственно, а затем на основе номера строки, найденной в целевом листе, который я хочуизменить цвет шрифта этой ячейки на цвет шрифта ячейки, найденной в столбце E целевого листа.
Моя логика показана ниже.SrcSheet = Пакетный лист TargetSheet = Activity-sheet
, если srcDate найден в targetDateRange в TargetSheet И если srcBatchName найдено в targetBatchNameRange в TargetSheet, ТО установите цвет шрифта этой ячейки в srcDatesrcSheet) к цвету шрифта targetLessonCell в TargetSheet
Определение моей функции и вызов функции выглядят так:
Вызов функции:
=updateBatchActivity(W18,Activity!B1:B700,I18,Activity!E1:E700)
Определение функции:
function updateBatchActivity() {
var app = SpreadsheetApp;
var sourceSheet = app.getActiveSpreadsheet().getSheetByName("Batches");
var targetSheet = app.getActiveSpreadsheet().getSheetByName("Activity");
for (var srcRow=3; srcRow<=8; srcRow++) {
srcBatch = sourceSheet.getRange(srcRow,9).getValue()
Logger.log('Row ' + srcRow + ' BatchName: ' + srcBatch);
for (var srcCol=21;srcCol<=36; srcCol++) {
var range = sourceSheet.getRange(srcRow,srcCol);
srcDate = range.getValue()
for (var dstRow=2; dstRow<=10; dstRow++) {
var targetDate = targetSheet.getRange(dstRow,2).getValue();
if (srcDate == targetDate) {
var targetBatch = targetSheet.getRange(dstRow,5).getValue();
if (srcBatch == targetBatch) {
var fontColour = targetSheet.getRange(dstRow,6).getFontColour();
range.setFontColor(fontColour);
}
}
}
}
}
}