如果以前曾经问过我,我很抱歉,但我找了一个例子,不幸的是我无法找到答案,因此我在这里问.
如果我在Google电子表格中有自定义函数,如果动态生成内容,如何获取单元格的值.我可以在固定值时获取值,但在动态时不能获得.
可以在谷歌电子表格中添加"自定义功能帮助"吗?即如果我在电子表格单元格中键入= sum,我会得到浮动帮助文本,有没有办法用自定义函数执行此操作?
谷歌应用程序脚本中的文档是使用JSDoc http://en.wikipedia.org/wiki/JSDoc 样式(JavaDoc like)注释创建的.如此处所述 https://developers.google.com/apps-script/guide_libraries?hl=en#guidelines
看起来这些只能在脚本编辑器中使用.它有一种添加文档的方式,因此它出现在电子表格中.
我有一个自定义函数,它接受三个范围名称作为输入参数。当这些范围内的单元格值发生变化时,函数输出保持不变。这是平台的“功能”。
是否有任何正确的方法(到目前为止)使 Google Sheets 中的自定义函数动态重新计算?我知道人们曾尝试将添加now()作为参数,该参数过去会根据需要不断重新计算。(现在被新的床单挡住了。)有没有人找到满意的解决方案?
在Google表格中(与Excel等一样)如果用户在公式中输入错误输入,则会在违规单元格中打印错误代码,并且小弹出窗口会提供有关错误的更多详细信息.所以,如果我输入'= SQRT(-1)','#NUM!' 在单元格中打印,弹出窗口解释该值必须等于或大于0.
如何使用Google表格中的自定义功能复制此内容?抛出异常主要起作用.例如,如果我捕获越界输入值然后抛出自定义异常,"#ERROR!" 打印在违规单元格中(这很好),并在相应的弹出窗口中打印异常的伴随字符串(也很好).问题是Google Apps脚本引擎还会在异常消息中附加生成异常的相应源代码行.因此,只需阅读"输入值必须介于0.0和1.0之间"而不是弹出窗口,它将显示为"输入值必须介于0.0和1.0之间(第199行)".
有没有办法抑制行号的打印,或覆盖弹出的消息?我希望能够为我的用户抛出自定义错误并提供详细的错误消息.但是我不希望它们被一个与它们无关的行号引用混淆.
我一直在尝试使用我现有的一些现有Google App脚本创建Google Spreadsheet插件,此应用脚本的一个重要部分是自定义功能.
虽然附加组件的文档并未表明支持此文档,但自定义函数的文档确实表明您可以.
https://developers.google.com/apps-script/guides/sheets/functions
通过测试,我以前从未能通过插件获得自定义功能.有谁知道让这个工作的秘诀?
我在 Apps Script 中为 Google Sheets 编写了一个自定义函数。目标是拥有一张自动计算谁欠谁多少钱的表(例如拆分账单)。
我的工作表是这样的:
第一张帐单(餐厅)要分给所有 5 人,第二张帐单要分给除彼得以外的所有 5 人,因为 B3 中没有 0。
我的 Apps 脚本函数的输入将是单元格 B1 到 F3(因此,值和名称)。该函数工作正常 - 它计算出正确的结果。我通过浏览器 (sheets.google.com) 和我的手机应用程序 (Google Sheets) 打开该电子表格。但是,在我的手机上,结果单元格(带有公式=calc_debt(B1:F3))经常只显示"Loading ..."。有什么问题?
为了完整起见,这里是自定义函数的代码:
function calc_debt(input) {
var credit = [0, 0, 0, 0, 0]; // credit[0] = Peter, credit[1] = Mark ...
for (var i = 1; i < input.length; i++) { // starting at i = 1 to skip the first row, which is the names!
// …Run Code Online (Sandbox Code Playgroud) 我想记录(在 Google Sheet 自动完成中)一个带有可选参数的自定义函数,类似于WEEKDAY函数(下面的自动完成)。
关于可选参数的JSDoc 规范不起作用。谷歌似乎没有在任何地方记录这一点。如何创建具有与 Google 相同的视觉处理(在参数描述和示例中)的函数?
/**
* Summary of function
* @param {"example"} arg Argument description
* @param {"optional"} opt_arg This argument is optional
* @return {String} Return value description
* @customfunction
*/
function JSDOC(arg, opt_arg) {
return
}
Run Code Online (Sandbox Code Playgroud)
生成此自动完成:
这不是重复的。我特别询问可选参数,如您所见,我已经成功地使自动完成的其他功能正常工作。
我正在尝试制作一个脚本,其中包含单元格的地址。
在Excel中,我有这样的代码:
Function pos(cell As Range)
pos = cell.Address
End Function
Run Code Online (Sandbox Code Playgroud)
它给了我单元格的地址。
在 Google 应用程序脚本上,我尝试了以下代码:
function addrss(cel){
var spreadsheet = SpreadsheetApp.getActive();
var cc = spreadsheet.getCurrentCell().activate();
c = cc.setFormula('=ADDRESS(COLUMN('+cel+');ROW('+cel+'))');
return c;
}
function pos(cell){
var ad = addrss(cell);
return ad;
}
Run Code Online (Sandbox Code Playgroud)
但收到错误消息“您无权调用 setFormula”。
有没有办法获得此许可或解决方法?
google-sheets google-apps-script custom-function google-sheets-formula
我有一个带有自定义函数公式的 Google 表格:从电子表格中获取一个矩阵和两个向量,进行一些冗长的矩阵向量计算(>30 秒,因此超出配额),然后将结果输出为一堆行。它是单线程的,因为这就是 Google Apps 脚本 (GAS) 本身的本质,但我想使用多线程解决方法并行化计算,因此它可以大大加快计算速度。
\n要求(1-3):
\n用户体验:它应该作为自定义函数公式自动且反应性地运行计算,这意味着用户不必通过单击运行按钮或类似按钮来手动启动它。就像我目前的单线程版本一样。
\n可并行化:理想情况下,它应该生成约 30 个线程/进程,这样就不会像现在那样花费 >30 秒(这会导致由于 Google 的配额限制而超时),而应该花费约 1 秒。(我知道 GAS 是单线程的,但有一些解决方法,如下所述)。
\n可共享性:理想情况下,我应该能够与其他人共享工作表,以便他们可以“制作副本”,并且脚本仍将为他们运行计算:
\n我已经阅读了@TheMaster 的这篇优秀的相关答案,其中概述了解决 Google Apps 脚本中并行化问题的一些潜在方法。解决方法 #3google.script.run和解决方法 #4 UrlFetchApp.fetchAll(均使用 Google Web …
multithreading mapreduce google-sheets google-apps-script custom-function
我已经按照https://developers.google.com/apps-script/execution_custom_functions上的说明进行操作,以创建自定义函数。
我的功能甚至教程中的剪切和粘贴都不起作用:这些功能不适用于我的电子表格。我尝试保存版本并发布为网络应用程序-无需更改。我尝试使用Google Chrome和Firefox,结果相同。我在这里真的错过了什么吗?