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
Javascript 将多个工作表合并到主工作表的脚本_Javascript_Google Apps Script - Fatal编程技术网

Javascript 将多个工作表合并到主工作表的脚本

Javascript 将多个工作表合并到主工作表的脚本,javascript,google-apps-script,Javascript,Google Apps Script,目前的脚本代码有错误,请参阅视频和代码,其结果是预期的 提前感谢使用标题字符串作为键,从其他工作表组合主控上存在的特定列 此函数将读取主标题,并在所有其他图纸上查找这些标题,然后返回主标题中的正确列。如果找不到特定的标题,它将返回工作表名称、标题名称以及未找到的字符串“nf” 它还能够排除您不希望参与该过程的工作表,当然,正如您的代码所做的那样,它使用名为“Master”的工作表作为目标,因此不会读取主工作表中的数据,但它会读取主工作表以获取第一行中的列名,以便在其他工作表中搜索 我查看了你的代

目前的脚本代码有错误,请参阅视频和代码,其结果是预期的

提前感谢

使用标题字符串作为键,从其他工作表组合主控上存在的特定列 此函数将读取主标题,并在所有其他图纸上查找这些标题,然后返回主标题中的正确列。如果找不到特定的标题,它将返回工作表名称、标题名称以及未找到的字符串“nf”

它还能够排除您不希望参与该过程的工作表,当然,正如您的代码所做的那样,它使用名为“Master”的工作表作为目标,因此不会读取主工作表中的数据,但它会读取主工作表以获取第一行中的列名,以便在其他工作表中搜索

我查看了你的代码,一旦我知道你在做什么,我发现自己做起来容易多了

守则:

function combineDataForAllSheets() {
  var ss=SpreadsheetApp.getActive();
  var excl=['Globals','Form Responses 1','Form Responses 2'];
  var masterSheet="Master";
  for(var i=0;i<excl.length;i++) {ss.getSheetByName(excl[i]).hideSheet()}
  var sh=ss.getSheetByName(masterSheet);
  var hrg=sh.getRange(1,1,1,sh.getLastColumn());
  var mhA=hrg.getValues()[0];
  sh.getRange(2,1,sh.getMaxRows()-1,sh.getLastColumn()).clearContent();
  var shts=ss.getSheets();
  for(var i=0;i<shts.length;i++) {
    if(!shts[i].isSheetHidden() && shts[i].getName()!=masterSheet) {
      var shx=shts[i];
      var name=shx.getName();
      var hAx=shx.getRange(1,1,1,shx.getLastColumn()).getValues()[0];
      var nr=sh.getLastRow()+1;
      for(var ix=0;ix<mhA.length;ix++) {
        vAix=[];
        var header=mhA[ix];
        var index=hAx.indexOf(mhA[ix]);
        if(hAx.indexOf(mhA[ix])>-1) {
          var vAix=shx.getRange(2,hAx.indexOf(mhA[ix])+1,shx.getLastRow()-1,1).getValues(); 
        }else{
          for(var kx=0;kx<shx.getLastRow()-1;kx++) {
            vAix.push([shx.getName()+ '-'+ mhA[ix] +'-nf']);
          }
        }
        sh.getRange(nr,ix+1,shx.getLastRow()-1,1).setValues(vAix);
      }                     
    }
  }
}
函数组合数据表(){
var ss=SpreadsheetApp.getActive();
var excl=['Globals','Form Responses 1','Form Responses 2'];
var masterSheet=“Master”;
对于(var i=0;我需要您的问题来显示错误并提供。
function createTestData() { 
  var m=0;//0 for random column positions >0 for fixed position
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  sh.clearContents();
  var cols=10;//number of columns
  var rows=20;//number of rows
  var hpref='hdr';
  var hA=[];
  var hdrA=[];
  var cA=[];
  for(var i=0;i<cols;i++) {hA.push(i+1);};
  for(var i=0;i<cols;i++) {
    if(m==0) {
      var index=Math.floor(Math.random() * hA.length);
    }else{
      var index=i;
    }  
    var hnum=hA[index];
    hdrA.push(hpref + hnum);
    cA.push(hnum);
    if(m==0) {
      hA.splice(index,1);
    }
  }
  sh.getRange(1,1,1,hdrA.length).setValues([hdrA]);    
  var rg=sh.getRange(2,1,rows,cols);  
  var vA=rg.getValues();
  for(var i=0;i<rows;i++) {
    for(var j=0;j<cols;j++) {
      vA[i][j]=Number(i+1) + ',' + cA[j];
    }
  }
  rg.setValues(vA);
}