1

有人可以帮我为我的项目开发一个 excel 公式。这种情况的前提是基于我每周从公司收到的一份文件,该文件细分了每位员工的福利费用。我的工作是设置一个excel“模板”,它使用每周文档作为源文件来提取信息并计算每个员工个人费用的总和。最初的解决方案是一个简单的 IF 和 vlookup 公式,1)查看员工是否在列表中 -> iferror 备份措施,以防员工在给定的一周内未列出。2)记录他们的费用。我使用的初始公式是:

=IFERROR(VLOOKUP(A1,Benefit!C:H,6,FALSE),0)

例如: 1) A1 = 相关员工。2) H 列是我需要向该员工收取的费用。3) 福利选项卡是我正在提取信息的源文件。当我收到下一周的文件时,这一次我意识到有些员工的名字包括他们的中间名首字母,并且与我的参考列表不完全匹配。有些员工也有两项费用,所以现在我需要查找多个参考资料并汇总该个人的集体费用。好的-> SUMPRODUCT 可以完美地为多个引用求和数组。我扩展了我的员工参考列表以包含两种拼写,并将单一来源的 vlookup 替换为

SUMPRODUCT 公式:=IFERROR(SUMPRODUCT((Benefit!C:C=A1)+(Benefit!C:C=A2),Benefit!H:H),0)

现在我正在努力的部分是好处选项卡过滤掉了一些行,但 sumproduct 公式仍然从这些行中提取数据。因此,employee1 的结果是 35.30 美元。我浏览了论坛并玩弄了合并“小计”和“偏移”,这似乎是每个人排除过滤数据的解决方案,但我无法理解它。

在此处输入图像描述

4

1 回答 1

0

在这种情况下,小计和偏移对您没有帮助。

最简单的解决方案是确定在“收益”选项卡上过滤的内容,并将该条件添加到您的公式中。看起来 CC# 列被过滤为等于“Office”。如果是这种情况,那么您的公式将如下所示:

SUMPRODUCT formula:=IFERROR(SUMPRODUCT((Benefit!C:C=A1)+(Benefit!C:C=A2)+(Benefit!A:A="Office"),Benefit!H:H),0)
于 2019-09-19T22:11:30.243 回答