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

时间:2015-12-01 01:19:19

标签: javascript google-apps-script google-sheets getvalue

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

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

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

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

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

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

我认为,

Google脚本无法从查询查询中读取值。

你有什么想法吗?

感谢。

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

你应该尝试使用如下的空白检测:

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