Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 使用应用程序脚本将公式添加到特定单元格_Google Apps Script_Google Sheets_Google Sheets Formula - Fatal编程技术网

Google apps script 使用应用程序脚本将公式添加到特定单元格

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参数

我试图根据另一列中的标识符将公式添加到googlesheet中

在下面的示例中,无论哪一行在a列中有父行,我都希望在B列的该行中添加一个公式

我对公式的要求很满意——我只是不知道如何确定需要它的地方

说明: 以下是步骤:

  • 您可以使用创建公式数组
    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我更新了我的答案。请尝试一下。请点击答案左侧的勾选按钮接受答案。