嵌套IF()公式时出错

我只是把一个简单的电子表格放在一起,根据几个不同的乐队来计算所欠的税款。 我有一个“开票金额”单元格,它接受年度开票,然后根据以下条件对其应用税率:

如果“开票金额”低于10,600,则欠税= 0

如果“发票金额”高于10,600小于42,386,则欠税额=((发票金额 – 税收抵免)/ 100)* 20

如果“发票金额”等于或大于42,386比所欠税额=((42,386-税收抵免)* 20)+((发票金额-42,386)* 40)

我可以在这里忽略一些非常基本的东西,但是可以肯定的是 – 税收减免是10,600 – 任何超过42,386的税款都是在20%的税率下计算出来的,然后在42,386以上的税收收取40 % 在上面…

我input的越多,我就越困惑。 无论如何,这是我的优秀公式:

InvoicedTotal = P5 TaxAllowance (10600) ='UK Tax Figures'!C3 TaxAllowanceUpperBand (42386) ='UK Tax Figures'!G5 TaxAllowance Upper Band - Tax Allowance (31784) = H5 UpperTaxAllownace Band (42386.01) = ='UK Tax Figures'!F5 =IF ((P5)<'UK Tax Figures'!C3, 0, IF(P5>='UK Tax Figures'!C3<'UK Tax Figures'!G5, ((P5-'UK Tax Figures'!C3)/100)*20, IF(P5>='UK Tax Figures'!F5, ((H5/100)*20)+((P5-'UK Tax Figures'!F5)*40)) 

此刻,我正在疯狂的意想不到的价值回来,所以计算显然是非常错误的…但是我现在看不到树的木材,所以如果有人有任何想法,我会非常感激! 现在有点疯狂!

把你的公式放到在线Excel公式美化器中,我注意到你公式的几个问题:

 =IF ( ( P5 ) < 'UK Tax Figures'!C3 , 0 , IF( P5 >= 'UK Tax Figures'!C3 < UKTaxFigures!G5, ( ( P5 - UKTaxFigures!C3 ) / 100 ) * 20, IF( P5 >= UKTaxFigures!F5, ( ( H5 / 100 ) * 20 ) + ( ( P5 - UKTaxFigures!F5 ) * 40 ) ) 
  • 首先,你缺less两个closures的禁忌
  • 此外,在P5>='UK Tax Figures'!C3<'UK Tax Figures'!G5 ,您需要将其更改为AND(P5>=UKTaxFigures!C3;UKTaxFigures!C3<UKTaxFigures!G5)
  • 看看你如何参考上面的工作表,我注意到你似乎有两张不同的工作表 – 一个在工作表名中的单词之间有空格,另一个没有。 我怀疑事实并非如此,所以你应该从公式中删除这些空格。
  • 你也不符合你是否在你的工作表名称周围使用撇号( ' )。 在一个单元格中尝试你的公式,Excel似乎并不喜欢它们,所以他们应该也可以去。
  • 如果它是错误的,那么你的内在if语句中似乎缺less一个返回值。

猜一下你想要的公式返回什么,我结束了这个公式:

 =IF(P5<UKTaxFigures!C3;0;IF(AND(P5>=UKTaxFigures!C3;UKTaxFigures!C3<UKTaxFigures!G5);((P5-UKTaxFigures!C3)/100)*20;IF(P5>=UKTaxFigures!F5;((H5/100)*20)+((P5-UKTaxFigures!F5)*40);0))) 

在美化器中看起来像这样:

 =IF( P5 < UKTaxFigures!C3; 0; IF( AND( P5 >= UKTaxFigures!C3; UKTaxFigures!C3 < UKTaxFigures!G5 ); ( ( P5 - UKTaxFigures!C3 ) / 100 ) * 20; IF( P5 >= UKTaxFigures!F5; ( ( H5 / 100 ) * 20 ) + ( ( P5 - UKTaxFigures!F5 ) * 40 ); 0 ) ) ) 

这是接近你想要的东西吗?

作为build议的最后一句话,写一个这样的公式是一个绝对的痛苦 – 相反,你可以尝试一点一点地构build公式,将公式的每个部分存储在一个单元格中,以查看它们是否都起作用。 然后你可以剪切和粘贴,使它们都适合在一个单元格中。 即如果你在A1单元格中存储:

 =IF(P5>=UKTaxFigures!F5;((H5/100)*20)+((P5-UKTaxFigures!F5)*40);0) 

然后你可以放

 =IF(AND(P5>=UKTaxFigures!C3;UKTaxFigures!C3<UKTaxFigures!G5);((P5-UKTaxFigures!C3)/100)*20;A1) 

在A2和这个

 =IF(P5<UKTaxFigures!C3;0;A2) 

在A3。 如果需要的话,你可以select公式甚至更远,使他们更可读。 然后,最后你只要复制单元格中的公式,并用它们replace引用。

请注意,我并不是100%确定所有事情都是正确的,没有正确的数据就难以跟踪所有的缺陷和结果。 但这至less应该给你一个好的起点。