How to insert multiple time stamps automatically based on data entered in specific cells

Viewed 25

I have a spreadsheet where multiple people will be updating different columns.

How do I have multiple functions where cells can be updates with timestamp, for multiple cells with multiple timestamps. onEdit only allows for 1 timestamp.

function onEdit(e) {

  var row = e.range.getRow();
  var col = e.range.getColumn();

if(col === 1 && row > 1 && e.source.getActiveSheet().getName() === "BOM" ){

  e.source.getActiveSheet().getRange(row,30).setValue(new Date());
 
}

}


function onEdit1(e) {

  var row = e.range.getRow();
  var col = e.range.getColumn();

if(col === 20 && row > 1 && e.source.getActiveSheet().getName() === "BOM" ){

  e.source.getActiveSheet().getRange(row,31).setValue(new Date());
 
}

}

I was expecting it to work twice on different cells

1 Answers

Try this:

function onEdit(e) {
  const sh = e.range.getSheet();
  if (sh.getName() == "BOM" && e.range.rowStart > 1) {
    if (e.range.columnStart == 1) {
      sh.getRange(e.range.rowStart, 30).setValue(new Date());
    } else if (e.range.columnStart == 20) {
      sh.getRange(e.range.rowStart, 31).setValue(new Date());
    }
  }
}
Related