问题标签 [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.
json - 将 JSON 制表成表格
我一直在尝试从 URL 获取 JSON 文件的可读数据库。
我在 Github 上使用了 fastfedora 的脚本https://github.com/fastfedora/google-docs/blob/master/scripts/ImportJSON/Code.gs将 JSON 从 URL 导入到表格。我正在使用基本的:
我使用了转置,因为使用两个长列而不是两个长行更容易。
然而,导入的数据非常混乱:https ://docs.google.com/spreadsheets/d/1mKnRQmshbi1YFG9HHg7-mKlZZzpgDME6-eGjDJKzbRY/edit?usp=sharing 。它基本上是一长列描述性数据(名称、id、价格等)和另一列变量(商品的实际名称和数字价格)。
是否可以操作生成的表格页面,以便第一列中的公因子可以与两个初始列旁边的伪表对齐?例如,对于第一个项目,ID 将是“2”,名称将是“Cannonball”,Sp 将是“5”等。
提前致谢。请原谅我的无知。
json - 使用 ImportJSON 自定义函数检索数据子集
我正在使用 Trevor Lohrbeer 的importjson()
自定义函数将此 JSON 源中的一些数据导入Google 表格。
我不希望提供所有信息;我特别只想要列 E、V、W、X、AA、AB、AC、AD。
在意识到我不知道我在用这个参数做什么之前我尝试了一些事情:
如何修改此功能以仅检索上述项目?
json - 过滤同名的 JSON 数据
我在 Google 表格中使用 JSON 来查找 Zip 并找到县。我只想把县城还回来。我可以让它返回每个值,以便 ImportJSON 函数正常工作。
这是我的公式。我已经尝试了参考的所有排列,但我只是不知道如何格式化它。
这是来自 Google Maps Geocoding API 的 JSON 数据。我只想要县长的名字。在本例中,它是“橙县”。
javascript - 通过 Google Apps 脚本比较日期的繁琐问题
今天我遇到了使用 GAS 比较两个日期的问题:currentDate
包含今天的日期并scheduledDate
包含放入列中的日期,该列被确定为row[3]
.
我已经花了 5 个小时(希望我不走运),在我们开始这里描述的第一件事是如何scheduledDate
填充单元格之前:使用自定义函数(代码放在下面) ,它从位于的日期中=SubtractDaysFromDate('2016'!A54, 8)
减去天数并在单元格中将结果显示为或(取决于您如何设置查看格式)。8
'2016'!A54
08/07/2016
08.07.2016
这是=SubtractDaysFromDate()
源代码:
这是我的脚本的源代码:
要检查输入,请转到上面的链接,您可以检查名为2016
(从此工作表=SubtractDatesFromDate()
获取要减去的日期)以及Рассылка
(在此工作表上运行我的脚本)的工作表。
为了继续,我的脚本会遍历=SubtractDaysFromDate()
调用表上这些减去日期 ( ) 的所有单元格,Рассылка
并检查当前日期是否等于scheduledDate
(即,包含=SubtractDaysFromDate()
此表上所有单元格的列),然后发送电子邮件。
scheduledDate
问题是,虽然(由 导致)中的一小部分日期=SubtractDaysFromDate()
被正确识别,但其中的另一部分仍未被识别和检索为01.01.1970
。
为了说明问题,这里是脚本日志:
如果您查看上面的代码,很明显,虽然对于某些日期比较工作得很好:
对于其中的其他部分,它不会:
为了更好地理解这里是我的 GS 表的链接:https ://docs.google.com/spreadsheets/d/1azDfWZWDSVTVVKLaJZlsRDbW21-Cps8Hx8M2kbclw-g/edit?pli=1#gid=2147296153 。
拜托,你能检查一下我是否遗漏了任何重要的东西以使其正常工作吗?为什么=SubtractDatesFromDate()
我的脚本可以正确识别计算出的日期的一部分,而另一部分却不能正确识别?
我该如何解决?强烈赞赏所有以结果为导向的解决此问题的尝试。
已编辑。这是我已经编辑过的代码的一部分:
Mu 的问题是如何获取工作row[2]
表中的值Рассылка
并将其写入放置在for (var i = 0; i < bookingsData.length; ++i) {
链接到的变量中2016
?这会是正确的使用方式var mailingTopic = mailingData.row[2];
吗?
javascript - 使用 ImportJSON 时对数据进行排序
我正在使用 Google 表格从应用程序中提取调查数据,基于ImportJSON 脚本。
有没有办法在数据加载到 GS 之前让数据按 AZ 排序?
一旦数据在 GS 中,如果我尝试对数据进行排序,则链接只会将数据恢复到其原始形状。
=ImportJSON("https://xxxxx.net/json?key=Mg.Clxt6A.TV1DFtPA0k8Ehpb0RDxyLH7xhU8", "/elements", ",noTruncate,Headers")
javascript - 超过 Google 电子表格上的 ImportXML 限制
我现在正陷入“刮擦问题”。特别是我想从网页中提取作者姓名到谷歌电子表格。实际上该功能=IMPORTXML(A2,"//span[@class='author vcard meta-item']")
正在运行,但是在我提高要抓取的链接数量之后,它才开始无休止地加载。
所以我研究并发现,这个问题是由于谷歌存在限制。
有人知道超出限制或脚本,我可以“轻松复制”吗?- 我真的没有编码的预感。
google-apps-script - Cache custom function result between spreadsheet opens
I have a Google spreadsheet that has it's data loaded using a custom function. The custom function calls a REST API, transforms the data and displays it.
The problem is that every time I open the doc, the function is called and all the REST API calls go out.
I need to be able to manually trigger service calls to refresh data, and in between show the data from last time.
How can I best achieve that?
php - 为什么array_uintersect() 比较array1 和array2、array1 和array1 以及array2 和array2 之间的元素?
测试脚本
实际结果
预期结果
换句话说,我期望传递给回调的是左数组的当前元素和右数组的当前元素。
此外,如果我要向回调传递一个额外的数组,我希望同样的逻辑适用array_uintersect
- 另一个参数被传递给回调($c
例如)。
有人可以解释这种行为吗?
google-apps-script - 用标准函数替换 Google 表格中的自定义函数
我有一系列单元格,我想累积一列的给定行的最大值的次数。
样本:
预期的:
最大值用星号标记。该列a
得分 1,因为它在第二个数据行中具有最大值,该列d
得分 1,因为它在第一数据行中具有最大值,该列h
得分 2,因为它在第三和第四个数据中具有最大值行。其余列在任何行中都没有最大值,因此它们得到 0。
对于一行,我可以为每一列复制这个公式,它会这样做,但我需要一些应用 max row-wise 的东西COUNTIF(B2:B10, MAX($B2:$B10))
。
我已经编写了这个谷歌应用程序脚本,但我不喜欢它的响应能力(与使用本机函数获得的敏捷性相比,在单元格中看到“正在加载...”几乎一秒钟有点令人恼火):
关于如何用内置函数替换该代码的任何想法?我不在乎添加辅助行或列,只要它们的数量是恒定的(也就是说,如果我扩展我的数据集,我不想为每个新数据行或列手动添加更多辅助行或列)。
我想我可以添加一个额外的列来收集每行最大值的列标题;然后为每个数据列计算他们的标题出现在该辅助列中的次数,但看起来不是很干净。