有没有快速删除预定义多列的方法?

时间:2014-01-09 19:36:18

标签: google-apps-script google-sheets

我将有一个定期电子表格,其中包含大量信息。 (大约153列。)但我只需要保留其中的一小部分。所以我计划编写一个脚本来运行以删除一组预定义的列。

示例:

Columns from initial spreadsheet:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
A B C D E F G H I J  K  L  M  N

I only want columns 2-4, 8, 10, & 13-14 to be left, say.

Columns from final spreadsheet after script is run:
1 2 3 4 5 6 7
B C D H J M N

我能想到的唯一方法就是我携带一个计数器,每次删除一列时我都要调整1以准确删除循环中的下一个所需列。

是否没有deleteColumns(2,7,12,...)类型代码..?

谢谢。

1 个答案:

答案 0 :(得分:1)

向后计数 - 这样你删除的内容对你的其余工作没有任何影响。

...
var sheet = blahblahblah;
var lastCol = sheet.getLastColumn();
var keep = [2,3,4,8,10,13,14]; // array of column numbers to keep

for (var col=lastCol; col > 0; col--) {
  if (keep.indexOf(col) == -1) {
    // This isn't a keeper, delete it
    sheet.deleteColumn(col);
  }
}
...