Javascript 获取特定列的值并对特定列进行筛选-谷歌应用程序脚本
我有这个剧本Javascript 获取特定列的值并对特定列进行筛选-谷歌应用程序脚本,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我有这个剧本 function filter2() { var sss = SpreadsheetApp.getActiveSpreadsheet(); //replace with source ID var ss = sss.getSheetByName('Users'); //replace with source Sheet tab name var range = ss.getRange('A:G'); //assign the range you want to copy
function filter2() {
var sss = SpreadsheetApp.getActiveSpreadsheet(); //replace with source ID
var ss = sss.getSheetByName('Users'); //replace with source Sheet tab name
var range = ss.getRange('A:G'); //assign the range you want to copy
var rawData = range.getValues() // get value from spreadsheet 1
var data = [] // Filtered Data will be stored in this array
for (var i = 0; i< rawData.length ; i++){
if(rawData[i][6] == "User missing") // Check to see if Column E says No Billing Accountif not skip it
{
data.push(rawData[i])
}
}
var tss = SpreadsheetApp.openById('hsgsklllssdllsls'); //replace with destination ID
var ts = tss.getSheetByName('Summary'); //replace with destination Sheet tab name
ts.getRange(ts.getLastRow()+1, 1, data.length, data[0].length).setValues(data);
}
函数过滤器2(){
var sss=SpreadsheetApp.getActiveSpreadsheet();//替换为源ID
var ss=sss.getSheetByName('Users');//替换为源工作表选项卡名称
var range=ss.getRange('A:G');//指定要复制的范围
var rawData=range.getValues()//从电子表格1获取值
var data=[]//筛选后的数据将存储在此数组中
对于(var i=0;i
这是一个过滤器脚本。在这个过滤器中,从源获取的值在A:G范围内,但我只需要获取B列、D列、F列和G列
如何避免过滤A、C、E列?说明:
选择特定列的一种方法是使用函数
- 下面将从范围
中获取列A:g
b、d、f、g
const rawData=ss.getRange(“A:G”).getValues().map(([,b,d,f,G])=>[b,d,f,G])代码>
for
循环对特定列进行筛选。
使用它对特定列进行筛选更有效。您尚未在问题中指定要筛选的列。假设新数据将由列b、d、f、g
组成,则原始数据的列索引将为0,1,2,3
例如:
const frawData=rawData.filter(行=>行[3]==“用户丢失”)代码>
这将在列g
上进行过滤,因为我们已删除a、c、e
,并且列g
处于3
位置(从0
开始)。如果要在其他列上进行筛选。为b
选择0
,d
选择1
,f
选择2
,g
选择3
解决方案:
function filter2() {
const sss = SpreadsheetApp.getActiveSpreadsheet(); //replace with source ID
const ss = sss.getSheetByName('Users'); //replace with source Sheet tab name
const rawData = ss.getRange("A:G").getValues().map(([,b,,d,,f,g]) => [b,d,f,g]); // new code (gets b,d,f,g)
const frawData=rawData.filter(row=>row[3]=="User missing");// 3 means column G. [b,d,f,g] => [0,1,2,3]
const tss = SpreadsheetApp.openById('hsgsklllssdllsls'); //replace with destination ID
const ts = tss.getSheetByName('Summary'); //replace with destination Sheet tab name
ts.getRange(ts.getLastRow()+1, 1, frawData.length, frawData[0].length).setValues(frawData);
}