【问题标题】:Embed function inside of IF statement Google sheets在 IF 语句 Google 表格中嵌入函数
【发布时间】:2022-01-21 17:00:22
【问题描述】:

感谢 Michael the Temp,此功能运行良好。但是,如果嵌入到这样的 IF 语句中,它如何工作:=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)
   }
...

【问题讨论】:

    标签: javascript google-sheets timestamp


    【解决方案1】:

    嘿@user17712179 欢迎! 你可以试试这个:

    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');
        };
    }
    

    告诉我!

    【讨论】:

    • 一个额外的要求是它是“one and done”,这意味着一旦它插入日期,它就不会再次运行 IF 语句。在我寻求帮助的几个小时后,我意识到了这个要求。谢谢
    【解决方案2】:

    根据您的需要,您还可以通过向自定义函数添加参数并将单元格数据传递给您的公式来使 AJ 公式更可重用。

     /**
     * 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'
      };
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-29
      • 1970-01-01
      • 2017-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多