问题标签 [google-sheets-macros]

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 回答
220 浏览

google-apps-script - 使用谷歌应用脚​​本在谷歌表格中搜索字符串

我有 2 列,分别是谷歌表中的用户名和用户电话号码。我有一个变量来存储输入的用户名,并且我想在更改输入用户名时找到该用户名的电话号码。非常感谢您的帮助。

0 投票
2 回答
8985 浏览

google-sheets - 谷歌表格 - 根据值查找最近的日期

我有一个表格,显示收到反馈的每个人的姓名以及收到反馈的时间,但是,有些人在多个日期收到反馈,所以我需要一个公式来找到最近的日期并将其复制到单独的表格中。

我附上了下面的谷歌表格。例如,第二个选项卡显示表中每个人的姓名,但我需要知道他们根据表 1 中的数据收到反馈的最近日期。 https://docs.google.com/spreadsheets/d/1n3c6F97 -10mzZ8g3VYroRgl5ullXz_dDJrpdV5SQRLg/edit#gid=1526292532

非常感谢任何帮助

0 投票
1 回答
77 浏览

google-apps-script - 在 Google 表格中将两个单元格值链接在一起

您好,感谢您的帮助,

我正在寻找一种在 Google 表格中将 2 个单元格链接在一起的方法,其中一个单元格的输出将取决于另一个单元格的输入。

让我举个例子,我有一个带有代码的列数据库,旁边有相应的名称,下面是简单的例子。

填写订单时,我希望能够输入代码,工作表将自动查找名称并填写,或者输入名称,工作表将自动填写代码。

例子:

我想弄清楚获得所需解决方案的“过程”可能是什么。我自己不擅长编码,也不知道从哪里开始,但我在想一种解决方案可能是使用 VLOOKUP 函数向下走每一行,检查 CODE 列中是否有值,然后 VLOOOKUP数据库中对应的NAME 值,如果没有CODE 值,则查看是否有NAME 值和VLOOKUP CODE 值。然后移动到下一行。

感谢您抽出宝贵时间阅读本文,感谢您的帮助。

0 投票
1 回答
59 浏览

javascript - 如何修复“TypeError:在 Google 脚本中找不到函数 insertColumns”

我对 JS 和 GS 还很陌生,想在特定位置创建一个简单的插入,但我不断收到此错误:

找不到方法 insertColumnBefore(number,number)。(第 34 行,文件“InsertColBalSheet”)

我尝试过: - 转换为数字 - 将 getSheetByName 设置为数组 [0] (这会导致后续行失败)

我期望在HY3插入 4 列,但相反,我得到了上述错误。

0 投票
1 回答
38 浏览

google-sheets-macros - 查找最后使用的行,然后在 Google 表格中选择其下方的单元格

我是 google 表格和 java 的新手。我以前在 excel 中轻松完成的事情让我在 Google 表格中变得谦虚。

我试图找到一个范围内使用的最后一行,然后激活它下面的一个单元格。

2.0记录器返回ALast 错误我得到的是“找不到方法getRange(数字,数字,数字,数字)

我也尝试ss.getRange(ALast,1);了相同的结果。

有什么建议么?

0 投票
2 回答
1409 浏览

google-apps-script - 当单元格在 Google 表格中达到某个值时,如何让宏自动触发?

我需要的是当单元格 F3 的值超过 £1,000,000.00 0r 1000000 或单元格 F3 的 LEN 超过该长度时,我记录了一个名为 SwitchHotSeat 的宏来触发。

我可以在 Excel 中找到执行此操作的指南,但不能在 Google 表格中找到。下面只是我的宏的代码。

宏工作正常。我只需要一种在该单元格超过 1000000 时触发它的方法。

0 投票
1 回答
306 浏览

google-apps-script - 如何允许用户运行一个宏来编辑他们没有“编辑”权限的范围或工作表?

我制作了一个宏,它接受一组输入数据,将其传输到主数据表,绘制数据的趋势线,然后清除数据输入表。所有工作表都受到保护,以避免员工更改或删除已输入的数据,并且只有需要输入数据的单元格可供我与之共享工作表的员工编辑。如果我尝试运行该宏,它运行良好,但如果其他员工尝试运行该宏,他们会收到错误消息,指出他们无权编辑某些范围。

当我为同一任务编写 Excel 宏时,我能够预先解锁工作表,传输所需数据,然后重新锁定工作表,但无法弄清楚如何在 Google Apps 脚本中复制这种类型的行为。

谷歌开发者页面上的保护类没有被证明是有用的,因为我一直收到一个错误,说函数保护不能在对象电子表格中找到。我也尝试了 addEditor 功能,但运气不佳。这是我的第一个 Google Apps 脚本,我一直在努力学习,但事实证明这个项目很困难。

0 投票
1 回答
90 浏览

google-apps-script - 如何总结每列中的值并通过谷歌表中的值总和对每列名称进行排名

我有一个谷歌表,其中包含正在填充的值

想法是:每个比赛日我都会输入比赛日期和每个球员的进球数,如果新球员进球我只会在新的列中输入他的名字和该日期的进球数。如果哪位球员那天没有得分,我会将该单元格留空。然后我想用球员得分的排名填充第一列“最佳射手”。预期结果将如下所示:

它将使用新的数据输入自动更新。我怎么能做这个?我查看了数据透视表,但看起来很难存档此结果。

样品表

0 投票
1 回答
166 浏览

google-apps-script - Range.copyTo(DestinationRange, .PASTE_NORMAL, false) 复制失败

如果我未能描述我面临的问题或我偶然发现它的背景,我应该首先道歉。如果有任何其他信息可以帮助您了解正在发生的事情,请告诉我。

上下文: 我在一张电子表格中有两张纸:“清单”,它应该作为一个表格工作,而“编辑清单”,顾名思义,将用于编辑前者的格式。这个想法是,一旦用户完成编辑宏,然后只需将新版本复制到旧版本上即可替换以前的形式。

问题: 通过脚本使用 Range.copyTo() 函数不会复制整个新表单,缺少一整列,尤其是格式和合并范围。请在下面找到截图

新表格的示例,即尚未复制。 使用 Range.copyTo() 复制新表单的结果

代码

注意:为了更容易找到范围,我使用命名范围来指定工作表的各个部分。

更新:

  1. 我试图记录一个宏来执行复制和粘贴任务,并且使用生成的代码工作得很好。我将我的一段代码与自动生成的代码进行了比较,唯一的区别是范围的编写方式,但最终它们应该是相同的。
  2. 我尝试先粘贴格式,然后再粘贴值;它没有用。
0 投票
3 回答
256 浏览

google-apps-script - 在表格中,无法从列表中删除已删除宏的名称

我在脚本页面上删除了一个无效的表格宏,但宏名称仍在我的工具>宏列表中(我无法删除它)。我是新手,也许我错误地删除了它。有谁知道我怎样才能把它从列表中删除?谢谢...