0

我目前运行简单的每日脚本以按价格对产品进行排序。这是通过冻结第一行(标题)完成的。删除多列,然后按价格在Google表格(脚本编辑器)中排序

function myFunction() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheets()[0]; 

// Sorts the sheet by the column I - the ninth across - , in ascending order 
sheet.sort(9); 
} 

我需要现在导入一些数据与一个Python脚本有问题处理冻结行。所以我需要在Google Sheet中完成清理脚本。

如何删除列D,F,H,然后按第I列中的价格(不必冻结第一行)全部使用单个Google脚本进行排序?

第1部分https://developers.google.com/apps-script/reference/spreadsheet/sheet

sheet.deleteColumn(4,6,8); 

第2部分 - 可能的头部忽略Google Apps Script: Can I specify a header row when sorting in a script?

sheet.getRange(2, 1, height-1, width+1).sort(width+1); 
+1

不要清理起来之后,你可以运行写一个谷歌的脚本你的python脚本需要的数据放入另一张表中它更容易导入。但是删除和排序列可以通过'Range.moveTo'和'Range.sort'完成。 https://developers.google.com/apps-script/reference/spreadsheet/range – SpiderPig

+0

伟大的想法,我可能需要去。现在得到了我的功能 - 但需要清除工作表,然后每天导入另一个Google工作表。任何想法将什么需要在功能中弹出? ''//清除表单,准备导入 clear(); //从Google表格导入内容# ??''' – me9867

+0

您的意思是您的一张表格专门用于导入数据,并且您希望每天导入其他表格数据?你可以使用'Sheet.clear()'和'Range.copyTo()'。 – SpiderPig

回答

1
function myFunction() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheets()[0]; 

//Clear sheet, ready for import 
clear(); 

// Import content from Google Sheet 
?? 

// Delete unused columns 
sheet.deleteColumn(4); 
sheet.deleteColumn(5); 
sheet.deleteColumn(6); 

// Freeze first row 
sheet.setFrozenRows(1); 

// Sort by price 
sheet.sort(4); 

// Unfreeze first row 
sheet.setFrozenRows(0); 
} 
相关问题