首页 > 解决方案 > 在 getvalue() Google 表格中排除带有空白单元格的行

问题描述

我已经制作了一张表,其中有一个提交数据的功能,但我想让它忽略行,行中有一个空单元格。提交表如下所示:

Date | Name | Number | Reason
-----------------------------
123  | AAA  | 321    | xyz
-----------------------------
123  | BBB  | 321    | xyz
-----------------------------
123  | CCC  |        | xyz
-----------------------------
123  | DDD  | 321    | xyz

这将逐字提交到另一张表中,但我希望脚本忽略第三行,因为它在数字列中是空的。

这就是我设置脚本的方式。

function RaidDKPedit() {
  var sss = SpreadsheetApp.getActiveSpreadsheet();
  var ss = sss.getSheetByName('DKP-Raid');

  var data_range = ss.getRange('A2:D101'); 
  var data_data = data_range.getValues();
  var data_clean = ????;

  var 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_clean.length,4).setValues(data_clean);
  dkp_range.clear();

}

我尝试了不同的方法,但我无法清理数据,但我认为它应该是这样工作的,在数据​​清理部分进行一些过滤。这可能非常容易,但到目前为止我找不到解决方案。

这就是它应该如何添加到表格底部的另一张纸上的方式

Date | Name | Number | Reason
-----------------------------
123  | AAA  | 321    | xyz
-----------------------------
123  | BBB  | 321    | xyz
-----------------------------
123  | DDD  | 321    | xyz

标签: google-apps-scriptgoogle-sheets

解决方案


如果要过滤掉 C 列中包含空单元格的行,请尝试:

var data_clean  = data_data.filter(function (r) {return r[2]})

推荐阅读