当前位置: 首页 > 知识库问答 >
问题:

Google脚本“GetValue”不会读取电子表格中填充了“Query”的值

楚嘉纳
2023-03-14

我的电子表格中的某些工作表具有由查询公式填充的数据。

在一个工作表中,我的数据由另一个工作表的查询填充,该工作表由查询本身填充。

这个双重查询使我无法从脚本中读取数据usign GetValues()。

当我尝试最简单的阅读时,使用:

var sheet = SpreadsheetApp.getActive().getSheetByName('Timeline');
var data = sheet.getRange('A15').getValue();
Logger.log(data);

结果是空的。在单元格A15中,我有一个查询公式,它调用一个工作表,其中数据依次由查询填充。

我认为谷歌脚本不能从查询中读取值。

请问你有什么想法吗?

谢谢

共有2个答案

邵君植
2023-03-14

我想这是因为日期在时间戳中。你的查询可能会将你的空值视为时间戳对应的0,这是第一次(即1/1/1900为0H00),然后,每个增量代表第二次。

您应该尝试空白检测,例如:

var A= getCell(x,Y).getValue()
if (A=""){ 
....
}
段超
2023-03-14

@Robin问题出在where子句toDate(I)

我已将其替换为年份(I)

使用该子句的原因是,在查询中,我需要排除日期为空的行。虽然它们看起来是空的,但它们似乎有一些隐藏的价值,我估计是31-12-1899。这可能是因为单元格的格式为日期。我将对此进行调查,这应该是另一个与当前问题无关的问题。

 类似资料:
  • 我有一段代码可以下载谷歌电子表格 连接超时默认为20秒。我试图将其设置为不同的值,但它不起作用。我不断得到 原因:java.net.SocketTimeoutException:java.net.SocketInputStream.socketRead0(本机方法)的读取超时~[na:1.7.060]在java.net.SocketInputStream.Read(SocketInputStrea

  • 我有一个谷歌电子表格,里面有多张表格,我想把每一张表格复制到一个新的电子表格中,并在一个特定的单元格中以文本命名新的电子表格。我很高兴运行脚本多次,所以我想让它复制活动表。 即。我所拥有的=称为“颜色”的电子表格——工作表1=“红色”,工作表2=“蓝色”,工作表3=“黄色”,等等。 我想要什么= 名为“红色”的电子表格。电子表格叫做"蓝色",电子表格叫做"黄色" 到目前为止,我有这个脚本,但它告诉

  • 我正试图制作一个电子表格来管理我的资金/开支,但在尝试自动化我的流程时遇到了一个问题 我想制作一段代码,每次在工作表中编辑单元格时运行。 当被触发时,我希望它计算ssum,lsum和betal(在循环中),然后将其放入3个不同的单元格中。代码的行为符合预期,但onedit触发器不起作用。 这是我的代码: 输出变量根据调用函数的位置相应地设置相邻单元格 我试过使用setValue和clearCont

  • 把所有信息写到电子表格中。 删除唯一的标记信息以防止重复运行。 然后使用form mule addon从电子表格发送电子邮件。 到目前为止,我已经处理了第1步(简单),而第2步和第3步(我不是一个编码器,我可以读、解串和黑。从头开始写是完全不同的事情)。我以前处理过4次,我认为这是最好的处理方法。 通过脚本,我将信息提取到电子表格中,通过插件,我使用电子表格中的信息发送电子邮件。 这是我到目前为止

  • 我已经通过谷歌官方文档《开发者指南》API中提到的一个简单Java代码成功地在我的Google Drive帐户的现有电子表格中创建了一个新的工作表,但我想通过Java代码在我的Google Drive帐户中创建一个新的电子表格。在链接中,他们没有提到这方面的任何示例代码。我已经在Spreadservice类中看到了不同的可用方法。 如何使用Google电子表格API实现这一点?

  • 我使用Google Sheets电子表格来管理我正在处理的文件。我在任何给定的时间都有大约60-70个文件,每个文件都有一个唯一的文件号。在我的电子表格中,每个文件都由一个由其文件编号命名的唯一工作表表示。文件编号符合以下格式:[#]-[##]-[####]](例如5-18-0040)。我还有一个名为“文件”的工作表,它是所有这些工作表的列表,以及其他一些包含操作的隐藏工作表。 我拼凑了一个脚本,