嵌套的IF语句帮助

时间:2018-01-03 17:41:37

标签: excel if-statement excel-formula nested-if

我做了一个小工作簿,完全模仿我发布的原始公式。工作簿的目的是根据各种输入组合计算每位员工的奖金(如下所列)。以下是我的工作簿的布局:

  1. 数据标签
  2. 奖金标签
  3. 基本奖金标签
  4. 摘要标签
  5. 我用来输入不同组合的数据标签的图片: Data Tab

    组合清单:

    • 员工%(单元格B3)&公司%(细胞B4)细胞具有输入的数字=组合1(范围:0%-100%)
    • 员工$(单元格B5)&公司$(单元格B6)单元格输入数字=组合2(范围:$ 0-无限制)
    • 基本工资(B2)为是&已输入员工%(单元格B3)单元格=组合3(基本工资为是或空白)
    • 基本工资(B2)为是&职衔(A8)&已输入员工%(单元格B8)单元格= Combo 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&amp;组合5在IF语句中使用false。我试图避免制作计算表,并希望在B列的员工的摘要选项卡上使用一个公式。

    我将进一步详细解释组合3 - 如果基本奖金低于常规奖金,则乘以基本奖金*员工%+公司和供应商奖金*公司%。如果基本奖金超过常规奖金,则乘以常规奖金*员工%+公司和供应商奖金*公司%。

    示例:

    波比

    基本奖金$ 50&lt;定期奖金$ 100

    50美元* 50%员工%= 25美元 + $ 200公司+ $ 0供应商* 50%公司= $ 100

    如果&lt;基本奖金,最终答案是125美元定期奖金

    我将进一步详细解释组合5 - 如果基本奖金低于常规奖金,则乘以基本奖金*员工职称员工%+公司和供应商奖金*职称公司%。如果基本奖金超过常规奖金,则乘以常规奖金*员工职称员工%+公司和供应商奖金*职称名称公司%。

    示例:

    波比

    基本奖金$ 50&lt;定期奖金$ 100

    找到Bobby的职位,以确定员工%&amp;公司%

    官员75%的员工百分比和50%的公司%

    75%* 50美元+ 50%*(200美元公司和0美元供应商)= 137.5美元

    如果&lt;最终答案是137.5美元的基本奖金。定期奖金

    以下是按组合列出的每个公式:

    组合1:

    =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)))
    

    希望这比我最初的帖子要清晰得多,并且很容易被复制。如果您有任何问题,请告诉我,谢谢!

1 个答案:

答案 0 :(得分:1)

我在你的公式中发现了一些问题

  1. Combo3在else选项中,A2符合格式Summary!A2

  2. Combo5总和与(Bonus!E2+Bonus!E2)相同的单元格(Bonus!E2+Bonus!F2)

  3. 我没有记录初始嵌套的If来比较它为什么不起作用。我明白了:

  4. 最终嵌套:

        =IF(Data!$C$1=1,Data!$B$3*Bonus!D2+Data!$B$4*(Bonus!E2+Bonus!F2),IF(Data!$C$1=2,IF(SUM(Bonus!B2:C2)<1,0,1)*Data!$B$6+Data!B5,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(Summary!A2,Bonus!$A$2:$D$5,4,FALSE)*Data!$B$3+Data!$B$4*(Bonus!E2+Bonus!F2)),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!F2)*VLOOKUP(VLOOKUP(Summary!A2,Data!$A$16:$B$19,2,FALSE),Data!$A$8:$C$11,3,FALSE),VLOOKUP(B2,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!F2)*VLOOKUP(VLOOKUP(Summary!A2,Data!$A$16:$B$19,2,FALSE),Data!$A$8:$C$11,3,FALSE)))))