You need to sign in to do that
Don't have an account?
brkandivy
Substitute function in a field update formula
I am trying to do more than one substitution in a field update formula and am having difficulty getting it correct. This is what I have:
OR(Contains(Name ,'Duplicate -'), SUBSTITUTE(Name,"Duplicate -"),
(Contains(Name ,' - Duplicate'), SUBSTITUTE(Name," - Duplicate"),"")))
All help is greatly appreciated.
Thanks
Sorry, this is the code I used where the first two lines work and not the third.
IF ( Contains( Name , 'Duplicate -' ), SUBSTITUTE( Name, "Duplicate -", "" ) ,
IF ( Contains( Name , ' - Duplicate' ), SUBSTITUTE( Name, " - Duplicate", "" ),
IF ( Contains( Name , 'CSD ' ), SUBSTITUTE( Name , "CSD ", "Community School District" ), Name )))
All Answers
Check the code you pasted, you have more closing brackets than the ones you have opened.
Regards.
I have spent several hours with this. Unfortunately, when I take out the extra parentheses, I see an error to add them back in. So, when I use this code:
OR(Contains(Name ,'Duplicate -'), SUBSTITUTE(Name,"Duplicate -"),
(Contains(Name ,' - Duplicate'), SUBSTITUTE(Name," - Duplicate"),""))
I see this error: Error: Syntax error. Missing ')' and it wants it placed after the second contains statement before the comma. The comma highlights with the error. So, if I add a parenthesis there, then I get a completely different error as below.
OR(Contains(Name ,'Duplicate -'), SUBSTITUTE(Name,"Duplicate -"), (Contains(Name ,' - Duplicate')), SUBSTITUTE(Name," - Duplicate"),"")
Error: Incorrect number of parameters for function 'SUBSTITUTE()'. Expected 3, received 2
of course, because SUBSTITUE needs
1. Text where you want to perform the replacement
2. Text you want to search
3. Text to replace what you have searched.
and you are only providing 'Name' as first parameter, and 'Duplicate' as second
Regards
Thanks so much for your help, but its still not working. I must not be understanding what you posted.
Here is what I have now:
OR (Contains(Name ,'Duplicate -'), SUBSTITUTE(Name,"Duplicate -"),"") ,
(Contains(Name ,' - Duplicate'), SUBSTITUTE(Name," - Duplicate"),"")
This is the error I see now: Error: Syntax error. Extra ','
The comma is highlighted, so I take that out and get this error: Error: Syntax error. Extra '('
Take that out and I see this error: Error: Syntax error. Extra Contains
This is a vicious cycle that keeps going and basically strips away my second statement.
SFDC rreeeaaallly needs to make this simpler for those of us that are expected by our employers to be able to do this stuff when we are not programmers.
what about...
or
Regards
(I'm not sure if that is the behaviour you are looking for, but it is what looks like to me, if not, please explain the expected result)
Thanks that worked.
Now I have added a third line, and its saves with no errors, but the third line doesn't work. So, I go to an account, and type - Duplicate after the account name, and that is removed as I expected. If I type CSD in the Accound name, it doesn't get removed. So the first two lines in the code work, but not the third. I have about 50 scenarios to add to this, which is why I am trying to do this in one or two updates instead of 50.
Sorry, this is the code I used where the first two lines work and not the third.
IF ( Contains( Name , 'Duplicate -' ), SUBSTITUTE( Name, "Duplicate -", "" ) ,
IF ( Contains( Name , ' - Duplicate' ), SUBSTITUTE( Name, " - Duplicate", "" ),
IF ( Contains( Name , 'CSD ' ), SUBSTITUTE( Name , "CSD ", "Community School District" ), Name )))
I don't see why is not working.
Have you tried to swap CSD with one of the Duplicate ones?
Have you checked that it actually has "CSD{blank space}" within the name field? (note that Salesforce cut out the last blank spaces, so unless you have more characters afterwards, white spaces will not be stored, making your third condition not to trigger.
Regards
Yeah, I did try to remove the space and it still didn't work.
However, I tried switching the order of the 2nd duplicate with the CSD and the CSD worked and not the duplicate. So, my best guess now, is that you can only string two together. Better than one by itself, but it would be nice to string more than two.
Thanks so much for your help!!
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(Name,"CSD", "Community School District"),"Duplicate -","" ),"- Duplicate","")