【发布时间】:2018-01-03 17:41:37
【问题描述】:
我制作了一个小工作簿,完全模仿了我发布的原始公式。工作簿的目的是根据输入的各种组合(如下所列)计算每个员工的奖金。以下是我的工作簿的布局方式:
- 数据选项卡
- 奖励标签
- 基础奖励标签
- 摘要选项卡
我用来输入不同组合的数据选项卡的图片: Data Tab
组合列表:
- 员工百分比(单元格 B3)和公司百分比(单元格 B4)单元格输入了数字 = 组合 1(范围:0%-100%)
- Employee $(单元格 B5)和 Company $(单元格 B6)单元格输入了数字 =Combo 2(范围:$0-无限制)
- 基本工资 (B2) 为“是”,员工百分比(单元格 B3)已输入单元格 = 组合 3(基本工资为“是”或空白)
- 基本工资 (B2) 为“是”,已输入职位 (A8) 和员工百分比(单元格 B8)单元格 = 组合 5
我将单元格 C1 用于 IF 语句,以根据上述组合指定要使用的公式。 (例如 B5 和 B6 中的数字 = 1)
=IF(AND($B$2<>"",$A$8<>"",$B$8<>""),5,IF(AND($B$2<>"",$B$3<>""),3,IF($B$3<>"",1,IF($B$5<>"",2))))
奖励标签的图片:Bonus Tab
基本奖励选项卡的图片:Base Bonus Tab
摘要选项卡的图片:Summary Tab
我已经为每个组合分别创建了公式,但是当我尝试将它们组合成一个时,我会收到太多参数错误消息,因为组合 3 和组合 5 在 IF 语句中使用 false。我试图避免制作计算表,并且更愿意在 B 列中由员工在摘要选项卡上使用一个公式。
我将进一步具体解释组合 3 - 如果基本奖金低于常规奖金,则乘以基本奖金 * 员工百分比 + 公司&供应商奖金 * 公司百分比。如果基本奖金高于常规奖金,则乘以常规奖金 * 员工 % + 公司和供应商奖金 * 公司 %。
例子:
鲍比
基本奖金 $50
50 美元 * 50% 员工百分比 = 25 美元 + 200 美元的公司 + 0 美元的供应商 * 50% 的公司 = 100 美元
如果,如果基本红利,最终答案是 125 美元
我将进一步具体解释组合 5 - 如果基本奖金低于常规奖金,则乘以基本奖金 * 员工职位 员工 % + 公司&供应商奖金 * 职位公司 %。如果基本奖金高于常规奖金,则乘以常规奖金 * 员工职位 员工 % + 公司和供应商奖金 * 职位公司 %。
例子:
鲍比
基本奖金 $50
查找 Bobby 的职位以确定员工百分比和公司百分比
75% 员工百分比为高级职员,50% 为公司百分比
75% * 50 美元 + 50% *(200 美元公司和 0 美元供应商)= 137.5 美元
如果,最终答案是 137.5 美元的基本红利
这里是每个公式的组合列表:
组合一:
=IF(Data!$C$1=1,Data!$B$3*Bonus!D2+Data!$B$4*(Bonus!E2+Bonus!F2))
组合2:
=IF(Data!$C$1=2,IF(SUM(Bonus!B2:C2)<1,0,1)*Data!$B$6+Data!B5))
组合3:
=IF(Data!$C$1=3,IF(VLOOKUP(Summary!A2,'Base Bonus'!$A$2:$B$5,2,FALSE)<VLOOKUP(Summary!A2,Bonus!$A$2:$D$5,4,FALSE),VLOOKUP(Summary!A2,'Base Bonus'!$A$2:$B$5,2,FALSE)*Data!$B$3+Data!$B$4*(Bonus!E2+Bonus!F2),VLOOKUP(A2,Bonus!$A$2:$D$5,4,FALSE)*Data!$B$3+Data!$B$4*(Bonus!E2+Bonus!F2)))
组合 5:
IF(Data!$C$1=5,IF(VLOOKUP(Summary!A2,'Base Bonus'!$A$2:$B$5,2,FALSE)<VLOOKUP(Summary!A2,Bonus!$A$2:$D$5,4,FALSE),VLOOKUP(Summary!A2,'Base Bonus'!$A$2:$B$5,2,FALSE)*VLOOKUP(VLOOKUP(Summary!A2,Data!$A$16:$B$19,2,FALSE),Data!$A$8:$C$11,2,FALSE)+(Bonus!E2+Bonus!E2)*VLOOKUP(VLOOKUP(Summary!A2,Data!$A$16:$B$19,2,FALSE),Data!$A$8:$C$11,3,FALSE),VLOOKUP(A2,Bonus!$A$2:$D$5,4,FALSE)*VLOOKUP(VLOOKUP(Summary!A2,Data!$A$16:$B$19,2,FALSE),Data!$A$8:$C$11,2,FALSE)+(Bonus!E2+Bonus!E2)*VLOOKUP(VLOOKUP(Summary!A2,Data!$A$16:$B$19,2,FALSE),Data!$A$8:$C$11,3,FALSE)))
希望这比我最初的帖子更清晰,并且可以轻松复制。如果您有任何问题,请告诉我,谢谢!
【问题讨论】:
-
A=1和A*D=2是什么意思?这些规则是什么意思? “组合公式”是什么意思?您的电子表格中的一些示例数据和示例期望结果在这里会有所帮助。 -
我试图简化它,但似乎效果不佳。我将努力编辑原始帖子,使其更具可操作性。
-
@Hery0502 是的,我认为在这里最好使用一些虚假数据进行更详细的细分......我现在将删除我的答案,因为它是错误的,我会在编辑后查看我能做什么。
-
@RichardTompsett - 我有办法发布或发送我的工作簿吗?如果我尝试将所有数据都放在那里,将很难理解该帖子,但如果这是唯一的选择,当然可以尝试。
-
@Hery0502 谢谢,如果有人在那之前没有提供帮助,我明天再看看...有一些紧迫的工作要做。
标签: excel if-statement excel-formula nested-if