Google apps script 排除getvalue()中包含空白单元格的行
我已经制作了一个工作表,其中有一个提交函数用于数据,但是我想让它忽略行,行中有一个空单元格。提交表如下所示:Google apps script 排除getvalue()中包含空白单元格的行,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我已经制作了一个工作表,其中有一个提交函数用于数据,但是我想让它忽略行,行中有一个空单元格。提交表如下所示: Date | Name | Number | Reason ----------------------------- 123 | AAA | 321 | xyz ----------------------------- 123 | BBB | 321 | xyz ----------------------------- 123 | CCC |
Date | Name | Number | Reason
-----------------------------
123 | AAA | 321 | xyz
-----------------------------
123 | BBB | 321 | xyz
-----------------------------
123 | CCC | | xyz
-----------------------------
123 | DDD | 321 | xyz
这将被逐字提交到另一个工作表中,但我希望脚本忽略第三行,因为它在数字列中是空的
这就是我设置脚本的方式
函数raidkpedit(){
var sss=SpreadsheetApp.getActiveSpreadsheet();
var ss=sss.getSheetByName('DKP-Raid');
var data_range=ss.getRange('A2:D101');
var data_data=data_range.getValues();
var数据_clean=????;
变量dkp_range=ss.getRange('C2:C101');
var tss=SpreadsheetApp.getActiveSpreadsheet();
var ts=tss.getSheetByName('DKP-History');
var tarrow=ts.getLastRow();
ts.getRange(tarrow+1,1,data\u clean.length,4).设置值(data\u clean);
dkp_范围。清除();
}
我尝试了不同的方法,但我无法清理数据,但我认为这就是它应该如何工作的,在数据清理部分进行一些过滤。这可能是愚蠢的简单,但我只是找不到解决办法,迄今为止
这就是如何将其添加到表底部的另一张表中
Date | Name | Number | Reason
-----------------------------
123 | AAA | 321 | xyz
-----------------------------
123 | BBB | 321 | xyz
-----------------------------
123 | DDD | 321 | xyz
如果要筛选出C列中有空单元格的行,请尝试:
var data_clean = data_data.filter(function (r) {return r[2]})
这是一种不同的方法:
function copyValues (){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('DKP-Raid');
var range = sheet.getDataRange().getValues();
var newRange = []
rows = 0;
for (var i=0; i<range.length; i++){
var row = range[i];
//If the column 2(C) is empty the line is skipped
if (range[i][2]){
newRange.push(range[i]);
rows+=1;
}
}
var dest_sheet = ss.getSheetByName('DKP-History');
dest_sheet.getRange(1, 1, rows, 4).setValues(newRange)
}
函数copyValues(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheetByName('DKP-Raid');
var range=sheet.getDataRange().getValues();
var newRange=[]
行=0;
对于(var i=0;i