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 - Fatal编程技术网

Google apps script 查找并复制单元格信息

Google apps script 查找并复制单元格信息,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我试图在Google Sheets中编写一个脚本,该脚本将读取D列,如果单元格中包含单词“Apple”,那么它将从B列的同一行将信息复制到单元格C28:C29中的不同页面 任何关于开始脚本的帮助都将不胜感激。谢谢 function myfunc101() { const sss = SpreadsheetApp.getActive(); const ssh = sss.getSheetByName('Sheet1'); const ssr = 2; const srg = ssh

我试图在Google Sheets中编写一个脚本,该脚本将读取D列,如果单元格中包含单词“Apple”,那么它将从B列的同一行将信息复制到单元格C28:C29中的不同页面

任何关于开始脚本的帮助都将不胜感激。谢谢

function myfunc101() {
  const sss = SpreadsheetApp.getActive();
  const ssh = sss.getSheetByName('Sheet1');
  const ssr = 2;
  const srg = ssh.getRange(ssr,1,ssh.getLastRow() - ssr +1,4);
  const svs = srg.getValues();
  const tss = SpreadsheetApp.openById('tssid');
  const tsh = tss.getSheetByName('Sheet1');
  let c28 = [];
  let c29 = [];
  //let d = 0;//add this to delete current row of ssh
  svs.forEach((r,i)=>{
    if(r[3].toString().includes('Apple')) {
      c28.push(r[1]);
      c29.push(r[3]);
      //sh.deleteRow(i+ssr-d++);//add this to delete current row of ssh
    }
  });
  tsh.getRange('C28').setValue(c28.join(', '));
  tsh.getRange('C29').setValue(c29.join(', '));
}

如果合并了C28和C29,并且需要C28中的所有数据,则将最后两行替换为:
tsh.getRange('C28').setValue(tsh.getRange('C28').getDisplayValue()+C28.join(','))+C29.join(',')

谢谢您的脚本。为了进一步澄清,我要复制到的工作表是一个已经创建的模板,其中的单元格C28和C29已经与其中的文本合并。希望在合并的28/29单元格中的文本之后添加Sheet1 B栏信息中的信息。我也用图片修改了OP。如果你合并了它们,那么29就不存在了,只有C28,所以你想把它全部放在C28中吗?对不起,是的,全部放在C28中。我对代码做了修改。如果它不是您想要的格式,请告诉我。当我运行它时,脚本将逐行删除模板,然后从两个不同的位置提取信息,并将其添加到C28和C29。