【问题标题】:Use SUMIFS in an ArrayFormula Google Sheets在 ArrayFormula Google 表格中使用 SUMIFS
【发布时间】:2018-09-11 10:29:55
【问题描述】:

我已经看到很多关于我的问题的主题,但我无法解决它。 实际上,我不明白我的公式有什么问题?

=ArrayFormula(
    IF(
        ISBLANK(A6:A);;SUMIFS(
            Sheet1!J:J;
            Sheet1!K:K; ">="&A6:A;
            Sheet1!K:K;"<="& EOMONTH(A6:A;0)
        )
    )
)

我正在尝试做的事情: 每行是一个月。我想对当月第一天和最后一天之间的所有销售额求和。

如果我不使用 ArrayFormula,它可以工作。我不明白如何编写这个公式来使用 ArrayFormula。

非常感谢您的帮助!

【问题讨论】:

  • 您有样品表吗?如果没有,您可以创建一个
  • 谢谢@Datanovice。这是样本表(数据很少):docs.google.com/spreadsheets/d/…
  • 嘿伙计,刚刚看了你的公式,它对我有用吗?你想了解数组是如何工作的吗?您也可以使用谷歌查询来得出这个答案
  • 感谢@Datanovice 的回答。是的,我正在尝试将 XXX 公式转换为一个 ArrayFormula。我没有成功,因为我的公式必须包含范围......而且我不知道如何使用 ArrayFormula 的范围。
  • 也许查询会更容易?

标签: google-sheets spreadsheet google-sheets-query


【解决方案1】:

只需将此添加为您的答案,

我相信查询会更好地为您服务,而不是使用数组公式。

由于 google 日期时间语法很棘手,我们首先必须将日期值转换为文本并将其解析为“yyyy-mm-dd”,然后包装 EOMONTH 以获取该月的最后一天。

所以我们使用以下公式来获得月份销售额的总和:

    =query(A:B;"Select sum(B) 

where A <= date '"&text(eomonth(E14;0);"yyyy-mm-dd")&"' 

AND A >= date '"&text(E14;"yyyy-mm-dd")&"' label sum(B) ''  ";0)

希望这就是你所追求的,为火车上的延误道歉!

https://docs.google.com/spreadsheets/d/1ygppZZCd4b_Y_HufLwLdcynHAsa3pn6z5YXb3Poc3vk/edit?usp=sharing

【讨论】:

  • 感谢@Datanovice 的查询功能!现在,我正在尝试将您的公式转换为 ArrayFormula。我尝试在您的 Google 表格文档中执行此操作,但失败了。所以我尝试用其他公式(FILTER 和 SUMIFS)来做到这一点,但我也失败了......在这种情况下不可能使用 ArrayFormula 吗?查看您的文档:docs.google.com/spreadsheets/d/… 非常感谢!
  • 你想达到什么目的?
  • 对不起,我想我不够清楚...我想自动扩展 SUMIFS 功能,而不是在整个范围内复制它。在工作表示例中,只有 4 个月。但在我的真实表格中,我有 20 年的数据,并且每个月都会添加一个新月份。我想在表格的第一个单元格中编写公式,Google 表格每个月都会自动填写。这就是为什么我想用 ArrayFormula 来完成这项工作。这是个坏主意?
  • 您可以扩展查询以引用整个范围吗?尝试添加新数据它会自动添加它
  • 我更喜欢使用 ArrayFormula 而不是复制粘贴我的公式(或展开),因为行数会不断变化。
猜你喜欢
  • 2023-03-07
  • 2015-07-16
  • 1970-01-01
  • 1970-01-01
  • 2020-04-13
  • 1970-01-01
  • 2021-02-27
  • 2021-08-19
  • 2022-11-10
相关资源
最近更新 更多