Google apps script 带有已执行引用的getRange().getFormula()

Google apps script 带有已执行引用的getRange().getFormula(),google-apps-script,google-sheets,Google Apps Script,Google Sheets,假设我们有一个单元格,其公式引用另一张表,如 =超链接(“http://www.w3c.org“另一张表!A1) 有没有一种简单的方法可以在引用已经执行的情况下获取getFormula() 因此,函数的结果应该是=HYPERLINK(“http://www.w3c.org“;“W3C”)是另一张表!A1=“W3C”是的,您只需使用getValue()函数而不是getFormula() “简单的方法”是主观的。以下是如何使用脚本执行此操作的示例: function myFunction(refer

假设我们有一个单元格,其公式引用另一张表,如
=超链接(“http://www.w3c.org“另一张表!A1)
有没有一种简单的方法可以在引用已经执行的情况下获取getFormula()


因此,函数的结果应该是
=HYPERLINK(“http://www.w3c.org“;“W3C”)
是另一张表!A1=“W3C”

是的,您只需使用getValue()函数而不是getFormula()

“简单的方法”是主观的。以下是如何使用脚本执行此操作的示例:

function myFunction(reference) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var formula = SpreadsheetApp
    .getActiveSpreadsheet()
    .getRange(reference)
    .getFormula();
  var text = /\((.*?),(.*?)\)/.exec(formula)[2];
  var value = sheet.getRange(text).getValue();
  return formula.replace(/\,.*?\)/,","+value+")");
}
相关的


谢谢你的回答,但不是真的。然后返回执行的整个公式。因此,在本例中,只有
W3C
字符串,而不是我需要的
=HYPERLINK()
公式。我需要的是第一级的公式,但所有的参考资料都已完成。好吧,第一次我不明白你的问题。第二个解决方案看起来不错。