【问题标题】:Maintain cell reference when deleting rows in the original table - Google Sheets/Excel删除原始表中的行时保持单元格引用 - Google 表格/Excel
【发布时间】:2021-03-18 15:46:20
【问题描述】:

我有一个表,基本上显示了另一个表的数据。问题是:我在原始表中有一些涉及删除行的脚本过程,当它发生时,我失去了对行位置的引用。

我该如何解决这个问题?

已经尝试过:='INVENTORY'!A3=' »»»»»»»»» INVENTORY'!$A$3

【问题讨论】:

    标签: google-sheets reference google-sheets-formula


    【解决方案1】:

    当手动或通过脚本删除整行或整列时,Google 表格会将所有引用它的公式替换为 #REF

    您可以使用INDIRECT 使引用真正静态:手动或脚本。

    公式示例:

    =INDIRECT("Form!B7")*INDIRECT("Form!F7")'
    

    脚本示例:

    function submitData() {
      var ss        = SpreadsheetApp.getActiveSpreadsheet();
      var formSS    = ss.getSheetByName("Form"); //Form Sheet
      var datasheet = ss.getSheetByName("Data"); //Data Sheet
       
      // get range and formula
      var dataRange = datasheet.getRange("G1");
      var formula = dataRange.getFormula();
    
      // delete row
      formSS.deleteRow(7);
    
      // redefine formula
      formula = '=INDIRECT("Form!B7")*INDIRECT("Form!F7")';
      
      // set new formula
      dataRange.setFormula(formula);
    }
    

    【讨论】:

    • 公式真的别无选择?
    • 编辑了我的答案。您可以使用 INDIRECT 来保留引用,但您需要一个一个地包含每个单元格引用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2023-03-30
    • 1970-01-01
    • 2022-01-09
    • 2013-11-20
    • 1970-01-01
    相关资源
    最近更新 更多