Google 脚本 - 如果列中的单元格包含特定值,则隐藏该列
Google Script - Hide column if a cell within the column contains a specific value
我试图隐藏 Google 工作表中的所有列,如果该列中的单元格包含字母 "S",我正在检查第 6 行,它具有一周中每一天的首字母和想要显示和隐藏周末的能力
列 A6:G6 有 M、T、W、T、F、S、S
9999 的原因是 sheet 包含多个星期,我正在尝试查看所有这些。
function Hide() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var data = sheet.getDataRange();
var lastCol = data.getLastColumn()+1;
for(var i = 1; i < lastCol - 9999; i++) {
if(data.getCell(6, 9999 + i).getValue() === "S") {
sheet.hideColumns(9999 + i);
}
}
};
这是我目前所拥有的,但它似乎没有任何作用,任何人都可以帮助我理解我所缺少的东西,因为我一直在环顾四周,找不到任何可以帮助我解决这个问题的东西吗?
谢谢!!
试试这个。 Google Apps 脚本基本上是 Javascript。这就是我循环遍历列的方式,因为 sheet 的使用区域是动态更改的,然后它将在最后使用的列处停止。
function Hide() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
// get the entire 6th Row
var range = sheet.getRange("6:6");
// get number of columns to loop through
var num_cols = range.getNumColumns();
// loop through columns and check value one by one
// if value is equal to "S", then hide the column
for (var i = 1; i <= num_cols; i++) {
var value = sheet.getRange(6,i).getValue();
if (value == "S") {
sheet.hideColumns(i);
};
}
}
我试图隐藏 Google 工作表中的所有列,如果该列中的单元格包含字母 "S",我正在检查第 6 行,它具有一周中每一天的首字母和想要显示和隐藏周末的能力 列 A6:G6 有 M、T、W、T、F、S、S
9999 的原因是 sheet 包含多个星期,我正在尝试查看所有这些。
function Hide() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var data = sheet.getDataRange();
var lastCol = data.getLastColumn()+1;
for(var i = 1; i < lastCol - 9999; i++) {
if(data.getCell(6, 9999 + i).getValue() === "S") {
sheet.hideColumns(9999 + i);
}
}
};
这是我目前所拥有的,但它似乎没有任何作用,任何人都可以帮助我理解我所缺少的东西,因为我一直在环顾四周,找不到任何可以帮助我解决这个问题的东西吗?
谢谢!!
试试这个。 Google Apps 脚本基本上是 Javascript。这就是我循环遍历列的方式,因为 sheet 的使用区域是动态更改的,然后它将在最后使用的列处停止。
function Hide() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
// get the entire 6th Row
var range = sheet.getRange("6:6");
// get number of columns to loop through
var num_cols = range.getNumColumns();
// loop through columns and check value one by one
// if value is equal to "S", then hide the column
for (var i = 1; i <= num_cols; i++) {
var value = sheet.getRange(6,i).getValue();
if (value == "S") {
sheet.hideColumns(i);
};
}
}