sheets sheet scripts script google getrange delete copyto apps app google-apps-script google-spreadsheet

google-apps-script - getrange - google app scripts sheets



si los datos ingresados ​​en una celda coinciden con un rango, entonces ejecute google script (1)

Quiero ejecutar algún código basado en el valor ingresado en una celda que está en un rango con nombre.

He intentado algo similar a esto, pero parece que no funciona:

function onEdit() { var aSheet = SpreadsheetApp.getActiveSheet(); var aCell = aSheet.getActiveCell(); var aColumn = aCell.getColumn(); var aDatarange = aSheet.getRange(aCell.getRow(),aColumn); var aData = aDatarange.getValue(); var SomeRange = aSheet.getRangeByName(''RangeName''); if (aData in ''SomeRange'') { execute some code } }

Supongo que es la afirmación if que estoy haciendo incorrectamente, pero he intentado var in range y var = range y ninguno parece funcionar.


Debe sacar los datos del rango, de modo que se pueda buscar el valor de la celda en los datos del rango. Agregué un par de variables nuevas a su código e incluí comentarios sobre las nuevas líneas de código.

function onEdit() { var dataAsString,rangeData; var aSheet = SpreadsheetApp.getActiveSheet(); var aCell = aSheet.getActiveCell(); var aColumn = aCell.getColumn(); var aDatarange = aSheet.getRange(aCell.getRow(),aColumn); var aData = aDatarange.getValue(); var SomeRange = aSheet.getRangeByName(''RangeName''); rangeData = SomeRange.getValues();//Get the values out of the range dataAsString= rangeData.toString();//Convert the 2D array to a a comma seperated string of values if (dataAsString.indexOf(aData) !== -1) {//The value of "aData" was found in the data string //execute some code } }