0

I'm trying to write the following formula: All the states have its own rate, but for Amazonas I have more than 1 rate that dependes on the engine(motor). So, if the state is Amazonas and the engine contains 1.0 , then the rate (formula field) is 2.0, otherwise, 3.0. Here is my formula:

IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "São Paulo"), 0.04, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Rio de Janeiro"), 0.04, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Minas Gerais"), 0.04, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Rio Grande do Sul"), 0.03, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Roraima"), 0.03, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Amapá"), 0.03, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Paraná"), 0.025, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Pará"), 0.025, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Bahia"), 0.025, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Alagoas"), 0.025, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Pernambuco"),0.025, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Maranhão"), 0.025, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Ceará"), 0.025, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Piauí"), 0.025, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Rio Grande do Norte"), 0.025, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Santa Catarina"),0.02, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Acre"), 0.02, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Sergipe"), 0.02, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Espírito Santo"), 0.01, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Rondônia"), 0.01, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Paraíba"), 0.01, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Mato Grosso do Sul"), 0.00, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Mato Grosso"), 0.00, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Tocantins"), 0.00, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Goiás"), 0.00, IF(AND(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Amazonas"),(CONTAINS(Vers_o_do_Ve_culo__c , "1.0")), 0.02, 0.03))))))))))))))))))))))))))

Error: Incorrect parameter type for function 'AND()'. Expected Boolean, received Number

If I take off the AND( , I receive other syntax error message: Error: Incorrect number of parameters for function 'IF()'. Expected 3, received 4

What I'm doing wrong? :(

Thanks !!!

1 Answer 1

-1

IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "São Paulo"), 0.04, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Rio de Janeiro"), 0.04, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Minas Gerais"), 0.04, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Rio Grande do Sul"), 0.03, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Roraima"), 0.03, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Amapá"), 0.03, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Paraná"), 0.025, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Pará"), 0.025, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Bahia"), 0.025, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Alagoas"), 0.025, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Pernambuco"),0.025, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Maranhão"), 0.025, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Ceará"), 0.025, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Piauí"), 0.025, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Rio Grande do Norte"), 0.025, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Santa Catarina"),0.02, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Acre"), 0.02, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Sergipe"), 0.02, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Espírito Santo"), 0.01, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Rondônia"), 0.01, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Paraíba"), 0.01, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Mato Grosso do Sul"), 0.00, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Mato Grosso"), 0.00, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Tocantins"), 0.00, IF(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Goiás"), 0.00, IF(AND(ISPICKVAL(Conta_Propriet_ria_do_Veiculo__r.Estado__c , "Amazonas"),CONTAINS(Vers_o_do_Ve_culo__c , "1.0")), 0.02, 0.03))))))))))))))))))))))))))

4
  • Sorry, I didn't paste the complete formula. The other states have its own rate, but the Amazonas State have more than 1, that depends on the engine. If the engine contains 1.0 , so the rate is 2% , otherwise it will be 3%. Nov 27, 2015 at 13:37
  • No problem. I edited my answer. Nov 27, 2015 at 13:48
  • I received a syntax error: Incorrect number of parameters for function 'CASE()'. Expected 50, received 51 Nov 27, 2015 at 14:58
  • Ok. I think my last update is the one! I hope so. Nov 27, 2015 at 15:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .