Estoy tratando de configurar condiciones para que active mi función (en última instancia, un correo electrónico) cuando la longitud de la cadena en la fila 2 sea de tres caracteres o menos cuando el valor de la fila 1 sea 4 o más, o si la longitud de la cadena es cero en fila 2 y 2 o más en la fila 1. Originalmente lo configuré para activar la función si la longitud de la cadena en la fila 2 es cero y la fila 1 es 2 o más, o cuando la fila 2 es 4 o más y la fila 3 está vacía, y mi código funcionó. Se veía así:
function getViolators(sheet, range) { var totalViolationsRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheet).getRange(range); var vals = totalViolationsRange.getValues(); // Logger.log(vals[0][0]); //vals.forEach() const students = []; vals.forEach(function (row) { var violations = row[1]; var adminComment = row[2]; var adminComment2 = row[3]; if(violations >= 2 && (!adminComment || adminComment.toString().length === 0) || violations >=4 && (!adminComment2 || adminComment2.toString().length === 0) ){ Logger.log(adminComment); Logger.log(adminComment2); students.push(row[0]); } }); return students; }Este es mi código actual, que intenta medir una longitud de cadena distinta de cero, y aunque no recibo un mensaje de error, no funciona/mide la longitud del código correctamente:
function getViolators(sheet, range) { var totalViolationsRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheet).getRange(range); var vals = totalViolationsRange.getValues(); // Logger.log(vals[0][0]); //vals.forEach() const students = []; vals.forEach(function (row) { var violations = row[1]; var adminComment = row[2]; if(violations >= 2 && (!adminComment || adminComment.toString().length === 0) || violations >=4 && (adminComment.toString().length <= 3) ){ Logger.log(adminComment); students.push(row[0]); } }); return students; }Cualquier ayuda que pueda ofrecer sería muy apreciada. NO soy un codificador experimentado, solo trato de hacer algo por mi escuela.