Google apps script 使用应用程序脚本将公式添加到特定单元格
我试图根据另一列中的标识符将公式添加到googlesheet中 在下面的示例中,无论哪一行在a列中有父行,我都希望在B列的该行中添加一个公式 我对公式的要求很满意——我只是不知道如何确定需要它的地方 说明: 以下是步骤:Google apps script 使用应用程序脚本将公式添加到特定单元格,google-apps-script,google-sheets,google-sheets-formula,Google Apps Script,Google Sheets,Google Sheets Formula,我试图根据另一列中的标识符将公式添加到googlesheet中 在下面的示例中,无论哪一行在a列中有父行,我都希望在B列的该行中添加一个公式 我对公式的要求很满意——我只是不知道如何确定需要它的地方 说明: 以下是步骤: 您可以使用创建公式数组frms。此数组中的每个元素都将是固定公式frm(如果Parent位于列A)或空字符串 请记住,以下方法考虑的是一个固定的公式。您的目标可能是依赖于检测到匹配的行的公式。我担心,如果这是您的目标,您可能需要使用并利用map函数中的index参数
- 您可以使用创建公式数组
。此数组中的每个元素都将是固定公式frms
(如果frm
位于列Parent
)或空字符串A
- 请记住,以下方法考虑的是一个固定的公式。您的目标可能是依赖于检测到匹配的行的公式。我担心,如果这是您的目标,您可能需要使用并利用
函数中的map
参数index
代码段: 根据需要修改图纸名称
Sheet1
和公式sum(A1:A2)
function myFunction() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName('Sheet1');
const data = sh.getRange('A1:B'+sh.getLastRow()).getValues();
const frm = '=sum(A1:A2)';
const frms = data.map((d,i)=> d[0]=='Parent'?[frm]:[d[1]]);
sh.getRange(1,2,frms.length,frms[0].length).setValues(frms);
}
欢迎光临。请添加你的搜索/研究工作的简要描述,如[建议]让我知道解决方案是否对你有用,如果是的话,请考虑点击答案左边的嘀嗒按钮来接受解决方案。为什么不只是正则公式?=ARARYY公式(如果(A2:A=)”,“如果(A2:A=“子”,5,这里的公式)@RemcoE33我试图做的是获取报告——我们从另一个系统获得的报告,并用所需的公式(即下面单元格的总和)替换和计算值。人们需要能够编辑数据(“子”值)理想情况下,父母会更新also@DanielKilloran出于文档目的,如果答案解决了您的问题,请通过单击答案左侧的勾号按钮接受答案。感谢您花时间提供帮助!这肯定让我更接近了。现在的问题是,其余数据已被删除-子行的值。是否你知道有没有办法在不丢失这些值的情况下做到这一点?我找到了一个解决方案-将公式复制到一个临时列中(我确实需要模板文本)然后过滤整张表,然后复制公式。虽然不是很优雅,但确实做到了。再次感谢@Marios@DanielKilloran我更新了我的答案。请尝试一下。请点击答案左侧的勾选按钮接受答案。