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