【问题标题】:How to write If ELSE statement in Google Sheets to Hide columns dependent on cell value如何在 Google 表格中编写 If ELSE 语句以隐藏取决于单元格值的列
【发布时间】:2025-12-06 09:40:01
【问题描述】:

尝试在 Google 工作表中编写 if 语句以隐藏取决于 D4

中单元格值的列范围
If D4 == 1 hide columns H:AA
If D4 == 2 hide columns O:AA
Else show A:AA

代码如下:

var cell = "D4";
var value1 = 1;
var value2 = 2;
var value3 = 3;
var activeSheet = ss.getActiveSheet();

function HideColumn(); {
    If(cell == value1) {
        activeSheet.hideColumn("H:AA");
        Else If(cell == value2) {
            activeSheet.hideColumn("O:AA");
            Else If(cell == value3) {
                activeSheet.unhideColumn("H:AA");
            }
        }
    }
}

【问题讨论】:

    标签: if-statement google-apps-script google-sheets conditional-statements


    【解决方案1】:

    您的代码需要一些修改:

    var ss=SpreadsheetApp.getActive();
    var value1 = 1;
    var value2 = 2;
    var value3 = 3;
    var activeSheet = ss.getActiveSheet();
    var cell = activeSheet.getRange("D4").getValue();
    
    function HideColumn() {
      if(cell == value1) {
          activeSheet.hideColumns(8, (27-8+1));
      }
      else if(cell == value2) {
            activeSheet.hideColumns(15, (27-15+1));
      }
       else if(cell == value3) {
          activeSheet.hideColumns(8, (27-8+1));
      }
    } 
    

    解释:

    1. 如果你想隐藏几列而不是一列,你需要使用方法hideColumns(columnIndex, numColumns)(注意符号)
    2. ifelse if 语句应该分开而不是嵌套(注意括号)
    3. Apps Script 中的ifelse 语句以小写形式编写
    4. 获取单元格内容的正确方法是var cell = activeSheet.getRange("D4").getValue();

    希望我的回答对你有所帮助。

    【讨论】:

      最近更新 更多