谷歌脚本'GetValue'不会't读取填充有'查询'在电子表格中

Google script 'GetValue' doesn't read values filled with 'Query' in spreadsheet

本文关键字:查询 电子表格 填充 脚本 GetValue 不会 谷歌 读取      更新时间:2023-09-26

我的电子表格中的一些表格的数据由Query公式填充。

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

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

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

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

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

我估计,谷歌脚本无法从查询中读取值。

你知道吗?

谢谢。

@Robin问题是where子句toDate(I)> Date '31-12-2000'

我已经用YEAR(I)>2000替换了它,脚本现在读取所有单元格。

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

我认为这是因为日期在时间戳中。您的查询可能会将您的空值视为0,在时间戳中与第一次时间相对应(在00h00为1/1/1900,然后,每个增量代表一秒。

你应该尝试使用类似的soething进行空白检测

var A= getCell(x,Y).getValue()
if (A=""){ 
....
}