Esta función funciona bien, gracias a Michael the Temp. Pero, ¿cómo puede funcionar si está incrustado dentro de una instrucción IF como esta: =IF(B2>5, TIMESTAMP(), "FALSE")
function TIMESTAMP() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); var addedDateAndTime = Utilities.formatDate(new Date, ss.getSpreadsheetTimeZone(), "dd/MM/yyyy HH:mm:ss"); //Optional if you only want the date: var addedDate = Utilities.formatDate(new Date, ss.getSpreadsheetTimeZone(), "dd/MM/yyyy"); //Optional if you only want the time: var addedTime = Utilities.formatDate(new Date, ss.getSpreadsheetTimeZone(), "hh:mm:ss"); sheet.getRange(1,1).setValue(addedDateAndTime) } ...hola @user17712179 bienvenido! puedes probar esto:
function TIMESTAMP() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); var addedDateAndTime = Utilities.formatDate(new Date, ss.getSpreadsheetTimeZone(), "dd/MM/yyyy HH:mm:ss"); //Optional if you only want the date: var addedDate = Utilities.formatDate(new Date, ss.getSpreadsheetTimeZone(), "dd/MM/yyyy"); //Optional if you only want the time: var addedTime = Utilities.formatDate(new Date, ss.getSpreadsheetTimeZone(), "hh:mm:ss"); if (sheet.getRange("B2").getValue() > 5) { sheet.getRange(1,1).setValue(addedDateAndTime); } else { sheet.getRange(1,1).setValue('FALSE'); }; }¡Hágamelo saber!
Según sus necesidades, también puede hacer que la fórmula AJ sea más reutilizable agregando parámetros a la función personalizada y pasando datos de celda a su fórmula.
/** * Convert cell value in timestamp * * @param {cell} input The value to convert. * @return Timestamp converted. * @customfunction */ function TIMESTAMP(cell) { var ss = SpreadsheetApp.getActiveSpreadsheet(); var addedDateAndTime = Utilities.formatDate(new Date, ss.getSpreadsheetTimeZone(), "dd/MM/yyyy HH:mm:ss"); if (cell > 5) { return addedDateAndTime } else { return 'FALSE' }; }