gpt4 book ai didi

javascript - Google 脚本 - 插入列继承格式

转载 作者:太空宇宙 更新时间:2023-11-04 15:34:27 26 4
gpt4 key购买 nike

我有简单的代码,其中 A1 中有一个日期,例如 06/06/2017

我尝试做的是添加三列并在其中设置公式。我使用以下方法添加列:

ss.insertColumns(1,3);

然后我在三列中设置公式:

ss.getRange(1,1).setFormula('=MONTH(D1);
ss.getRange(1,2).setFormula('=WEEKNUM(D1);
ss.getRange(1,3).setFormula('=CHOOSE( weekday(D1), "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")');

然而,最终发生的情况是,所有新列最终都会继承之前的 A 列的格式(或者至少根据我对 Google 脚本的相当有限的理解,我是这么认为的)。因此,如果是新 A1,则显示 05/01/1900。当我单击格式>数字>数字时,它最终显示6。所以数字是正确的,但格式错误。

我该如何处理这个问题?请记住,实际文件有数百行日期,我使用循环来分配公式。

最佳答案

您可以set the number format在设置内容或公式的同时更改单元格。所以在

的情况下
ss.getRange(1,1).setFormula('=MONTH(D1);

这可以变成

ss.getRange(1,1).setFormula('=MONTH(D1)').setNumberFormat("0")

possible formats您可以与 .setNumberFormat(numberFormat) 一起使用的内容与您在表格本身中使用的内容相同。

除了解决方案之外,还有一种更好的方法,即在此处设置 3 个单元格(并与 your other question 关联),而不是一次设置这些公式一个,您可以通过一次调用设置所有三个单元格。

ss.getRange(1,1,1,3)
.setFormulas([
'=MONTH(D1)',
'=WEEKNUM(D1)',
'=CHOOSE( weekday(D1), "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")'])
.setNumberFormats(["0","0","text"]);

关于javascript - Google 脚本 - 插入列继承格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44516880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com