Forum Discussion
Wildcard in Match
- Dec 16, 2019
Wyn Hopkinsshould be around and starting his day about now.
My comments would be that I would expect 'Mylist' to refer to a single column of keywords (your INDEX formula has only a row parameter). I would expect the row number to be one of {1;2} so, to start with, you could use this array constant in place of ROW($1:$2) [number larger than the length of your keyword list will give rise to #REF! errors]. The final point is that I expected that it should be the elements of 'Mylist' that you are searching for in the text description. Overall, something like
= INDEX( Mylist, SUMPRODUCT( ISNUMBER( SEARCH(Mylist, Description) ) * {1;2} ) )
Can you clarify what you mean by extract the word?
- Wyn HopkinsDec 15, 2019MVP
That's a tricky one
There's a good article on it here
https://www.myonlinetraininghub.com/excel-search-string-for-a-list-of-words
- neiljacobsonDec 16, 2019Copper Contributor
Wyn HopkinsNow I get a #Name error. Here is the screenshot https://www.dropbox.com/s/azv3nzpo8poa7s5/Screenshot%202019-12-16%2008.22.33.png?dl=0
- PeterBartholomew1Dec 16, 2019Silver Contributor
A formula that could now be added to Mynda's solution possibilities is
= TEXTJOIN( ", ", TRUE, IF( ISNUMBER( SEARCH( list, text ) ), list, "" ) )
or, if one really wishes to exploit the latest functionality
= FILTER( list, ISNUMBER( SEARCH( list, text ) ) )
- Wyn HopkinsDec 16, 2019MVP
Nice PeterBartholomew1 ,
TEXTJOIN must be array entered in "old" Excel (Ctrl Shift Enter)
{= TEXTJOIN( ", ", TRUE, IF( ISNUMBER( SEARCH( list, text ) ), list, "" ) )}
Good use of FILTER too (not widely available yet neiljacobson )
Could also wrap that FILTER in a TRANSPOSE to get single row results (or again use TEXT join)