If I enter "paid" text in cell A in sheet, I want to auto pull the current date in cell B. If the cell is empty, it should not pull the date. Like:
--------------------------------------
A           |  B
--------------------------------------
Paid        |  2/25/2018
----------------------------------
Paid        | 2/26/2018 
----------------------------------
empty cell  |   
----------------------------------
empty cell  |  
I tried to use =ArrayFormula(IF(A2:A81=paid),"paid",(NOW())) 
But getting error. Is their any way to do it?
Try this:
=ArrayFormula(IF(A2:A81="paid", NOW(),"")) 
If you never want the date to change, you need to use script like this:
function onEdit() {
  // writes the current date to the cell to the right on the row when a cell in a specific column is edited
  // adjust the following variables to fit your needs
  var sheetNameToWatch = "Sheet1";
  var columnNumberToWatch = /* column A */ 1; // column A = 1, B = 2, etc.
  var valueToWatch="paid";
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getActiveCell();
  var val=sheet.getActiveCell().getValue()
  if (sheet.getName() == sheetNameToWatch && range.getColumn() == columnNumberToWatch && val==valueToWatch) {
    var targetCell = sheet.getRange(range.getRow(), range.getColumn()+1
                               );
    targetCell.setValue("" + Utilities.formatDate(new Date(), "GMT", "MM/dd/yyyy"));
  }
}
There is not a way to do this with a formula that I know of. It can be made shorter, but script is still required:
function onEdit(e) {
   if (e.source.getSheetName()=="Sheet1" && e.range.getColumn() == 1 && e.range.getValue() == "paid") {
      e.range.offset(0,1).setValue(new Date());
  }}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With