SUMIFS无法正确解析数据

时间:2019-03-08 17:50:22

标签: excel excel-formula sumifs

问题:

对于要创建其更新版本的成本跟踪表,我有一些不同的东西可用于从中提取数据:

  • 代表员工及其不同员工组的表(为了便于使用,我将每列分配为一个命名范围)。
  • 代表不同任务代码组的表。
  • 一系列表格,其中包含来自员工的发票,他们的姓名以及为不同项目收取的发票任务代码。我已将这些列分配给命名范围以方便使用,并帮助区分它们来自的项目。

我正在使用的当前公式(不起作用)是:

=SUMPRODUCT(SUMIFS(WP2C_Employee_Invoice,WP2C_Employee_Name,Project_Managers,WP2C_Employee_Task,Tasks[WP2C Implementation]))

打破这个公式可以帮助您(和我自己)了解我可能会出问题的地方:

SUMPRODUCT(用于总结SUMIFS返回的数组的值,因为我们正在比较范围。

SUMIFS(

  • WP2C_Employee_InvoiceWP2C_Employee_NameWP2C_Employee_Task组成的表包含每个项目的发票,其来源的员工以及它们所属的任务代码。
  • Project_Managers是雇员组之一。
  • Tasks[WP2C Implementation]是任务代码组之一。

(据我所知),该公式应比较项目发票表的每一行,并查看员工和任务是否有效,产生有效总和的数组,然后将其与{{1}相加}。

但是,产生的数字是错误的,总计为125,598.41美元,而不是正确的总和为845,380.11美元(使用表格过滤器来获取值,然后对其求和)。使用SUMPRODUCT来查看可能的原因(剥离发票金额列并重新使用条件),结果只有14次匹配,而正确值为78次(来自过滤)。

我当前的公式有什么问题,应该更改什么才能找到正确的结果?

注释:

这是我使用的COUNTIFS公式:

COUNTIFS
  • 仅使用一组条件会为该组条件产生正确的结果,只有在同时使用这两组条件时,该方法才有效。

    • 为其中一个标准组使用一组标准,而为另一个标准组使用一条标准,则可以得出正确的结果。
    • 错误是否可能是由于结果数组太大而导致仅将其一部分进行比较并返回而导致的?
  • 更新:我创建了一个UDF以完成此工作表,但我仍然想知道公式有什么问题。不必为工作表启用宏就可以了。

1 个答案:

答案 0 :(得分:1)

首先,您的员工列表中有重复的姓名。对于这些重复项,由于无法确定应计入哪个类别的金额,因此将在列出该雇员的所有类别中进行计数。

(Kristoffer既是老板又是雇员,因此他的金额将同时添加到老板和雇员类别中)。我怀疑您是否满意,因为以下公式会为您提供给Boss People / Foo的输出,而不是为Employees / Foo的输出:

=SUMPRODUCT(COUNTIF(Boss_People[Name],Invoice[Full Name])*(COUNTIF(Task[Foo],Invoice[Task]))*Invoice[Amount])

如果您希望动态更改名称,以便跨公式复制/拖动-并假设摘要表以A1开头,则这是B2的公式:

=SUMPRODUCT(COUNTIF(INDIRECT($A2&"[Name]"),Invoice[[Full Name]:[Full Name]])*(COUNTIF(INDIRECT("Task["&B$1&"]"),Invoice[[Task]:[Task]]))*Invoice[[Amount]:[Amount]])

此处,单元格A2包含表的名称,该表具有标题为“名称”的列标题,而表B1为任务的名称。该公式为您提供了项目经理,业务分析师和老板人员所需的输出。由于姓名重复,员工不准确。