function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Chad ReynoldsChad Reynolds 

Scoring Field Too Big to Compile

Created a formula field on my account object to assign an account score based on the first 3 digits of the NAICS code. Cannot get it under 5,000 characters! Currently sitting at 7,300. Formula works as expected when I split it up into two fields, however the business wants to see the calc in one field. I know the worst case scenario is creating a workflow rule to update a static field and then reference that in the formula, but wanted to see if anyone can point out where I can save some characters in this bad boy! Thank you for helping in advance.

IF(BEGINS( NaicsCode , "221")  ||  BEGINS( NaicsCode , "333")||  BEGINS( NaicsCode , "519")||  BEGINS( NaicsCode , "523")||  BEGINS( NaicsCode , "531"),95,
IF(BEGINS( NaicsCode , "525"),85,
IF(BEGINS( NaicsCode , "211")||  BEGINS( NaicsCode , "237")||  BEGINS( NaicsCode , "326")||  BEGINS( NaicsCode , "517")||  BEGINS( NaicsCode , "533")||  BEGINS( NaicsCode , "999"),80,
IF(BEGINS( NaicsCode , "236")||  BEGINS( NaicsCode , "321")||  BEGINS( NaicsCode , "322")||  BEGINS( NaicsCode , "325")||  BEGINS( NaicsCode , "332")||  BEGINS( NaicsCode , "424")||  BEGINS( NaicsCode , "518")||  BEGINS( NaicsCode , "524"),75,
IF(BEGINS( NaicsCode , "113"),72,
IF(BEGINS( NaicsCode , "454")||  BEGINS( NaicsCode , "511")||  BEGINS( NaicsCode , "522")||  BEGINS( NaicsCode , "562"),70,
IF(BEGINS( NaicsCode , "327")||  BEGINS( NaicsCode , "334")||  BEGINS( NaicsCode , "481")||  BEGINS( NaicsCode , "492"),65,
IF(BEGINS( NaicsCode , "487"),62,
IF(BEGINS( NaicsCode , "238")||  BEGINS( NaicsCode , "337")||  BEGINS( NaicsCode , "446")||  BEGINS( NaicsCode , "541")||  BEGINS( NaicsCode , "561"),60,
IF(BEGINS( NaicsCode , "444")||  BEGINS( NaicsCode , "493")||  BEGINS( NaicsCode , "711")||  BEGINS( NaicsCode , "924"),55,
IF(BEGINS( NaicsCode , "311"),52,
IF(BEGINS( NaicsCode , "313")||  BEGINS( NaicsCode , "323")||  BEGINS( NaicsCode , "324")||  BEGINS( NaicsCode , "622"),50,
IF(BEGINS( NaicsCode , "486"),47,
IF(BEGINS( NaicsCode , "339")  ||  BEGINS( NaicsCode , "423")||  BEGINS( NaicsCode , "442")||  BEGINS( NaicsCode , "488")||  BEGINS( NaicsCode , "515")||  BEGINS( NaicsCode , "551")||  BEGINS( NaicsCode , "721")||  BEGINS( NaicsCode , "811")||  BEGINS( NaicsCode , "812")||  BEGINS( NaicsCode , "921"),45,
IF(BEGINS( NaicsCode , "312")  ||  BEGINS( NaicsCode , "443")||  BEGINS( NaicsCode , "448")||  BEGINS( NaicsCode , "451")||  BEGINS( NaicsCode , "452")||  BEGINS( NaicsCode , "512")||  BEGINS( NaicsCode , "621")||  BEGINS( NaicsCode , "624")||  BEGINS( NaicsCode , "813")||  BEGINS( NaicsCode , "925"),40,
IF(BEGINS( NaicsCode , "482"),37,
IF(BEGINS( NaicsCode , "212")||  BEGINS( NaicsCode , "213")||  BEGINS( NaicsCode , "315")||  BEGINS( NaicsCode , "336"),35,
IF(BEGINS( NaicsCode , "453")||  BEGINS( NaicsCode , "532")||  BEGINS( NaicsCode , "926"),30,
IF(BEGINS( NaicsCode , "111")  ||  BEGINS( NaicsCode , "112")||  BEGINS( NaicsCode , "115")||  BEGINS( NaicsCode , "335")||  BEGINS( NaicsCode , "484")||  BEGINS( NaicsCode , "485")||  BEGINS( NaicsCode , "611")||  BEGINS( NaicsCode , "713")||  BEGINS( NaicsCode , "922"),25,
IF(BEGINS( NaicsCode , "483"),22,
IF(BEGINS( NaicsCode , "331")||  BEGINS( NaicsCode , "491")||  BEGINS( NaicsCode , "623")||  BEGINS( NaicsCode , "722"),20,
IF(BEGINS( NaicsCode , "928"),17,
IF(BEGINS( NaicsCode , "114")||  BEGINS( NaicsCode , "441")||  BEGINS( NaicsCode , "445")||  BEGINS( NaicsCode , "447")||  BEGINS( NaicsCode , "712")||  BEGINS( NaicsCode , "923"),15,
IF(BEGINS( NaicsCode , "316"),12,
IF(BEGINS( NaicsCode , "314"),10,
NULL)))))))))))))))))))))))))
Best Answer chosen by Chad Reynolds
Chad ReynoldsChad Reynolds
Good Morning All,

After sleeping on the issue above, I was able to solve it using the CASE function (duh!). 

I created a new formula field that gave me the first 3 digits of the NAICS code. Then in my second field, I simply used the case function to give me the score I wanted based on the first three digits of the naics.

CASE( NAICS_First_3__c , 221, 95, 333, 95,519,95,523,95,531,95,525,85,211,80,237,80,326,80,517,80,533,80,999,80,236,75,321,75,322,75,325,75,332,75,424,75,518,75,524,75,113,72,454,70,511,70,522,70,562,70,327,65,334,65,481,65,492,65,487,62,238,60,337,60,446,60,541,60,561,60,444,55,493,55,711,55,924,55,311,52,313,50,323,50,324,50,622,50,486,47,339,45,423,45,442,45,488,45,515,45,551,45,721,45,811,45,812,45,921,45,312,40,443,40,448,40,451,40,452,40,512,40,621,40,624,40,813,40,925,40,482,37,212,35,213,35,315,35,336,35,453,30,532,30,926,30,111,25,112,25,115,25,335,25,484,25,485,25,611,25,713,25,922,25,483,22,331,20,491,20,623,20,722,20,928,17,114,15,441,15,445,15,447,15,712,15,923,15,316,12,314,10,
42
)