Run custom function if value in cell is date

前端 未结 1 1531
北荒
北荒 2020-12-19 16:40

I am new to Google scripting. I would like to check if the value in a cell is a date, and if so, to change the default format of the date, and then return the new formatted

相关标签:
1条回答
  • 2020-12-19 17:27

    Use the isDate() function, below, to do what you're asking. The date format can be changed to suit other needs. Refer to [Utilities.formatDate()][3] for more info.

    // From http://stackoverflow.com/questions/1353684
    // Returns 'true' if variable d is a date object.
    function isValidDate(d) {
      if ( Object.prototype.toString.call(d) !== "[object Date]" )
        return false;
      return !isNaN(d.getTime());
    }
    
    // Test if value is a date and if so format
    // otherwise, reflect input variable back as-is. 
    function isDate(sDate) {
      if (isValidDate(sDate)) {
        sDate = Utilities.formatDate(new Date(sDate), "PST", "MM/dd/yyyy");
      }
      return sDate;
    }
    

    In your script, you've used the Range.getValues() function, which will return a two-dimensional array of the data in the given range. (Your whole sheet, in your case.) You will therefore need to loop over the read values and call this function on any cell that you're interested in, and then write the information back out to the spreadsheet. There are plenty of examples of this both in Google's documentation and on Stackoverflow.

    0 讨论(0)
提交回复
热议问题