SOLVED

Calculated column with check if column value contains a string

Copper Contributor

Good morning to all,

I would like to create a calculated column where I go to check the content of an existing column (Format). The check I need to do is IF CONTAINS.

If the format column contains the word "CD", then my column will have a value of "CD", otherwise my column will have a value of "XX".

I've tried the formula

=IF(ISERROR(FIND("CD",[Format])),"XXX","CD") but it doesn't work.

 

I've also tried

=IF(NUM.IS(FIND("CD";[ Format]))); "CD";" XX"), but that doesn't work either.

 

Sharepoint goes into error.

What am I doing wrong?

Thanks in advance

8 Replies

@AndreaPJ the following works for me:

 

=IF(ISERROR(FIND("CD",Format)),"XX","CD")

 

calculatedColumnCDXX.png

 

Coincidentally, XX was on my first diplomatic license plate in Czechoslovakia in 1981. A few years later after promotion I qualified for a CD plate 🙂

 

XX-37-53 Lada.jpg

 

Rob
Los Gallardos
Microsoft Power Automate Community Super User.
Principal Consultant, SharePoint and Power Platform WSP Global (and classic 1967 Morris Traveller driver)

Is your "Format" column a simple text column?
Since the SharePoint site is in Italian, I have to enter the equivalent formula in Italian; Maybe that's the problem?
Bye and thanks!
No, it's a choice column. Make sure in your calcuclated column you are uysing the internal name of the column (go to List settings, select the column and the internal name is after field= in the address bar).
best response confirmed by AndreaPJ (Copper Contributor)
Solution

@AndreaPJ Are you getting the syntax error while using first formula you shared in your question? Or it is not returning correct results as expected.

 

Note:

  1. Sometimes comma( , ) does not work in formula (it is based on language or regional settings on your site). So in that case use semicolon( ; ) instead of comma( , ).
  2. Use correct display name of your SharePoint columns in above formula.
  3. Wrap column names inside [] if your column name has space in it. For example: [My Column Name].

If it is an issue due to comma, try using formula like: 

 

=IF(ISERROR(FIND("CD";[Format]));"XX";"CD")

OR try using this once (with comma and with semicolon): 

=IF(ISNUMBER(FIND("CD",[Format])),"CD","XX")

 


Please click Mark as Best Response & Like if my post helped you to solve your issue. This will help others to find the correct solution easily. It also closes the item. If the post was useful in other ways, please consider giving it Like.

Hi , thank you very much ; this is good!
=IF(ISERROR(FIND("CD";[Format]));"XX";"CD"))
Just for information: the "display name" is also fine ("internal name" would be field_4) .
Very good!

Now I'd like to make a nested "if".
If there is the string "CD" in the Format field, then write "CD", otherwise, If there is ALSO the string "LP" in the same field, then write "LP". What is the fastest way to make nested "ifs" in calculated columns? T
thank you very much again

@AndreaPJ Try calculated column formula like this: 

 

=IF(ISERROR(FIND("CD";[Format]));IF(ISERROR(FIND("LP";[Format]));"XX";"LP");"CD")

 


Please click Mark as Best Response & Like if my post helped you to solve your issue. This will help others to find the correct solution easily. It also closes the item. If the post was useful in other ways, please consider giving it Like.

@Rob_Elliott 

 

Small correction - SharePoint calculated column formula works with display name of columns and not internal names.

 

While, JSON formatting works with internal names and not display names.


Please click Mark as Best Response & Like if my post helped you to solve your issue. This will help others to find the correct solution easily. It also closes the item. If the post was useful in other ways, please consider giving it Like.

Thanks again,
It works great; I also added an "AND" condition and got the result I wanted.
Very kind

=IF(ISERROR(FIND("CD";[Format]));
IF(AND( ISERROR(FIND("LP";[Format]));ISERROR(FIND("10";[Format]));ISERROR(FIND("12";[Format]));ISERROR(FIND("7";[Format])) );
"MC";"VINYL");
IF(ISERROR(FIND("LP";[Format]));
"CD";"VINYL"))
1 best response

Accepted Solutions
best response confirmed by AndreaPJ (Copper Contributor)
Solution

@AndreaPJ Are you getting the syntax error while using first formula you shared in your question? Or it is not returning correct results as expected.

 

Note:

  1. Sometimes comma( , ) does not work in formula (it is based on language or regional settings on your site). So in that case use semicolon( ; ) instead of comma( , ).
  2. Use correct display name of your SharePoint columns in above formula.
  3. Wrap column names inside [] if your column name has space in it. For example: [My Column Name].

If it is an issue due to comma, try using formula like: 

 

=IF(ISERROR(FIND("CD";[Format]));"XX";"CD")

OR try using this once (with comma and with semicolon): 

=IF(ISNUMBER(FIND("CD",[Format])),"CD","XX")

 


Please click Mark as Best Response & Like if my post helped you to solve your issue. This will help others to find the correct solution easily. It also closes the item. If the post was useful in other ways, please consider giving it Like.

View solution in original post