问题标签 [importrange]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5512 浏览

google-sheets - 强制 IMPORTRANGE 以特定间隔更新

我看到一些抱怨通过谷歌表格中的 IMPORTRANGE 更新数据的延迟,但我需要相反的,不希望第二张表格自动更新,例如在一天结束时更新。

代码已经是这样的:

0 投票
2 回答
2347 浏览

google-apps-script - Importrange 自动运行?

使用 Google 脚本,我正在创建一堆电子表格,每个电子表格都包含一个 importrange 函数。在新的谷歌表格中,需要允许访问该导入范围以从源文件中获取数据 - 我想知道是否有可能使用谷歌脚本使其自动化并绕过每次手动按下“允许”的需要?

0 投票
1 回答
893 浏览

google-sheets - 将 IMPORTRANGE() 与电子表格密钥数组一起使用

我正在尝试使用 IMPORTRANGE() 从几个电子表格中导入数据,但是内联每个电子表格密钥会使阅读变得痛苦,添加新密钥也很痛苦。我正在尝试从列表中加载电子表格密钥,例如:

whereSettings!A30持有一把钥匙并Settings!A31持有第二把钥匙。

我没有收到任何错误,但它只从第一个电子表格加载数据!

有没有办法让这个工作?

0 投票
5 回答
7342 浏览

google-apps-script - 如何制作应用程序脚本以立即允许访问 Google 电子表格中的所有导入元素?

我必须使用谷歌电子表格。我正在使用一些模板电子表格,它们都包含很多指向其他电子表格的链接。问题是,每当我复制模板电子表格以使用大多数链接(使用 importrange 函数创建)时,都需要我再次授予它们访问权限 在此处输入图像描述

我想做的是制作一个脚本,让我可以一键导入所有链接。我试图制作一个应用程序脚本,但我找不到任何使用“允许访问”按钮访问文本框的方法,以便我可以制作我的脚本。我的问题是:有没有办法以编程方式访问“允许访问”按钮?或者有没有其他方法可以解决我的问题并允许一键访问所有链接?

0 投票
2 回答
2717 浏览

google-sheets - 通过 IMPORTRANGE 减少数据

我正在尝试使用以下 IMPORTRANGE 公式在我的 Google 表格中减少一些数据:

“源”表有大量的销售数据记录。我试图通过这个公式在新工作表中做的只是从源工作表中引入与单元格 B1 中指定的客户编号匹配的销售记录。

如果我将 IMPORTRANGE 限制为仅查询大约 10,000 行,它似乎可以正常工作。一旦我浏览了大约 20,000 行,屏幕会短暂地闪烁记录,然后在工作表的右上角显示一个小进度条,记录消失。带有公式的单元格只显示#ERROR!没有其他评论来告诉我原因。

我的公式语法有问题吗?

有没有更好的方法来实现这种数据减少?

IMPORTRANGE 功能是否存在一些未记录的数据限制(我使用的是“新”Google 表格)?

0 投票
5 回答
22265 浏览

google-apps-script - IMPORTRANGE 函数不刷新链接的 Google 工作表中的新条目

添加链接的电子表格后,我的 IMPORTRANGE 函数不会用新数据刷新。相反,每当我想查看新信息时,我都必须再次剪切和粘贴所有公式。

我正在使用新版本的 Google 表格,并且我知道在使用 IMPORTRANGE 功能发布此版本时存在一些问题。

我目前正在导入 24 列数据,并且原始电子表格将随着它链接到表单而不断增长。这是我使用 IMPORTRANGE 的主要原因,因为它有助于保持原始电子表格以最大速度工作。

我想知道的是,是否有其他人遇到过这样的问题,如果有,是否有任何解决方法(在应用程序脚本/另一个函数中)?在最坏的情况下,是否有一个应用程序脚本可以清除电子表格并在打开/单击菜单时重新输入所有公式,因为每次创建新条目时更新每一列确实很痛苦。

编辑 -如果更改任何内容,我尝试导入的几乎所有单元格都是在原始电子表格中制​​定的- 编辑

0 投票
2 回答
6391 浏览

google-apps-script - 如何使用包含 VLOOKUP 公式的 IMPORTRANGE 链接各种 Google 电子表格而不返回 #N/A?

问题:

IMPORTRANGE用于从不同的电子表格中提取数据时,原始电子表格中包含包含 VLOOKUP 的公式的单元格通常(但不总是)返回#N/A (ERROR: Did not find value 'xxx' in VLOOKUP evaluation). 在原始表中,公式计算正确并显示了一个值。这并不总是发生,有时它确实会引入正确的值。

意图:

要从不同的电子表格中获取数据,请将它们组合到不同的电子表格中并对其进行一些计算。然后将此计算电子表格(或多个计算电子表格)中的信息提取到报告电子表格中,以进行进一步的计算和格式化。

设置:

有几个源数据电子表格,dataspreadsheet1比如dataspreadsheet2dataspreadsheet3。创建一个计算电子表格 ( calcspreadsheet),在每个数据电子表格中创建一个副本,并分别sheet1命名这些工作表和。用于此的语句创建如下:where is a sheet in ,其中包含相应列中的名称、类型和 ID。datasheet1datasheet2datasheet3IMPORTRANGEimportrange(+VLOOKUP("dataspreadsheet1",filelist!A1:C1000,3,FALSE),"sheet1!a1:Z1000")filelist!A1:C1000calcspreadsheet

然后将这些工作表中的每一个中的值datasheet1-3用于另一个工作表中的计算,calcsheet1calcspreadsheet. 因为这样做的主要目标是从 3 中添加每日值dataspreadsheets,但这些值sourcesheets在同一行上并不都具有相同的数据,因此VLOOKUP再次使用 a 以确保添加日期使用该行作为日期,datasheet1-3而不管其行号。例如VLOOKUP($A11,'datasheet1'!$A:$P,4) + VLOOKUP($A11,'datasheet2'!$A:$P,4) + VLOOKUP($A11,'datasheet3'!$A:$P,4),其中 A 列是所有工作表中的日期列。

这似乎工作正常,虽然在打开calcspreadsheet时可能需要很长时间才能完成更新,在此期间#N/A会显示很多 's。最终它还是正确的。

reportspreadsheet创建 a 时会出现问题,然后使用IMPORTRANGE调用从中提取信息calcsheet1以便能够使用它。这通常但并非总是会导致一开始就出现问题状态。这里的IMPORTRANGE调用的reportspreadsheet生成方式与calcspreadsheet: =importrange(+VLOOKUP(calc!B1,sheetcodes!A1:C3000,3,FALSE),"sheet1!a1:Z1000")wherecalc!B1包含源电子表格的名称(在此calc将是 'calcspreadsheet' 并sheetcodes!A1:C3000再次包含带有Name,TypeId在相应列中的工作表列表)中的调用类似

我尝试过的解决方法:

我确实注意到IMPORTRANGE在不包含的单元格上效果更好VLOOKUP所以我试图将 的内容复制calcsheet到另一个表中calcspreadsheet,调用exportsheet但只有值在那里,而不是公式,然后IMPORTRANGE在这个上使用exportsheet。使用的复制脚本如下:

这似乎可行,但不幸的是,用于将 calcsheet 的值复制到 exportsheet 的复制脚本现在显示了相同的行为,它有时会起作用,有时会给出#N/A,所以让我遇到了同样的问题。

我的问题:

我已经阅读了各种具有类似问题和回复的帖子,其中提到此功能是喜怒无常或有错误。其他人说不可能在IMPORTRANGE. 鉴于它有时有效,有时无效,我怀疑该功能本身可能是正确的,但设置中存在同步或超时问题。

如何设置上述功能。要么使用IMPORTRANGEVLOOKUP完全进行一些更改/添加,要么以不同于一开始的方式构建。

0 投票
1 回答
353 浏览

google-sheets - 使用 IMPORTRANGE 导入公式

我正在使用 IMPORTRANGE 来同步不同的工作表,但该函数似乎只导入单元格值而不是任何基础公式。

你能帮我吗?

0 投票
5 回答
21670 浏览

javascript - 如何允许通过应用程序脚本访问 importrange 功能?

当您在电子表格中手动输入 importrange 函数时,您会收到一个弹出窗口并且必须“允许访问”。弹出以允许访问 importrange

但是,我正在尝试通过脚本找到一种方法来执行此操作,因为我正在创建许多电子表格,每个电子表格都具有查询导入范围功能(我“拥有”要导入数据的电子表格)。对于我来说,通过弹出窗口手动“允许访问”并更新功能以包含查询功能太多了。

因此,我正在寻找应用程序脚本中的函数调用,它可以执行与弹出窗口相同的操作。下面的代码段示例。

有谁知道可以“允许访问”的功能?斯特凡

0 投票
2 回答
2445 浏览

google-sheets - SUM、FILTER、QUERY 和 IMPORTRANGE 并匹配数据

在单独的电子表格中,我在第 2 列 (B2:B) 中有项目名称。在同一个电子表格的第 10 列 (J2:J) 中,我有时间(持续时间)花在那个项目上。这些项目是重复的,并且在它们上花费了额外的时间,因此它们在列表中多次出现。像这样的东西:

在公式所在的父电子表格中,我有一个位于第 2 列 (B2:B) 中的所有项目的主列表。我想对另一个电子表格上的数据进行汇总和过滤,并将其与正确的项目名称相匹配。所以是这样的:

我已经试了:

这是行不通的。

我确实有一个解决方法,就是在同一个公式中对三个 IMPORTRANGE 函数进行求和和过滤,但这意味着我必须运行 IMPORTRANGE 数千次?效率不高: