Google apps script Google Sheets:如果importhtml返回一个#N/a错误,则保持单元格值不变

Google apps script Google Sheets:如果importhtml返回一个#N/a错误,则保持单元格值不变,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我试图编写一个自定义函数,以防止在importhtml返回#n/a错误时单元格的值发生更改 这个公式总结了这个想法:=IF(ISNA(IMPORTHTML()http://www.example.com,“表”,1)),“不更改单元格值”,IMPORTHTML(“http://www.example.com“,“表”,1)) 我考虑在执行importhtml函数之前保存单元格值,以便在importhtml返回#n/a错误时将保存的值放回原处 我已经测试了很多不同的代码,但结果总是出现一些错误 如

我试图编写一个自定义函数,以防止在importhtml返回#n/a错误时单元格的值发生更改

这个公式总结了这个想法:
=IF(ISNA(IMPORTHTML()http://www.example.com,“表”,1)),“不更改单元格值”,IMPORTHTML(“http://www.example.com“,“表”,1))

我考虑在执行importhtml函数之前保存单元格值,以便在importhtml返回#n/a错误时将保存的值放回原处

我已经测试了很多不同的代码,但结果总是出现一些错误

如果有人能帮助我,我将非常感激。

  • 创建辅助图纸
  • 仅使用
    importhtml
    公式将“粘贴一次”值从主工作表复制到辅助工作表
  • 编写一个脚本,将所有值从主工作表复制到所需的辅助工作表
  • 将onChange触发器绑定到脚本,该触发器将在每次更新
    IMPORTHTML
    时运行脚本
示例脚本:
函数onChange(){
var ss=SpreadsheetApp.getActive();
var importSheet=ss.getSheetByName(“Sheet1”);
var finalSheet=ss.getSheetByName(“Sheet2”);
var importRange=importSheet.getDataRange();
var data=importRange.getValues();

对于(var i=0;你能提供你当前的脚本吗?现在我的当前脚本是@ziganotschka建议的。谢谢!!!它工作得很好!(除了谷歌金融公式,因为。
function onChange() {
  var ss=SpreadsheetApp.getActive();
  var importSheet=ss.getSheetByName("Sheet1");
  var finalSheet=ss.getSheetByName("Sheet2");
  var importRange=importSheet.getDataRange();
  var data=importRange.getValues();
  for(var i=0; i<data.length;i++){
    for(var j=0; j<data[0].length;j++){
      if(!isNaN(data[i][j])){
        finalSheet.getRange(i+1, j+1).setValue(data[i][j]);
    }
  }
 }      
}