ShowAll Questionssorted byDate Posted
Vincent Fruchier

# How to make a formula with if to compare the biggest value ?

Hi all,

I have to create a text forfula with boulean fields.
The aim is to figure out which field is the biggest and, according to it, to resend a text value.

I have to compare four fields :

A
B
C
D

If A is the biggest, resend the green value
If B is the biggest, resend the red value
If C is the biggest, resend the blue value
If D is the biggest , resend the orange value

I have made a test to compare A and B but it's not working.

IF(A__c>B__c>C__c,"vert","IF( B__c>C>A__C,"ed","iF(....)")

Is it harder with all the parameters...

Also, do you think that the logic of the formula is correct?

To anyone who will take the time to answer, thank you so much!.
Best Answer chosen by Vincent Fruchier
Steven Nsubuga
```CASE(
MAX(A__c , B__c,C__c ,D__c),
A__c ,'green',
B__c ,'red',
C__c ,'blue',
orange'
)```

Steven Nsubuga
```IF(MAX(A__c , B__c,C__c ,D__c) = A__c ,'green',
IF(MAX(A__c , B__c,C__c ,D__c) = B__c ,'red',
IF(MAX(A__c , B__c,C__c ,D__c) = C__c ,'blue',
IF(MAX(A__c , B__c,C__c ,D__c) = D__c ,'orange',
'NONE'))))```

Vincent Fruchier
Thanks for you response, I will try it :)
Steven Nsubuga
Great, choose it as a best answer if it works :)
Vincent Fruchier
Re,

I try it :

IF(MAX(Nombre_de_reponse_A__c ,Nombre_de_reponse_b__c, Nombre_de_r_ponse_C__c, Nombre_de_r_ponse_D__c) = Nombre_de_reponse_A__c ,'green',
IF(MAX(Nombre_de_reponse_A__c, Nombre_de_reponse_b__c,Nombre_de_r_ponse_C__c, Nombre_de_r_ponse_D__c) = Nombre_de_reponse_b__c,'red',
IF(MAX(Nombre_de_reponse_A__c ,Nombre_de_reponse_b__c, Nombre_de_r_ponse_C__c, Nombre_de_r_ponse_D__c) = Nombre_de_r_ponse_C__c ,'blue',
IF(MAX(Nombre_de_reponse_A__c ,Nombre_de_reponse_b__c, Nombre_de_r_ponse_C__c, Nombre_de_r_ponse_D__c) =  Nombre_de_r_ponse_D__c ,'orange',
'NONE'))))

I have an error message : Erreur : La formule compilée est trop volumineuse pour être exécutée (17 007 caractères). Taille maximale de 5 000 caractères
Steven Nsubuga
Change the API names of your fields to something shorter, for example change Nombre_de_reponse_B__c to B__c
Vincent Fruchier
I have the same problem with : IF(MAX(A__c ,B__c,C__c,D__c)= A__c ,'green',IF(MAX(A__c ,B__c,C__c,D__c)= B__c,'red',IF(MAX(A__c ,B__c,C__c,D__c)= C__c ,'blue',IF(MAX(A__c ,B__c,C__c,D__c)= D__c ,'orange','NONE'))))
Steven Nsubuga
Really!! The error has to do with hitting the 5000 character limit of a formula. It is not possible for this limit to be hit unless the fields in the formula refer to other formulas.
Vincent Fruchier
Yes, the field A B C D, it's other formula, this is the sum of check box  like this

( Q14_projet_equipe_D__c, 1,0 ) +
IF( Q15_difficulte_D__c, 1,0) +
IF( Q16_rare_d__c, 1, 0) +
IF( Q17_eviter_D__c , 1,0 ) +
IF( Q18_B__c , 1,0 ) +
IF( Q19_crainte_D__c , 1,0 ) +
IF( Q20_maitre_mot_D__c , 1,0 ) +
IF( Q21_deteste_D__c , 1,0 ) +
IF( d_imagination__c , 1,0 ) +
IF( d_interesse__c , 1,0 ) +
IF( d_intuition__c , 1,0 ) +
IF( d_palce__c , 1,0 ) +
IF( d_reveur__c , 1,0 )

I will delete the blank space

Vincent Fruchier
Always the same error message, I have 4 field like this formula : IF(Q14_projet_equipe_B__c,1,0)+IF(Q15_difficulte_B__c,1,0)+IF(Q16_rare_B__c,1,0)+IF(Q17_eviter_B__c,1,0)+IF(Q18_B__c,1,0)+IF(Q19_crainte_B__c,1,0)+IF(Q20_maitre_mot_B__c,1,0)+IF(Q21_deteste_B__c,1,0)+IF(b_affection__c,1,0)+IF(b_objectif__c,1,0)+IF(b_obstacle__c,1,0)+IF(b_reussi__c,1,0)+IF(c_decision__c,1,0)+IF(b_raison__c,1,0) to recap B for exemple
Steven Nsubuga
Try this
```CASE(
MAX(A__c , B__c,C__c ,D__c),
A__c ,'green',
B__c ,'red',
C__c ,'blue',
D__c ,'orange'
)```

If it fails then check out this Salesforce guide https://resources.docs.salesforce.com/204/latest/en-us/sfdc/pdf/salesforce_formula_size_tipsheet.pdf on how to reduce the size of the formula
Vincent Fruchier
It's better but I have this message Nombre de paramètres incorrect pour fonction 'Case()'. 8 attendu, 9 reçu, thans also for the guide
Steven Nsubuga
```CASE(
MAX(A__c , B__c,C__c ,D__c),
A__c ,'green',
B__c ,'red',
C__c ,'blue',
orange'
)```

This was selected as the best answer
Vincent Fruchier
I understand the logic thank's, now i have this message
La formule compilée est trop volumineuse pour être exécutée (5 987 caractères). Taille maximale de 5 000 caractères

It's again too long :p sorry i'm a beguiner in saleforces
Steven Nsubuga
This current formula is now as small as it can get.  You need to figure out how to shorten the other formulas. You need to get rid of 988 characters. It is no easy task. Take some time to read through this pdf https://resources.docs.salesforce.com/204/latest/en-us/sfdc/pdf/salesforce_formula_size_tipsheet.pdf to guide you as you examine the other formulas referenced by this formula.

Vincent Fruchier
Thanks 's a lot, now I have the good formula, I will resize my field :)