Вот один пример:
Код: Выделить всё
function updateColumnsBasedOnCondition() {
// Replace 'YOUR_SHEET_ID' and 'SHEET_NAME' with your actual sheet ID and sheet name
var sheet = SpreadsheetApp.openById('1Ew25yFrtVlejqGgO6LKpZFe4sjO3hQ4fdGHg7Xbcaag').getSheetByName('New 2024 QD+');
if (!sheet) {
Logger.log("Sheet not found");
return;
}
// Get the data range of the sheet
var range = sheet.getDataRange();
// Get all the values in the sheet as a 2D array
var values = range.getValues();
// Iterate through each row in the data
for (var i = 0; i < values.length; i++) {
var cellOValue = values[i][14]; // Value in column O for the current row (assuming index 14 for column O)
var cellPValue = values[i][15]; // Value in column P for the current row (assuming index 15 for column P)
// Log the value of column O
Logger.log('Row ' + (i + 1) + ' Column O value: ' + cellOValue);
// Check if column O value equals 'Standard new DC order'
if (cellOValue.toString().trim() === 'Standard new DC order') {
// Log that the condition was met
Logger.log('Condition met at row ' + (i + 1));
// Update corresponding columns Q, R, S, V, W, X, Z (assuming indexes 16, 17, 18, 21, 22, 23, 26)
sheet.getRange(i + 1, 17).setValue(250); // Column Q (index 16 + 1)
if (cellPValue.toString().trim() === 'Pending State Petitions') {
sheet.getRange(i + 1, 18).setValue(30); // Column R (index 17 + 1)
sheet.getRange(i + 1, 19).setValue('Double-sided'); // Column S (index 18 + 1)
} else if (cellPValue.toString().trim() === 'Passed States Petitions') {
sheet.getRange(i + 1, 20).setValue(30); // Column T (index 19 + 1)
sheet.getRange(i + 1, 21).setValue('Double-sided'); // Column U (index 20 + 1)
}
sheet.getRange(i + 1, 22).setValue(50); // Column V (index 21 + 1)
sheet.getRange(i + 1, 23).setValue(25); // Column W (index 22 + 1)
sheet.getRange(i + 1, 24).setValue(25); // Column X (index 23 + 1)
sheet.getRange(i + 1, 26).setValue(25); // Column Z (index 25 + 1)
// Log that the values were set
Logger.log('Values set for row ' + (i + 1));
}
}
// Flush the logs
Logger.log('Script completed.');
}
- Я копировал/вставил все его оригинальные сценарии после удаления. < Br />
- Я пробовал каждому из них по одному. Раздел «Триггер»
- Я попробовал различные триггеры: onedit , onformsubmit , updatecolumnbasedonconditions ...
< li> Иногда журнал выполнения читается «не удалось», а иногда он читает «завершен», но результат всегда одинаковый. Данные не размещены.
Подробнее здесь: https://stackoverflow.com/questions/794 ... ot-inserti