gpt4 book ai didi

google-apps-script - 如何在 Google 表格中 "setformula"之后修复公式解析错误?

转载 作者:行者123 更新时间:2023-12-04 18:20:45 25 4
gpt4 key购买 nike

在谷歌脚本中使用 setformula 后,我遇到了公式解析错误的问题。

我用过 \转义双引号 "在代码中,但是在运行脚本后,解析错误显示在公式上。
公式本身应该是正确的,因为如果我手动复制和粘贴一切正常。我可以尝试编辑 "function line" 中的公式添加一个空格后,公式解析错误消失。

马特

matvyr.setFormula("=SUMIFS('Náklady'!G:G;'Náklady'!A:A; CONCATENATE(AG1; INDIRECT(\"RC[-31]\";FALSE));'Náklady'!H:H;AG7)");

编辑公式前的错误屏幕截图



只需在公式代码中添加一个空格

最佳答案

与问题没有直接关系,但如果使用 setFormulasR1C1 批量设置公式,并且缺少一个或多个公式(例如未设置),只需映射 getFormulasR1C1setFormulasR1C1会导致公式解析#ERROR .
为了解决这个问题,必须截取单元格值。由于没有公式的单元格由空字符串表示,因此可以利用 ||运算符(operator)。以下是用于复制保留单元格引用的公式的示例实用程序:

const copyFormulas = ({ source, target, indices = [], onError = console.warn } = {}) => {

try {

const valsToCopy = source.getValues();
const toCopy = source.getFormulasR1C1();
const toLeave = target.getFormulasR1C1();

const copied = toCopy.map((row, ri) => row.map((cell, ci) => {
if (!indices.includes(ci)) {
return toLeave[ri][ci] || valsToCopy[ri][ci];
}

return cell || valsToCopy[ri][ci];
}));

target.setValues(copied);

SpreadsheetApp.flush();

return true;
}
catch (error) {
onError(error);
return false;
}

};

关于google-apps-script - 如何在 Google 表格中 "setformula"之后修复公式解析错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55355400/

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