div到0处理excel
所以我有这个问题,我有两个表,一个是员工,另一个是项目 员工表:div到0处理excel,excel,error-handling,excel-formula,excel-tables,vba,Excel,Error Handling,Excel Formula,Excel Tables,Vba,所以我有这个问题,我有两个表,一个是员工,另一个是项目 员工表: Year Name Type Jan Feb 2018 Kevin Salary 5000 2000 2018 Kevin Insurance 200 400 2018 Alex Salary 3000 4000 2018 Alex Insurance 300 400 项目表 Year Project_Name Employee_Name Jan_Hours_Worked Feb_Hours_Wo
Year Name Type Jan Feb
2018 Kevin Salary 5000 2000
2018 Kevin Insurance 200 400
2018 Alex Salary 3000 4000
2018 Alex Insurance 300 400
项目表
Year Project_Name Employee_Name Jan_Hours_Worked Feb_Hours_Worked
2018 Apple Alex 7 5
2018 Apple Kevin 5 0
2018 LG Kevin 0 3
现在,我正在创建一个结果列表,列出每个月重复发生的所有项目和成本,我需要的是表2中的每个项目找到涉及的员工,然后使用该信息从表1中查找成本,并计算每个月项目的小时收费率
e、 g对于LG项目,我让Kevin在2月份进行这项工作,公司为他支付了2400美元的工资+保险,2月份收取的小时费率将是2400美元除以他在项目上花费的总小时数,即3小时
对于2月份的苹果项目,它将是Alex的:4400/5,因为Kevin在2月份没有在这个项目中工作任何时间。当这两种方法都有效的时候,比如说在1月份的苹果项目中,那么应该是凯文的成本/他工作的小时数+亚历克斯的成本/他在该月为该项目工作的小时数
现在我有了计算这个的公式,除非我在表中有0的值,否则它可以很好地工作
当它到0时,它给我除法到零的误差
我怎样才能修改此公式,使其适用于上述情况,而不会出现错误,也不会为每个月找到正确的结果。您并没有让这变得容易,但我认为我找到了一些合适的方法: 编辑: 对于DIV 0错误,使用与M9单元中的设置相同的设置: {=SUMPRODUCT$J$2:$J$4=$K10*M$2:M$4*IFERRORSUMIF$B$2:$B$5,$K$2:E$5/SUMIF$K$2:$K$4,$K$2:$K$4,M$2:M$4,0} 使用CTRL+SHIFT+ENTER进行验证 编辑2: =SUMPRODUCTM$2:M$9,IferorSumifse$2:E$17,$A$2:$A$17,$P5,$B$2:$B$17,$K$2:$K$9/消费SM$2:M$9,$I$2:$I$9,$P5,$K$2:$K$9,0*$I$2:$I$9=$P5*$J$2:$J$9=$Q5
使用CTRL+SHIFT+ENTER进行验证将其包装在IfError,你想要的结果而不是错误谢谢,但你能更具体一点吗?因为如果有if error,如果除法为零,我将始终停止运行函数,但我不想停止,我希望能够移动到列表中的下一项,然后对整个表列运行函数并获得sumproduct。您好,非常感谢,这似乎与我的初始测试一起工作,只有一件事,我怎样才能在上面的代码中包含年份标准,以确保它也从正确的年份获取信息?
=SUMPRODUCT(SUMIFS(Employees[Feb], Employees[Name],Project[Employee_Name], Employees[Year], 2018 )/Project[Feb_Hours_Worked],--(Project[Project_Name]=K14))