2

我在谷歌表格中有以下自定义函数,我试图在我的自定义函数中调用内置函数“TEXT”,但没有成功。Google 表格会提示“未知”功能“TEXT”。有解决方案吗?

function NextMonth(StockTradeDate) {
  var DeltaDate;
  if (**TEXT**(StockTradeDate,"mmm") = "JAN" ) {
  DeltaDate = 30;
      }
  return DATEVALUE(StockTradeDate) + 31;    
}
4

2 回答 2

3

Google Apps 脚本具有包含 formatDate 方法的实用程序库

Utilities.formatDate(date, timeZone, format)

有关详细信息,请参阅https://developers.google.com/apps-script/reference/utilities/utilities#formatdatedate-timezone-format

值得一提的是,在 Google 表格中,不可能在脚本中调用内置函数。如果像 Utilities 这样的服务不包含您正在寻找的功能,那么另一种选择是构建您自己的版本,从库、开源项目或任何其他地方借用它。

我尝试使用来自 Ethercalc 的电子表格函数库,并在我对是否有办法评估存储在单元格中的公式的回答中分享了这一点?

于 2017-05-14T07:21:58.260 回答
0

尝试使用 javascript 日期方法(如下所示)来驱动您需要的日期和条件。无法从应用脚本函数中找到支持表格内置函数调用的文档。支持 Javascript。

function NEXTMONTH(StockTradeDate) {

  var DeltaDate

    if (StockTradeDate.getMonth() === 0 ) { //Jan:0  Feb:1 ... Dec:11 these will need more conditionals. 
    DeltaDate = 30;
    }

  var date2 = new Date(StockTradeDate.valueOf()+ DeltaDate*24*60*60*1000)
                                   // valueOf() is millisec time since 1/1/1970
  return date2
}

如果您需要有关日期方法和实施的更多信息,w3schools 有一个有效的参考。

于 2017-05-07T12:28:58.950 回答