2014-11-16 3 views
0

У меня возникла проблема с электронной таблицей Excel IF. Я надеюсь, что кто-то сможет это исправить. Проблема либо была ")""(" или ",", но теперь это «для многих аргументов»Excel Excel ошибка функции IF

=IF(C8<=0,0,C8,IF(C8=E7,C8*F6,0,IF(C8=E8,(F7*(C8-(C8*F6))),0,IF(C8=E9,(F8*(C8-(F7*(C8-(C8*F6))))),0,IF(C8>E9,(F9*(C8-(F8*(C8-(F7*(C8-(C8*F6))))))),0,) 

Функция электронной таблицы для федеральных налогов, если это помогает любому.

C8= original amount 
E7= maximum tax bracket amount 
F6= percent amount 
E8= Next max tax bracket amount 
F7= percent amount 
E9= Next maximum tax bracket 
F8= Percent amount 


Federal Tax Rate: single   
Lower Rate 

$0.00  10% 
$9,075.00 15% 
$36,900.00 25% 
$89,350.00 28% 

Надеюсь, изменения могут помочь с любыми ответами, я ценю любое усилие!

Правильный результат для функции If

=IF($C$8<=0,0,IF($C$8=$E$7,$C$8*$F$6,IF($C$8=$E$8,($F$7*($C$8-($C$8*$F$6))),IF($C$8=$E$9,($F$8*($C$8-($F$7*($C$8-($C$8*$F$6))))),IF($C$8>$E$9,($F$9*($C$8-($F$8*($C$8-($F$7*($C$8-($C$8*$F$6))))))),0))))) 
+0

Никогда не слышал о «слишком много аргументов» в Excel. Как правило, он очень стабилен, и он может либо сработать, либо неправильно выполнить эту функцию. Это настоящая ошибка? – ggdx

+0

Да, эта ошибка существует. «Вы вводили слишком много аргументов для этой функции. Чтобы получить помощь ...» И да, у него есть проблема с тем, как он использует эту функцию. – Dijkgraaf

+0

Хорошо, теперь дайте нам слова, что вы хотите, чтобы формула делала. Например. Если исходная сумма меньше 0, то это еще что. – Dijkgraaf

ответ

1

В Excel функции IF имеет формат

=IF(logical_test, [value_if_true], [value_if_false]) 

Глядя на вашу формулу

=IF(C8<=0, <--Condition 
    0, <--True 
    C8, <--False 
    IF(<-- Too many arguments 
     C8=E7, <--Condition 
     C8*F6, <--True 
     0,  <--False 
     IF( <-- Too many arguments 
      C8=E8,   <--Condition 
      (F7*(C8-(C8*F6))) <--True 
      ,0   <--False 
      ,IF(   <-- Too many arguments 
       C8=E9,    <--Condition 
       (F8*(C8-(F7*(C8-(C8*F6))))), <--True 
       0,    <--False 
       IF(   <-- Too many arguments 
        C8>E9,     <--Condition 
        (F9*(C8-(F8*(C8-(F7*(C8-(C8*F6))))))) <--True 
        ,0          <--False 
        ,     <--Too many arguments (excess comma) 
       ) 

Как n8 указано в Комментарии. Вы не можете иметь 3 запятых в инструкции «IF». Если вы хотите, чтобы гнездиться другой «IF» заявление в вас должны поставить его в либо «TRUE» или «FALSE» область, а не после того, как (как вы сделали)

Может быть, вы имели в виду

=IF 
(
    C8<=0, <-- logical test 
    C8,  <-- value if true 
    IF  <-- value if false 

Что вы можете сделать, это предоставить каждой ячейке, используемой в формуле, метку, а затем использовать эту метку в формуле и постепенно наращивать ее. Начало с одним, если

=IF(OriginalAmount<=0,0,OriginalAmount) 

То есть, если OriginalAmount меньше 0 возвращает 0, в противном случае показать OriginalAmount

Затем добавить новое условие и результаты, либо в истинной или ложной части.

=IF(OriginalAmount<=0,0,IF(condition,true,false)) 
+0

Прошу прощения, не могли бы вы уточнить? Должна ли формула везде, где есть 0, просто IF? – Echwaz

+0

Вам нужно уточнить свой вопрос. Если C8 <= 0, то что вы хотите, чтобы оно было 1) когда true, 2) что вы хотите, когда false. – Dijkgraaf

+0

В рамках уравнения я первоначально хотел, чтобы оператор IF прочитал, что исходное число было ниже нуля, и это было невозможно. К сожалению, мне нужна ячейка, чтобы сформулировать различные скорректированные доходы, если число, на которое оно ссылалось, было выше этого. Хватит беспорядок формулы, пытаясь вычислить каждый IF. – Echwaz