【发布时间】:2021-03-18 15:46:20
【问题描述】:
我有一个表,基本上显示了另一个表的数据。问题是:我在原始表中有一些涉及删除行的脚本过程,当它发生时,我失去了对行位置的引用。
我该如何解决这个问题?
已经尝试过:='INVENTORY'!A3=' »»»»»»»»» INVENTORY'!$A$3
【问题讨论】:
标签: google-sheets reference google-sheets-formula
我有一个表,基本上显示了另一个表的数据。问题是:我在原始表中有一些涉及删除行的脚本过程,当它发生时,我失去了对行位置的引用。
我该如何解决这个问题?
已经尝试过:='INVENTORY'!A3=' »»»»»»»»» INVENTORY'!$A$3
【问题讨论】:
标签: google-sheets reference google-sheets-formula
当手动或通过脚本删除整行或整列时,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);
}
【讨论】: