我正在尝试获得一个脚本,允许隐藏没有数据或返回空白结果的行。
我不知道该怎么做。
以下是截图的一些解释:
=IF(O49="","",A1)
)
发布于 2019-10-21 12:13:14
为了使用Google脚本以编程方式隐藏行,您可以使用任何hideRow(row)
、hideRows(rowIndex)
和hideRows(rowIndex, numRows)
函数(参见这里)。
为了满足您自己的需要,我开发了以下代码:
var startRow = 27;
var colToCheck = 12; // Column L
function shouldHideRow(ss, rowIndex, rowValue) {
if (rowValue != '') return false;
if (ss.getRange(startRow + rowIndex, colToCheck, 1, 1).isPartOfMerge()) return false;
if (ss.getRange(startRow + rowIndex + 1, colToCheck, 1, 1).isPartOfMerge()) return false;
return true;
}
function myFunction() {
var ss = SpreadsheetApp.getActive().getSheets()[0];
var numRows = ss.getLastRow();
var elements = ss.getRange(startRow, colToCheck, numRows).getValues();
for (var i=0; i<(numRows - startRow); i++) {
if (shouldHideRow(ss, i, elements[i][0])) {
ss.hideRows(startRow + i);
}
}
// Hide the rest of the rows
var totalNumRows = ss.getMaxRows();
if (totalNumRows > numRows)
ss.hideRows(numRows+1, totalNumRows - numRows);
}
在决定是否隐藏行时,检查的条件如下:
发布于 2020-10-31 19:17:25
我需要根据值自动隐藏/取消隐藏google工作表中的行,并通过以下代码进行求解:
跑步不需要很长时间,只需片刻就能完成。我是通过编辑触发器自动播放它,意思是当我编辑谷歌工作表时,它会自动隐藏或取消隐藏基于值的行。
我建议这样做,而不是上面提到的,因为执行起来花费了太多的时间。
var startRow = 7;
var colToCheck = 1; // Column A
function hideShow() {
var sh=SpreadsheetApp.getActive().getSheetByName('Print Staff Statement');
var rg=sh.getRange(startRow,colToCheck,sh.getLastRow(),1);
var vA=rg.getValues();
for(var i=0;i<vA.length;i++) {
if(vA[i][0]<1) {
sh.hideRows(i+startRow);
}
if(vA[i][0]>1) {
sh.showRows(i+startRow);
}
}
}
https://stackoverflow.com/questions/58480380
复制相似问题