Google 文档,link 到 Google 表格的动态范围

Google Docs, link to dynamic range from Google Sheets

按照本指南,我可以将 Google Sheet 中的数据 link 放入我的 Google 文档中。

https://support.google.com/a/users/answer/9308662?hl=en

有没有办法在 table 收缩和增长时自动更新范围大小?

您可以执行以下操作:

  1. 创建一个包含 table(参考:Name a range of cells)的当前范围的新命名范围。
  2. Link 使用 Link to data in a spreadsheet.
  3. 指定范围到您想要的位置
  4. 在您的传播sheet上,点击Tools > Script editor打开一个绑定的脚本,然后复制以下代码。此函数检索您想要的命名范围并使用 table:
  5. 的当前尺寸更新它
const SHEET_NAME = "Sheet1"; // Change according to your preferences
const NAMED_RANGE_NAME = "MY_RANGE"; // Change according to your preferences

function updateNamedRange() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName(SHEET_NAME);
  const namedRanges = ss.getNamedRanges();
  const namedRange = namedRanges.find(namedRange => namedRange.getName() === NAMED_RANGE_NAME);
  const range = sheet.getRange("A1").getDataRegion();
  namedRange.setRange(range);
}
  1. 安装 time-driven trigger which will fire updateNamedRange with the specified periodicity. You can do that manually (following these steps),或以编程方式安装。为了以编程方式安装它,复制并 运行 一个像这样的函数一次:
function installTimeTrigger() {
  ScriptApp.newTrigger("updateNamedRange")
  .timeBased()
  .everyMinutes(1)
  .create();
}

注:

  • 上一个示例使用的是 everyMinutes with the parameter set to 1, so the range will be updated every minute. You can find methods for alternative frequencies here
  • 在上面的示例中,table 位于名为 Sheet1 的 sheet 中,具有命名范围标题 MY_RANGE,并且它从单元格 [=16] 开始=].如果不是您的情况,请更改您的传播sheet中的所有内容。
  • 我假设您已经知道如何 link 命名范围。