0

我正在尝试使用 SUMIFS 函数来汇总表中位于另一个表中指定的日期范围之间的所有条目。我无法让比较运算符(">=" 或 "<")工作。我所做的每一个变化都会导致错误的总和为 0。我已经搜索了互联网但没有找到答案。

以下是我尝试过的几种变体:

变体1:

=SUMIFS(tblHoldings[Amount],tblHoldings[Dates],">=[@Dates]",tblHoldings[Dates],"<CurrentHoldings!C4",tblHoldings[Investment],tblCurrentHoldings[[#Headers],[LargeStock]])

变体2:

=SUMIFS(tblHoldings[Amount],tblHoldings[Dates],">="&[@Dates],tblHoldings[Dates],"<"&CurrentHoldings!C4,tblHoldings[Investment],tblCurrentHoldings[[#Headers],[LargeStock]])

其他变体导致了通用的“此公式存在问题”错误消息。如果我删除比较运算符,公式将返回一个总和,所以我知道引用是正确的。我只需要按日期过滤这些引用。当我评估 Variation 2 公式时,">="&tblHoldings[Dates] 和 "<"&tblHoldings[Dates] 引用评估为 #Value 错误。这似乎应该是一个简单的公式。我在看什么?

谢谢!

这是带有公式的表格的屏幕截图(公式返回 0): screenshot

这是与范围表在同一工作表上的表的屏幕截图(公式返回正确答案):screenshot

这是文件本身:https ://1drv.ms/x/s!ArArDJ7WmD62grkh5Crfi0m3k_m8GQ?e=yb888R

4

1 回答 1

0

如果它适用于一个工作表而不适用于另一个工作表,听起来您的参考可能会混淆。这是一个公式的示例,该公式可以完美地用作 SUMIFS,并且在多个工作表上具有多个表。在此示例中,参数是对结构化表的引用,但最后一个除外,它是静态文本字符串。

=SUMIFS(t_Claims[f_PaidClaims],t_Claims[f_Month],[@Month],t_Claims[Data Category],"Medical"))

这是另一个示例,但在这种情况下,我已将最后一个标准换成了另一个工作表上的单元格值。请注意工作表名称周围的单引号。“工作表名称”我在您的公式中看不到这些。您还可以看到,通过添加对另一个工作表的引用,对同一个表 ( @[Month]) 中其他列的引用也已被添加的表名完全限定t_DataSummary_ByMonth[@Month]

=SUMIFS(t_DataSummary_ByMonth[Fixed Costs],t_DataSummary_ByMonth[Month],">="&t_DataSummary_ByMonth[@Month],t_DataSummary_ByMonth[Month],"<"&'Fees - Update Annually'!E269)

我建议突出显示公式的这一部分并重新映射它:

CurrentHoldings!C4

如果它应该是绝对单元格引用,请添加美元符号:

'CurrentHoldings'!$C$4

如果您在另一个表上引用另一个单元格值,例如上面,还要完全限定与公式在同一个表中的列引用,特别是如果两个表中的列标题相同。

于 2019-06-25T00:58:22.440 回答