如何在 Google 表格中删除每 3 行中的 2 行?

问题描述 投票:0回答:2

我有一张大床单,我想要:

第 1 行:保留此数据 第 2 行:删除该行 第 3 行:删除该行 第 4 行:保留此数据 第 5 行:删除该行 第 6 行:删除该行 第 7 行:保留此数据 等等大约 300 行。

我找到了删除偶数行和奇数行的公式,但我的大脑无法针对这种特定情况进行调整。任何帮助将不胜感激。因为是奇数,如果删除第2+3行,数据会移位,然后下一个要删除的分组变成3+4。

google-sheets automation
2个回答
0
投票

使用过滤器检索和显示数据

您可以使用这个脚本来完成您想做的事情。

代码:

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = ss.getDataRange();
  var values = data.getValues()
  var out = values.filter((_, i) => i % 3 == 0);
  data.clearContent();
  ss.getRange(1, 1, out.length, data.getLastColumn()).setValues(out);
}

代码片段

var out = values.filter((x, i) => i % 3 == 0);
过滤数组以仅保留每第三行,从初始行(索引0)开始。

随后,代码

ss.getRange(1, 1, out.length, data.getLastColumn()).setValues(out)
将筛选后的行从第一个单元格 (A1) 开始写回电子表格。它利用
out
数组的长度来确定要写入的行数。

运行代码之前的示例输出:

Sample 1

运行代码后的示例输出:

Sample 2


0
投票

选择插入>工作表并将此公式放入新工作表的单元格A1中:

=query(Sheet1!A1:D, "skipping 3", 0)

Sheet1!A1:D
替换为数据的实际位置。

参见 query()

© www.soinside.com 2019 - 2024. All rights reserved.