Google apps script 如何使用google apps脚本以新格式在另一个选项卡中汇总数据
我有许多行中的原始数据,我想以新的所需格式(如图片)将这些数据汇总到一个新选项卡:Google apps script 如何使用google apps脚本以新格式在另一个选项卡中汇总数据,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有许多行中的原始数据,我想以新的所需格式(如图片)将这些数据汇总到一个新选项卡: 函数getData(){ var ss=SpreadsheetApp.getActiveSpreadsheet(); var sheet=ss.getSheets(); 活页。设置冻结行(1); var值=[“车间订单”、“零件号”、“工作站”、“计数工作站”]; var range=yourNewSheet.getRange(“A1:D1”); 范围。设置值(值); var sheet1Sheet=ss
- 将
和shop\u order
的组合分配给一个数组,并将每一行转换为一个数组条目part\u number
- 估计每次组合发生的次数,并将结果分配给数组和的一个条目
- 检查组合是否首次发生
- 将包含
、零件号
和车间订单
的行填充到第二张表中,每次组合一次总和
函数myFunction(){
var sheet=SpreadsheetApp.getActive().getSheetByName('Sheet1');
var sheet2=SpreadsheetApp.getActive().getSheetByName('Sheet43');
var rowNumber=sheet.getLastRow()-1;
var-columnShopOrder=6;
var columnPartNumber=2;
var shopOrder=sheet.getRange(2,columnShopOrder,rowNumber,1).getValues();
var partNumber=sheet.getRange(2,columnPartNumber,rowNumber,1).getValues();
变量计数=[]
对于(var a=0;a从其他问题来看,您链接到的文件不可访问。很抱歉,这是我第一次在堆栈溢出中提出问题。我编辑了这个问题,并添加了更多已完成的信息。感谢您的好意。但是…我不知道如何将循环写入工作站以我的格式。我可以想到的方法是通过对工作站的所有事件进行统计,计算每个事件发生的次数,构建一个事件总数-就像上面代码中对总数所做的那样,但对每个工作站分别进行计算,然后将所有这些信息推到一个字符串中。非常密集的编码,这就是为什么我建议您考虑如何表示其他解决方案的原因您的数据,或使用数据透视表对其进行汇总,这可以从UI手动完成。
function myFunction() {
var sheet=SpreadsheetApp.getActive().getSheetByName('Sheet1');
var sheet2=SpreadsheetApp.getActive().getSheetByName('Sheet43');
var rowNumber=sheet.getLastRow()-1;
var columnShopOrder=6;
var columnPartNumber=2;
var shopOrder=sheet.getRange(2,columnShopOrder,rowNumber,1).getValues();
var partNumber=sheet.getRange(2,columnPartNumber,rowNumber,1).getValues();
var count=[]
for(var a=0;a<partNumber.length;a++)
{
count.push(shopOrder[a][0]+partNumber[a][0])
}
var sum=[];
var element;
for(var j=0;j<count.length;j++){
element=count[j];
var indexes = [], i, occurence;
for(i = 0; i < count.length; i++){
if (count[i] == element){
indexes.push(i);
if(count.indexOf(element)==j){
occurence='first';
}
}
}
if(occurence=='first') {
sum.push([indexes.length])
} else {
sum.push([0])
}
occurence='existing';
}
for(var x=0;x<sum.length;x++){
if(sum[x][0]!=0)
{
sheet2.appendRow([shopOrder[x][0], partNumber[x][0], sum[x][0]]);
}
}
}