0

我正在尝试使用引用溢出范围的动态数组公式查询存储在 Excel 中的销售列表,但这不起作用。

这是上下文:

  • 我有一个tabSales包含销售额的表格,其中包含以下数据:日期、客户、金额、年份(使用计算=YEAR([Date]
  • 我想在另一张纸上显示给定客户的年销售额,供用户在单元格 B1 中选择(命名SelCust

这是我在报告表上尝试过的:

  • 我使用了 UNIQUE 和 FILTER 函数使 D 列上的报告显示所选客户实际购买商品的年份:(=UNIQUE(FILTER(tabSales[Year],tabSales[Customer]=SelCust))单元格 D2 中的公式输入)
  • 然后,我尝试使用 SUM 和 FILTER 函数以及 Excel 的溢出范围功能来计算每年向选定客户销售的总金额:=SUM(FILTER(tabSales[Amount],(tabSales[Year]=D2#)*(tabSales[Customer]=SelCust)))(E2 中的公式输入)

不幸的是,最后一个公式很遗憾不起作用:

  • Excel 在 E2 中返回 #N/A
  • 单元格 E2 不会溢出 E3、E4、...

没有溢出让我想知道 FILTER 函数中的溢出范围参考是否被识别......

我怎样才能让这个公式起作用?

销售表 非工作公式

4

1 回答 1

0

使用 SUMIFS():

=SUMIFS(tabSales[Amount],tabSales[Year],D2#,tabSales[Customer],SelCust)

这应该正确返回一个数组。

如果想在一个动态公式中同时处理两列,我们可以使用 LET 和 CHOOSE:

=let(
    slcust,tabSales[Customer],
    amt,tabSales[Amount],
    yr,tabSales[Year],
    unYr,UNIQUE(FILTER(yr,slcust=SelCust)),
    sm,SUMIFS(amt,yr,unyr,slcust,SelCust),
    Choose({1,2},unyr,sm))
于 2021-04-20T19:57:32.903 回答