隐藏与当前周不匹配的每一行以及接下来的十二行



假设今天的日期是1月26日,我有一张我正在测试的谷歌表,其中a列第3、15和27行输入了日期(1月19日、1月26和2月2日(。我试图隐藏1月19日和2月2日的那两排(以及接下来的12排(。

我发现了一个旧的帖子/解决方案,它只为第3行(1月19日(隐藏日期行。我不知道如何使它适应我的需要。如有任何帮助,我们将不胜感激。

function hideRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName("Sheet1");
var v = s.getRange("A:A").getValues();
var today = new Date();
today.setHours(0, 0, 0, 0);
for (var i = s.getLastRow(); i > 2; i--) {
var t = v[i - 1];
if (t != "") {
var u = new Date(t);
if (u < today) {
s.hideRows(i);
}
}
}
前几周日期(隐藏我(
隐藏我1
隐藏我2
隐藏我3
隐藏我4
隐藏我5
隐藏我6
隐藏我7
隐藏我8
隐藏我9
隐藏我10
隐藏我11
隐藏我12
本周日期(演示(
演示1
演示2
演示3
演示4
演示5
演示6
演示7
演示8
演示9
演示10
演示11
演示12
下周日期(隐藏我(
隐藏我1
隐藏我2
隐藏我3
隐藏我4
隐藏我5
隐藏我6
隐藏我7
隐藏我8
隐藏我9
隐藏我10
隐藏我11
隐藏我12

这是我正在使用的一个解决方案。

function hideRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName("Dude");       // Enter sheet name
var row = s.getRange('A2:A').getValues();  // Enter column letter that has the text "hide" and  "unhide"
var cell = s.getRange('A1').getValue();
s.showRows(1, s.getMaxRows());
for(var i=0; i < row.length; i++){ if(row[i] != cell) { s.hideRows(i+2, 1); }   // Value to hide

}
}

相关内容

  • 没有找到相关文章

最新更新