If I extend the keywords list to include blanks, I don't get the 0's you say you are getting.
Also, do not use whole columns are extra large ranges as this will slow down the recalculations considerably.
You can create a dynamic range that "grows" with the addition or removal of keywords in the list.
To do that go to Insert|Name|Define and enter the word Keywords in the names in this workbook field... and enter formula:
=OFFSET(Sheet1!$C$1,1,0,COUNTA(Sheet1!$C:$C)-1,1)
in the source field.
Then change the formula in D2 to:
=SUBSTITUTE(SUBSTITUTE(TRIM(ACONCAT(IF(ISNUMBER(FIND(Keywords,B3)),SUBSTITUTE(Keywords," ","^^"),"")," "))," ",", "),"^^"," ")
Bookmarks