function onEdit(e) {
var sheet = SpreadsheetApp.getActive().getActiveSheet();
var changes = e.range.getValues();
// +1 because of header row
var lastRow = e.range.getLastRow() + 1;
var date = new Date();
var dateOfChange = date
var timeColumn = 4
//sheet.getDataRange().getLastColumn()
for (var i = 0; i < changes.length; i++) {
var row = (lastRow - changes.length) + i;
var timeCell = sheet.getRange(row, timeColumn);
//this is quick and dirty but you will probably want to add more advanced data validation
var validator = 0
changes[i].forEach(function(x) {x.toString().length > 0 ? validator++ : null;})
if (validator > 0 && e.range.getLastColumn() < timeColumn) {
timeCell.setValue(dateOfChange);
} else {
timeCell.clear()
}
}
}