在不同数据之间插入行

时间:2016-07-22 16:53:36

标签: google-apps-script google-sheets

我来自意大利的安德鲁!

我试图编写一个脚本,在电子表格中的某些数据之间插入一个空行。

示例,我有这个数据集:

starting data set

我想得到这样的东西:

final data set

换句话说:

脚本应该检查所有行,并且当日期更改和名称更改时,必须添加一个空行。

对此有何想法? 我尝试修改我在网上找到的删除表格中空白行的脚本,但我无法获得任何结果。

谢谢!

1 个答案:

答案 0 :(得分:2)

(:我同意Sandy Good ......就在我的头顶,这里有一段可以帮助你入门的代码:

function doSomething() {
 var spreadsheet = SpreadsheetApp.openById('yourID'), // Get the spreadsheet
     tab = spreadsheet.getSheets()[0], // Get the first tab
     values = tab.getRange(2, 1, tab.getLastRow(), 3).getDisplayValues(), //Get the values beginning in the second row because of the headers
     newValues = [], // Empty array where we're gonna push the new values
     lastDate,
     lastName;

 // Loop through all the values
 for(var i = 0; i <values.length; i++){
   // If the last name is different from the current name or the last date is different from the current date add an empty "row" to the new array
   if((lastDate != undefined && lastName != undefined) && (values[i][0] != lastDate || values[i][1] != lastName)){
     newValues.push(['','','']);
   }

   //Add the current row to the new array
   newValues.push(values[i]);

   //Sets the lastDate and lastName to the current values for the next evaluation
   lastDate = values[i][0];
   lastName = values[i][1];
 }

 //Sets the new values
 tab.getRange(2,1,newValues.length,3).setValues(newValues)

}