2014-09-28 42 views
0
=QUERY(Importrange ("XYZ", "Sheet1!A15:AH"), "SELECT * where Col1 ='Pune'") 

当我在不同的片材运行此,它消除元件从不同类型例如 的列有列于含有主片材(14年4月2日,3/2/14,6/2/14,X,3/1/14)当我使用这个importRange与查询它出现在新表作为(4/2/14,3/2/14,6/2/14,3/1/14)没有X.查询功能输出 - 单类型的数据:谷歌Appscript:电子表格

我纠正了这个问题,通过设置数据为纯文本,然后X开始出现,但无法找到这样做的功能,因为主板每天更新,所以我需要自动执行此任务。

+0

因此,在**格式**菜单下,您选择**数字**,然后**纯文本**?你想知道在代码中如何做到这一点?有一个[SetNumberFormat()](https://developers.google.com/apps-script/reference/spreadsheet/range?hl=fr-FR#setNumberFormat(String))方法。但我不知道是否可以用来设置列为纯文本 – 2014-09-28 14:33:38

+0

我已经使用CopyFormatToRange()粘贴纯文本格式的范围,但在日期创建Havoc - 如果他们是2/3/14他们转到类似344555.98的地方,因为使用格式菜单转换为纯文本它确实发生。 – 2014-09-28 15:39:17

回答

0

看起来这是QUERY函数无法处理格式良好的单元格的问题 - IMPORTRANGE能够正确移动所有单元格。

不幸的是,Apps脚本中目前没有允许将单元格格式设置为纯文本的方法。

您有解决方法的几个选项,这取决于你的需求是什么:

  1. 避免使用QUERY的。使用IMPORTRANGE将所需的所有数据存入本地(临时)工作表,然后构建一个Apps脚本脚本来解析数据,过滤它以获取所需的数据,然后将其放入目标工作表。
  2. 避免使用QUERY和IMPORTRANGE。只需使用Apps脚本脚本从源表中提取所需的数据,并将其放置在目标所需的位置即可。这可能是最直接的方法。

如果您还没有,可能需要向Google报告QUERY问题(电子表格帮助>报告问题) - 最终如果功能得到纠正,您可能不需要在此处使用Apps脚本。

+0

我现在对Google没有希望了。尽管如此多的开放案例和进口范围的限制搞砸了,他们还没有做过一件事来恢复它。并且每次写一个appscript都是为了内建函数的目的。我只是简单地编码每个单元格。任何方式感谢回复。 – 2014-10-30 22:15:34