问题标签 [google-sheets-custom-function]

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 投票
1 回答
37 浏览

google-apps-script - 在所有工作表中搜索在其旁边的单元格中具有特定值的字符串

我有一个自定义公式脚本,它循环遍历选项卡名称中包含“@”的所有工作表。然后,我在其中查看一个范围以找到我正在搜索的字符串(作为参数给出)。如果我在范围内找到该字符串,我会运行一些其他代码来检查其他单元格。

这里的重要部分是在范围内找到字符串。这是我的代码。

这是该表的外观以供参考。

我想弄清楚的是如何检查我正在检查的字符串是否在其左侧有一个特定值 2 个单元格。这个值应该是“G”。

例如,我使用了公式=calcGoaltenderWins("Name", dummy)。如果在 D5:D12 范围内(特别是在 D5 中)找到名称“Name”,那么它也应该只检查 B5(左侧的单元格 2)是否等于“G”,以便继续运行代码。如果它不等于“G”,那么它不应该响应它找到的字符串。

0 投票
2 回答
475 浏览

javascript - 在 Google Scripts 中创建一个简单的计数器来跟踪以前的值

所以我正在尝试使用谷歌表格和一个自定义函数来制作一个自动轮换时间表,该函数每周从链接的表格中选择一个新员工,然后当它到达底部时再次从列表顶部开始,使用谷歌触发器每 7 天运行一次计数器。

我很难弄清楚如何每周在电子表格中存储一个值以存储计数器的值,然后在函数再次运行以更新计数器时引用相同的值。

我也有一个问题,我的电子表格在我当前的输出中抛出“结果不是数字”错误,可能是因为它指的是它自己,当它只能存储公式时我不知道如何初始化计数器在它所指的单元格中。

这是我所拥有的:

0 投票
1 回答
367 浏览

google-apps-script - 为什么谷歌电子表格中的数组交集没有按预期工作?

这是我第一次使用谷歌电子表格,我正在尝试在函数中完成一些事情。我知道它是 javascript(我并不完全熟悉的一种语言)。我试图从两个表中获取一个范围,并获取每个表的交点位置,并为已经存在的行填充缺失值。

例如,假设以下两张纸:

我想找到 Fruit 行的交叉点,并填写我们知道的每一个的颜色、重量和 isApple。

我写了一些我认为应该努力获得 的交集的东西range1,并且由于某种原因它返回一个空数组。当我在 Apps 脚本编辑器中测试它时,它似乎工作正常。

我希望这会返回一个数组,[0,2]因为第 0 个元素 Banana 和 Sheet1 中的第一个元素 Apple 存在于表 2 中。

然后,我将使用该数据从 Sheet2 中的信息中填充 Apple 和 Banana 的行。

我还没有进入第二部分,因为我似乎无法让工作表找到交叉点。

我的最终目标预期输出是将工作表 2 更改为:

0 投票
2 回答
126 浏览

google-apps-script - 通过 onOpen 命令运行时 SpreadsheetApp.openById 显示错误

我怀疑这是一个简单的修复,但我的 Google App 脚本有问题,我已经阅读了许多帖子,这些帖子表明这些函数在自定义函数中已被弃用,但我不知道如何修复。

我有一个在使用 onOpen() 函数打开 Google Sheet 时自动运行的脚本。我试图在这个函数中移动 OpenByID() 方法,但得到了同样的错误。有人可以告诉我如何具体解决这个问题。

注意:它永远不会记录文件名。愚蠢的是,这在从调试器运行时有效。问候

0 投票
1 回答
82 浏览

google-apps-script - 如何创建返回上次修改单元格的函数?

我正在为 Google Sheets 脚本编写一个函数,该函数接受单元格引用并输出该单元格上次修改的日期。我不知道如何开始。

0 投票
1 回答
84 浏览

google-apps-script - 在自定义函数中使用 fetchAll 并行化请求会导致它崩溃

我正在尝试优化此代码以使其尽可能短我使用它来调用 API 以获取 Google 表格中的数据。有人告诉我,正是 fetch 使脚本如此之长,我可以尝试使用 afetchAll但它破坏了我的代码,我觉得将我的 url 放在一个数组中会破坏我的代码(对于fetchAll)。if我也对我提出的声明表示怀疑,以防数据是null(已经使我的函数崩溃)。

尝试fetchAll

所以我在文档中看到我必须将我的 URL 放在 Tab [] 中才能发出请求,但我知道我有以下错误:

我想我做错了什么,但看不到。谢谢

0 投票
1 回答
479 浏览

google-apps-script - 如何从谷歌应用脚​​本[自定义功能刷新]中获取自动刷新谷歌电子表格自定义单元格功能

如何在制作新工作表或更改工作表名称或复制工作表或从谷歌电子表格删除工作表时通过谷歌应用程序脚本自动刷新当前工作表名称列表

:::::: 我需要工作表名称列表 :::::::::::::

  1. 有很多张
  2. 新工作表将由其他用户添加
  3. 新工作表的名称将被其他用户更改
  4. 一些工作表将被其他用户删除
  5. 我需要现有的工作表名单而不是过去

:::::::::::::::::::::::::::::::::::::::::

并且工作表名称列表应显示在 代码表达式为 sheet[1]的第二张工作表上

下面的代码运行良好。但不会通过添加工作表或删除工作表来刷新

0 投票
0 回答
22 浏览

google-apps-script - 评估/执行时谷歌电子表格自定义函数?

我在容器绑定的 Appscript 中获得了一个带有两个自定义函数的 Google 电子表格。

然后我在电子表格内的一些单元格中使用它们。

演示电子表格

然后我更改了电子表格的评估设置。

电子表格属性

但我的问题是,这些功能没有像我想的那样执行/评估。我在 Stackdriver 日志中看不到更新的时间戳和新条目。所以它不会被执行 a) 打开电子表格时 b) 也不会在属性中指定的时间段之后执行。只有在我更改脚本中的代码或添加或删除行/列时才会评估它。

谁能告诉我执行自定义函数的逻辑是什么?我建议两者之间有任何缓存。有没有其他方法可以像这个伪代码一样执行电子表格中的所有功能?

0 投票
2 回答
62 浏览

google-apps-script - -自定义函数返回不更新

我一直在制作一个脚本来查找与昵称相关的数字(等级)。我为此创建了一个自定义函数。基本上,公式输入在昵称数组中找到该输入(昵称),它通过添加 2 将数组顺序转换为行号(+1,因为数组从 0 开始,并且由于我的列的索引而 +1)。之后,它会转到排名号所在的列,这就是它返回的内容。

该脚本运行良好,但是当我更新排名数字时,公式并不总是返回新值(但如果我再次运行公式,它会返回)所以我认为问题是执行它或者我的因为我已经设置了设置,电子表格并没有真正每分钟重新计算一次。

有什么问题,我该如何解决?谢谢!

这是自定义函数的代码:

更新: 示例图片

第一列是分配有数字的名称列表(排名)。5th clumn 有recruit_name。该函数的作用是在第一列中查找招聘名称,在这种情况下它将位于 (2,1) 上,然后复制分配给它的数字(排名,在这种情况下位于单元格 (2,2) 上)。这就是函数将返回的内容-> 2。当我将 2 更改为 3(或任何其他数字!=2)时,问题就出现了,现在单元格(2,2)将有一个 3,但作为单元格(1,5)的函数输入没有改变,这就是为什么return 没有得到更新。

公式的返回不在图片中,但它可能在例如 (1,6) 中。

0 投票
1 回答
112 浏览

javascript - 与 ARRAYFORMULA 一起使用的自定义表格功能

我正在尝试使用以下自定义函数DrivingKmsARRAYFORMULA以便递归计算指定列的距离。

我怎样才能更新它以便它可以使用ARRAYFORMULA

当我在 an 中调用函数ARRAYFORMULA时,它只转换前两个位置点(F2 和 M2)。