【发布时间】:2017-09-01 00:28:28
【问题描述】:
我有一张表格,它使用一个简单的自定义函数来给我当前月份的缩写。
/**
* A custom function takes a # and returns a month
*
* @param {Number} Month #.
* @return {String} Month Name.
* @customfunction
*/
function MONTHNAME(input) {
var monthvar = {
1:'Jan',
2:'Feb',
3:'Mar',
4:'Apr',
5:'May',
6:'Jun',
7:'Jul',
8:'Aug',
9:'Sep',
10:'Oct',
11:'Nov',
12:'Dec'
}
return monthvar[input]
}
如果我将此代码复制并粘贴到不同的工作表(不是此工作表的副本),那么它会按预期工作。
我通常会在像 =MONTHNAME(MONTH(TODAY())) 这样的单元格中输入它
我有一个使用 excel 函数的解决方法,但它看起来很乱。
=IF(MONTH(TODAY()) = 1,"Jan",if(MONTH(TODAY()) = 2,"Feb",IF(MONTH(TODAY()) = 3, "Mar",if (MONTH(TODAY()) = 4,"Apr",if(MONTH(TODAY()) = 5,"May",if(MONTH(TODAY()) = 6,"Jun",if(MONTH(TODAY( )) = 7,"七月",if(MONTH(TODAY()) = 8,"八月",if(MONTH(TODAY()) = 9,"九月",if(MONTH(TODAY()) = 10, "十月",if(MONTH(TODAY()) = 11,"十一月",if(MONTH(TODAY()) = 12,"十二月","-")))))))))))
我也试过去Reference from google,我复制了双重功能,但在这张纸上也失败了。
/**
* Multiplies the input value by 2.
*
* @param {number} input The value to multiply.
* @return The input multiplied by 2.
* @customfunction
*/
function DOUBLE(input) {
return input * 2;
}
我已经使用了 2 个不同的帐户删除了此脚本的权限并重新添加了它们。它们在脚本编辑器的调试器中运行良好。
有什么建议吗?我不想为此重新设置新的电子表格。
【问题讨论】:
-
对我来说没问题。
-
您是否收到错误消息?
-
= text(today(),"mmm") -
如前所述,
TEXT函数绰绰有余。您真的不需要编写所有脚本。 -
我特别收到此错误“您无权执行该操作。(第 3 行)。”
标签: javascript arrays google-apps-script google-sheets custom-function