Установить цвет шрифта на основе условия (Google-Sheets AppScript) - PullRequest
0 голосов

Этот вопрос относится к сценарию приложения 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);
           }
         }
       }
     }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...