【问题标题】:Google Sheets =MONTH works but MONTH in QUERY does notGoogle 表格 =MONTH 有效,但 QUERY 中的 MONTH 无效
【发布时间】:2019-02-26 12:14:12
【问题描述】:

Google 表格:我检查了我的日期列是 DATE 格式而不是 Automatic

当我在单元格中使用 MONTH 时,我会从该列中返回正确的月份。

当我执行QUERY 例如=query('Main'!A1:M20,"select MONTH(M)",1) 时,我得到#VALUE! 的评论:

无法解析参数 2 的函数 QUERY:无法在不是 DATEDATETIME 列的列上执行函数 MONTH

为什么QUERY 没有将列视为DATE 格式但=MONTH 可以?

【问题讨论】:

  • 没有足够的细节来给你一个准确的答案。请直接在问题中添加一些示例值并创建演示电子表格以重现问题。参考。 minimal reproducible example

标签: google-sheets formatting date-formatting


【解决方案1】:

查询中的月份编号并从 0 开始,因此,您需要添加 +1 来获取第一个月,然后执行一个奇怪的逻辑:“where month1=month2”来获取二月(month(A)+1=3 三月,month(A)+1=12 12 月等)

=QUERY(A1:D10, "select A,B,C,D where month(A)+1=2", 1) 

【讨论】:

  • 谢谢,这是正确的,但没有解决我的问题。在 QUERY 之外,=MONTH 函数适用于我列中的 DATE 格式数据。但是在 QUERY 中,MONTH 函数失败了,因为它说我的数据不是 DATE 格式。这与月数无关。
  • 好吧,再次......查询之外的 =MONTH() 与查询内的 month() 不同。第一个是常规公式,当查询中的月份()只是查询的参数时
  • 我同意你的看法。我寻求有关如何在 QUERY 中获取参数 MONTH() 以使用与常规公式 =MONTH() 相同的数据的提示
  • 它通常通过中断查询参数来完成,例如:"select * where A = '&month(today())&'""
  • M 列有 DATE 格式的数据。 =query('Main'!A1:M20,"select MONTH(M)",1) 旨在仅从列 M 中提取月份并仅返回该数据列。我错过了什么? Google 表格告诉我 M 列没有 DATE 格式。非常感谢您的任何见解。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-06
  • 2020-02-03
  • 2014-03-23
  • 1970-01-01
相关资源
最近更新 更多