SOLVED

Excel formula - returning multiple text strings in a cell

Copper Contributor

Hi, Newbie here. Is have a cell that could contain apples and/or oranges and/or pears. I'm able to use an IF formula to extract either apples or oranges or pears but get a false value when the cell contains 'apples and oranges'. Is there a way to extract such a combination out of a cell?

7 Replies

@moncho47 

 

Could you post a representative spreadsheet that illustrates what you're describing. One that works on the one hand, but not on the other. It's hard to diagnose without actually seeing and experiencing the reality, no matter how clear your description is (and it's pretty good)...

 

I do realize that your apples and oranges is meant as an example, but I'm having a hard time visualizing why you can make the one condition work, but not the other.

@moncho47 If you do not care for the exact order of occurrence of the found texts in the cell, the attached workbook may return the results you want (use the formula in the last column, assuming that you have a list of your search texts in cell D1, E1, F1). It is always better to have the search texts listed and use reference in the formula to those cells rather than hardcoded. You can always expand the list of your search texts and simply add more components to the formula.

@mathetesThank you for replying. Much appreciated. I've attached an example of what I'm trying to get at. Hope it makes sense. I'm amazed at what Excel can do but not sure if what I'm hoping to do is beyond it (I doubt it!)

@hynguyenThank you for taking the time to build this example. It looks very complicated. I'll try to see if I can use it in the example I've just attached. Much appreciated.

best response confirmed by moncho47 (Copper Contributor)
Solution

@moncho47 

As variant if add list of possible variant in column O, and assuming your version of Excel supports TEXTJOIN,

image.png

in M2 is

=IF(
   LEN(TEXTJOIN(", ",1,IF(COUNTIF(B2,"*"&$O$2:$O$4&"*"),$O$2:$O$4,"")))=0,
   "apple",
   TEXTJOIN(", ",1,IF(COUNTIF(B2,"*"&$O$2:$O$4&"*"),$O$2:$O$4,""))
)

and drag it down.

@moncho47I tried to show the thought process in producing the desired output in separate columns so that you can understand the ultimate formula. You only have to copy the formula in column H (as below) to where you want to display your result and change $D$1 to "apple", $E$1 to "orange", $F$1 to "pear" if you prefer hardcoding them. Note that the cells containing your text is assumed to be in column A, otherwise change its reference in the formula as well. I think this formula is not at all complicated :)

=TEXTJOIN("/",TRUE,IF(ISNUMBER(SEARCH($D$1,A2)),$D$1,""),IF(ISNUMBER(SEARCH($E$1,A2)),$E$1,""),IF(ISNUMBER(SEARCH($F$1,A2)),$F$1,""))

Thank you hynguyen.
1 best response

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

@moncho47 

As variant if add list of possible variant in column O, and assuming your version of Excel supports TEXTJOIN,

image.png

in M2 is

=IF(
   LEN(TEXTJOIN(", ",1,IF(COUNTIF(B2,"*"&$O$2:$O$4&"*"),$O$2:$O$4,"")))=0,
   "apple",
   TEXTJOIN(", ",1,IF(COUNTIF(B2,"*"&$O$2:$O$4&"*"),$O$2:$O$4,""))
)

and drag it down.

View solution in original post