我正在尝试为下面的公式添加另一个条件。在“工资单数据”选项卡上,我的 H 列中有小时数,其中一些小时数可能是负数,因此我不想计算小时数为负数的行。我尝试在第二个嵌套 IF 中添加另一个 if 语句,但这对我来说不起作用。
该公式查找 A 列中的职位 ID,然后查找 J 列中的交易。如果 F 列中的交易的雇员 ID 是唯一的,则它会对 APP1 至 APP4 的每个交易进行计数。我还希望它查看 H 列(小时数),如果看到负数,则不计算交易
=SUM(IF(FREQUENCY(IF('Payroll Data'!$A$2:$A$155=$A2,IF('Payroll Data'!$J$2:$J$155="APP1",IF('Payroll Data'!$F$2:$F$155<>"",MATCH("~"&'Payroll Data'!$F$2:$F$155,'Payroll Data'!$F$2:$F$155&"",0)))),ROW('Payroll Data'!$F$2:$F$155)-ROW('Payroll Data'!$B$2)+1),1))+SUM(IF(FREQUENCY(IF('Payroll Data'!$A$2:$A$155=$A2,IF('Payroll Data'!$J$2:$J$155="APP2",IF('Payroll Data'!$F$2:$F$155<>"",MATCH("~"&'Payroll Data'!$F$2:$F$155,'Payroll Data'!$F$2:$F$155&"",0)))),ROW('Payroll Data'!$F$2:$F$155)-ROW('Payroll Data'!$B$2)+1),1))+SUM(IF(FREQUENCY(IF('Payroll Data'!$A$2:$A$155=$A2,IF('Payroll Data'!$J$2:$J$155="APP3",IF('Payroll Data'!$F$2:$F$155<>"",MATCH("~"&'Payroll Data'!$F$2:$F$155,'Payroll Data'!$F$2:$F$155&"",0)))),ROW('Payroll Data'!$F$2:$F$155)-ROW('Payroll Data'!$B$2)+1),1))+SUM(IF(FREQUENCY(IF('Payroll Data'!$A$2:$A$155=$A2,IF('Payroll Data'!$J$2:$J$155="APP4",IF('Payroll Data'!$F$2:$F$155<>"",MATCH("~"&'Payroll Data'!$F$2:$F$155,'Payroll Data'!$F$2:$F$155&"",0)))),ROW('Payroll Data'!$F$2:$F$155)-ROW('Payroll Data'!$B$2)+1),1))
答案1
只要在正确的位置添加括号,添加另一个嵌套 IF 应该可以正常工作。只需取 4 个部分中的第一个部分,您就可以修改它以包含 H 列条件,如下所示
=SUM(IF(FREQUENCY(IF('Payroll Data'!$A$2:$A$155=$A2,IF('Payroll Data'!$H$2:$H$155<0,IF('Payroll Data'!$J$2:$J$155="APP1",IF('Payroll Data'!$F$2:$F$155<>"",MATCH("~"&'Payroll Data'!$F$2:$F$155,'Payroll Data'!$F$2:$F$155&"",0))))),ROW('Payroll Data'!$F$2:$F$155)-ROW('Payroll Data'!$B$2)+1),1))
您可以对其他 4 个部分执行相同操作
当然,通过将等分成4 个公式"APP1"
,"APP2"
您的总数可能会相同员工编号不止一次,因为 4 个部分中的每一个都只计算唯一值在该部分内- 这就是你想要它工作的方式吗?
编辑:根据您的评论尝试此版本
=SUM(IF(FREQUENCY(IF('Payroll Data'!$A$2:$A$155=$A2,IF('Payroll Data'!$H$2:$H$155<0,IF(ISNUMBER(MATCH('Payroll Data'!$J$2:$J$155,{"APP1","APP2","APP3","APP4"},0)),IF('Payroll Data'!$F$2:$F$155<>"",MATCH("~"&'Payroll Data'!$F$2:$F$155,'Payroll Data'!$F$2:$F$155&"",0))))),ROW('Payroll Data'!$F$2:$F$155)-ROW('Payroll Data'!$B$2)+1),1))
使用CTRL++确认SHIFTENTER