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 收缩和增长时自动更新范围大小?
您可以执行以下操作:
- 创建一个包含 table(参考:Name a range of cells)的当前范围的新命名范围。
- Link 使用 Link to data in a spreadsheet.
指定范围到您想要的位置
- 在您的传播sheet上,点击
Tools > Script editor
打开一个绑定的脚本,然后复制以下代码。此函数检索您想要的命名范围并使用 table: 的当前尺寸更新它
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);
}
- 安装 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 命名范围。
按照本指南,我可以将 Google Sheet 中的数据 link 放入我的 Google 文档中。
https://support.google.com/a/users/answer/9308662?hl=en
有没有办法在 table 收缩和增长时自动更新范围大小?
您可以执行以下操作:
- 创建一个包含 table(参考:Name a range of cells)的当前范围的新命名范围。
- Link 使用 Link to data in a spreadsheet. 指定范围到您想要的位置
- 在您的传播sheet上,点击
Tools > Script editor
打开一个绑定的脚本,然后复制以下代码。此函数检索您想要的命名范围并使用 table: 的当前尺寸更新它
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);
}
- 安装 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 命名范围。