要实现独立过滤多列的Sheets Apps Script,你可以按照以下步骤进行操作:
-
打开你的 Google Sheets 文档,并点击菜单栏上的 "工具" -> "脚本编辑器"。
-
在脚本编辑器中,你可以编写一个函数来实现独立过滤多列的逻辑。下面是一个示例函数:
function filterColumns() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// 获取被过滤的列
var filterColumns = [1, 3, 5]; // 这里使用了第1、3和5列
// 获取所有数据的范围
var dataRange = sheet.getDataRange();
// 获取所有数据的值
var dataValues = dataRange.getValues();
// 创建一个新的空数组来存储过滤后的数据
var filteredData = [];
// 遍历每一行数据
for (var i = 0; i < dataValues.length; i++) {
var rowData = dataValues[i];
var filteredRow = [];
// 遍历每一列数据
for (var j = 0; j < rowData.length; j++) {
// 检查当前列是否需要过滤
if (filterColumns.indexOf(j + 1) !== -1) {
filteredRow.push(rowData[j]);
}
}
// 将过滤后的行添加到过滤数据中
filteredData.push(filteredRow);
}
// 清除原有数据
sheet.clearContents();
// 将过滤后的数据写入表格
var filteredRange = sheet.getRange(1, 1, filteredData.length, filteredData[0].length);
filteredRange.setValues(filteredData);
}
-
在脚本编辑器中,保存你的代码并关闭编辑器。
-
返回到你的 Google Sheets 文档,刷新页面。
-
在菜单栏中找到新的 "自定义" 选项,然后选择 "filterColumns" 函数。
-
运行函数,它将从指定的列中过滤数据,并将过滤后的结果写回到原始表格中。
请注意,上述示例代码中的 filterColumns
数组包含了需要过滤的列的索引。你可以根据自己的需求进行修改和扩展。记得在修改代码后重新运行函数以使修改生效。