【问题标题】:Similar arrayformula working, non-array formula working, why not this arrayformula?类似的数组公式工作,非数组公式工作,为什么不是这个数组公式?
【发布时间】:2020-08-27 14:22:18
【问题描述】:

这个数组公式在我的电子表格中有效:

=arrayformula(IF(A3:A<>"", DATEDIF(H3:H,"01/01/21","m"), ""))

这个非数组正在工作:

=DATEDIF(MAX(datevalue(H3), "1/1/2021"),"01/01/22","m")

所以我认为这可以作为工作非数组的数组公式版本:

=arrayformula(IF(A3:A<>"", DATEDIF(MAX(datevalue(H3:H), "1/1/2021"),"01/01/22","m"), ""))

相反,我收到此错误:

DATEVALUE 参数“”无法解析为日期/时间。

谁能指出我可能做错了什么?或者为什么这个数组公式不起作用?

【问题讨论】:

标签: date if-statement google-sheets google-sheets-formula array-formulas


【解决方案1】:

使用:

=INDEX(IF(A2:A<>"", DATEDIF(MAX(H2:H, "1/1/2021"), "1/1/2022", "m"), ))

【讨论】:

  • 这个也可以。谢谢你。索引是一个我总是有点困惑的函数,但我可以在我的电子表格中看到这个函数。
  • 谁能分享使用数组公式而不是使用索引的好处?
  • 索引是数组公式的类型。在这种情况下的好处:它更短。
【解决方案2】:

请使用以下内容:

=arrayformula(IF(A3:A<>"", DATEDIF(MAX((H3:H), "1/1/2021"),"01/01/22","m"), ""))

【讨论】:

  • 您是否尝试过给定的解决方案?他们中的任何一个对你有用吗?如果不是,我们应该尝试找出原因。如果是,请记住,根据site guidelines,当答案解决您的问题时,accept 它甚至是upvote 它,这样其他人也可以从中受益。
  • 做到了,谢谢。所以看起来一个区别是删除了 H2:H 上的日期值参数。对吗?
  • “做到了,谢谢。所以看起来唯一的区别是删除了 H2:H 上的日期值参数。对吗?”。正确的。虽然我的解决方案回答了您的问题(“...为什么 this arrayformula 不起作用?”)您接受了替代方案...哦,好吧。很高兴它对你有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-21
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多